Dopo aver abilitato SAML o LDAP su Edge, puoi disabilitare l'autenticazione di base. Tuttavia, prima di disattivare l'autenticazione di base:
- Assicurati di aver aggiunto tutti gli utenti Edge, inclusi gli amministratori di sistema, al tuo IDP.
- Assicurati di aver testato accuratamente l'autenticazione IDP nell'interfaccia utente di Edge e nell'API di gestione di Edge.
- Se utilizzi il portale Apigee Developer Services (o semplicemente il portale), configura e testa l'IDP esterno sul portale per assicurarti che possa connettersi a Edge. Consulta Configurazione del portale per gli IdP esterni.
Visualizza il profilo di sicurezza attuale
Puoi visualizzare il profilo di sicurezza Edge per determinare la configurazione attuale e stabilire se l'autenticazione di base e un IDP esterno sono attualmente abilitati. Utilizza la seguente chiamata API di gestione Edge sul server di gestione Edge per visualizzare il profilo di sicurezza corrente 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 è quella mostrata 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 abilitata.
Disattiva l'autenticazione di base
Utilizza la seguente chiamata API di gestione Edge sul server di gestione Edge per disattivare l'autenticazione di base. Passa l'oggetto XML restituito nella sezione precedente come payload. L'unica differenza è che imposti <BasicAuthEnabled> su false, come mostrato 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 disattivato l'autenticazione di base, qualsiasi chiamata API di gestione Edge che trasmette 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 l'autenticazione di base
Se per qualsiasi motivo devi riattivare l'autenticazione di base, devi eseguire i seguenti passaggi:
- Accedi a qualsiasi nodo ZooKeeper di Edge.
- Esegui il seguente script bash per disattivare tutte le misure di sicurezza:
#! /bin/bash /opt/apigee/apigee-zookeeper/bin/zkCli.sh -server localhost:2181 <<EOF set /system/securityprofile <SecurityProfile></SecurityProfile> quit EOF
Vedrai un output 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...
- Riattiva l'autenticazione di base e l'autenticazione IDP esterna:
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. Tieni presente che l'autenticazione di base non funziona quando è abilitata la nuova esperienza Edge.