Disattivazione di Auth di base su Edge

Edge for Private Cloud v4.18.05

Dopo aver abilitato SAML 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 SAML.
  • Assicurati di aver testato accuratamente l'autenticazione SAML 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 SAML sul portale per assicurarti che possa connettersi a Edge. Consulta Configurazione del portale per l'utilizzo di SAML per comunicare con Edge.

Visualizzazione del profilo di sicurezza attuale

Puoi visualizzare il profilo di sicurezza Edge per determinare la configurazione attuale e stabilire se l'autenticazione di base e SAML 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 SAML, 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 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>, il che significa che l'autenticazione di base è ancora abilitata.

Disabilita l'autenticazione di base

Utilizza la seguente chiamata API di gestione Edge sul server di gestione Edge per disattivare l'autenticazione di base. Tieni presente che devi passare 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 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:

  1. Accedi a qualsiasi nodo ZooKeeper di Edge.
  2. Esegui questo 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...
  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.