Disabilita autenticazione di base su Edge

Dopo aver abilitato SAML o LDAP su Edge, puoi disattivare 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 a fondo l'autenticazione IDP nella nuova UI Edge e nell'API di gestione Edge.

Visualizzare il profilo di sicurezza corrente

Puoi visualizzare il profilo di sicurezza Edge per determinare la configurazione attuale e verificare 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 essere visualizzato 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.

Disattivare l'autenticazione di base

Utilizza la seguente chiamata API di gestione Edge sul server di gestione Edge per disattivare l'autenticazione di base.

Per disattivare l'autenticazione di base, devi passare l'oggetto XML restituito nella sezione precedente come payload. L'unica differenza è che devi impostare <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 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>

Riattivare l'autenticazione di base

Se per qualsiasi motivo devi riattivare l'autenticazione di base, devi eseguire i seguenti passaggi:

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

    Verrà visualizzato 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...
  3. 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. Per riportare la nuova UI Edge da SSO all'autenticazione di base, imposta AUTH_MODE=basic e MANAGEMENT_UI_SSO_ENABLED=n nel file di configurazione della nuova UI Edge, quindi esegui /opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-sso -f configFile seguito da /opt/apigee/apigee-service/bin/apigee-service edge-management-ui restart (oppure esegui /opt/apigee/apigee-setup/bin/setup.sh -p ue -f configFile).