Disattivazione di Auth di base su Edge

Edge per Private Cloud v4.19.01

Dopo aver attivato SAML su Edge, puoi disattivare l'autenticazione di base. Tuttavia, prima di disabilitare l'autenticazione di base:

  • Assicurati di aver aggiunto tutti gli utenti di Edge, inclusi gli amministratori di sistema, al tuo IdP SAML.
  • Assicurati di aver testato in modo approfondito l'autenticazione SAML sull'interfaccia utente e sull'API di gestione perimetrale.
  • Se utilizzi il portale Apigee Developer Services (o semplicemente il portale), configura e testa SAML sul portale per assicurarti che possa connettersi a Edge. Vedi Configurazione del portale per l'utilizzo di SAML per comunicare con Edge.

Visualizzazione del profilo di sicurezza attuale

Puoi visualizzare il profilo di sicurezza perimetrale per determinare la configurazione attuale e determinare se l'autenticazione di base e SAML sono attualmente abilitati. Utilizza la seguente chiamata API Edge Management su Edge Management Server per visualizzare il profilo di sicurezza attuale utilizzato da Edge:

curl -H "accept:application/xml" http://localhost:8080/v1/securityprofile -u sysAdminEmail:pWord

Se non hai ancora configurato SAML, la risposta è mostrata di seguito, a indicare che l'autenticazione di base è abilitata:

<SecurityProfile enabled="true" name="securityprofile">
    <UserAccessControl enabled="true">
    </UserAccessControl>
</SecurityProfile>

Se hai già attivato SAML, vedrai il tag <ssoserver> nell'output:

<SecurityProfile enabled="true" name="securityprofile">
    <UserAccessControl enabled="true">
        <SSOServer>
            <BasicAuthEnabled>true</BasicAuthEnabled>
            <PublicKeyEndPoint>/token_key</PublicKeyEndPoint>
            <ServerUrl>http://35.197.37.220:9099</ServerUrl>
        </SSOServer>
    </UserAccessControl>
</SecurityProfile>

Tieni presente che la versione con SAML abilitato mostra anche <BasicAuthEnabled>true</BasicAuthEnabled>, a indicare che l'autenticazione di base è ancora attiva.

Disattiva autenticazione di base

Utilizza la seguente chiamata API Edge Management su Edge Management Server per disabilitare l'autenticazione di base. Tieni presente che passi come payload l'oggetto XML restituito nella sezione precedente. L'unica differenza è che imposti <BasicAuthEnabled>false</BasicAuthEnabled>:

curl -H "Content-Type: application/xml"
http://localhost:8080/v1/securityprofile  -u sysAdminEmail:pWord -d
 '<SecurityProfile enabled="true" name="securityprofile">
  <UserAccessControl enabled="true">
    <SSOServer>
      <BasicAuthEnabled>false</BasicAuthEnabled>
      <PublicKeyEndPoint>/token_key</PublicKeyEndPoint>
      <ServerUrl>http://35.197.37.220:9099</ServerUrl>
  </SSOServer>
 </UserAccessControl>
</SecurityProfile>'

Dopo aver disabilitato l'autenticazione di base, qualsiasi chiamata API di gestione perimetrale che passa le credenziali di autenticazione di base restituisce il seguente errore:

<Error>
    <Code>security.SecurityProfileBasicAuthDisabled</Code>
    <Message>Basic Authentication scheme not allowed</Message>
    <Contexts/>
</Error>

Riattiva autenticazione di base

Se per qualsiasi motivo devi riattivare l'autenticazione di base, procedi nel seguente modo:

  1. Accedi a qualsiasi nodo Edge ZooKeeper.
  2. Esegui il seguente script bash per disattivare completamente la sicurezza:
    #! /bin/bash
    /opt/apigee/apigee-zookeeper/bin/zkCli.sh -server localhost:2181 <<EOF
    set /system/securityprofile <SecurityProfile></SecurityProfile>
    quit
    EOF

    L'output verrà visualizzato nel formato:

    Connecting to localhost:2181
    Welcome to ZooKeeper!
    JLine support is enabled
    WATCHER::
    WatchedEvent state:SyncConnected
    type:None path:null
    [zk: localhost:2181(CONNECTED) 0]
    set /system/securityprofile <SecurityProfile></SecurityProfile>
    cZxid = 0x89
    ...
    [zk: localhost:2181(CONNECTED) 1] quit
    Quitting...
  3. Riattiva l'autenticazione di base e l'autenticazione SAML:
    curl -H "Content-Type: application/xml" http://localhost:8080/v1/securityprofile
      -u sysAdminEmail:pWord -d '<SecurityProfile enabled="true" name="securityprofile">
      <UserAccessControl enabled="true">
      <SSOServer>
      <BasicAuthEnabled>true</BasicAuthEnabled>
      <PublicKeyEndPoint>/token_key</PublicKeyEndPoint>
      <ServerUrl>http://35.197.37.220:9099</ServerUrl>
      </SSOServer>
      </UserAccessControl>
      </SecurityProfile>'

    Ora puoi utilizzare di nuovo l'autenticazione di base.