Disabilita autenticazione di base su Edge

Dopo aver attivato SAML o LDAP 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.
  • Assicurati di aver testato accuratamente l'autenticazione IdP sull'interfaccia utente e sull'API di gestione perimetrale.
  • Se utilizzi il portale Apigee Developer Services (o semplicemente il portale), configura e testa il tuo IdP esterno sul portale per assicurarti che il portale possa connettersi a Edge. Consulta Configurare il portale per IdP esterni.

Visualizza il profilo di sicurezza attuale

Puoi visualizzare il profilo di sicurezza perimetrale per determinare la configurazione attuale e determinare se l'autenticazione di base e un IdP esterno sono attualmente abilitati. Usa 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 un IdP esterno, la risposta è come mostrato di seguito, il che significa che l'autenticazione di base è abilitata:

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

Se hai già abilitato un IdP esterno, l'elemento <ssoserver> dovrebbe apparire nella risposta:

<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 un IdP esterno abilitato mostra anche <BasicAuthEnabled>true</BasicAuthEnabled>, il che significa 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. Passi l'oggetto XML restituito nella sezione precedente come payload. L'unica differenza è che imposti <BasicAuthEnabled> su false, come illustrato nell'esempio seguente:

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 Basic, qualsiasi chiamata API di gestione perimetrale che passa le credenziali di autenticazione Basic 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, devi eseguire i seguenti passaggi:

  1. Accedi a qualsiasi nodo Edge ZooKeeper.
  2. Esegui il seguente script bash per disattivare tutte le opzioni di 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 IdP esterno:
    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 nuovamente l'autenticazione di base. Tieni presente che l'autenticazione di base non funziona quando è abilitata l'esperienza New Edge.