Disattivazione di Auth di base su Edge

Edge for Private Cloud v4.18.05

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 a fondo 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 Configurare il portale per utilizzare SAML per comunicare con Edge.

Visualizzazione del profilo di sicurezza corrente

Puoi visualizzare il profilo di sicurezza Edge per determinare la configurazione attuale e determinare se l'autenticazione di base e SAML sono attualmente abilitati. Usa la seguente chiamata all'API di gestione perimetrale 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 è 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à 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>, il che significa che l'autenticazione di base è ancora attivata.

Disattivare l'autenticazione di base

Utilizza la seguente chiamata all'API di gestione Edge sul server di gestione Edge per disattivare l'autenticazione di base. Tieni presente che come payload viene passato l'oggetto XML restituito nella sezione precedente. L'unica differenza è che devi impostare <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 Auth di base, qualsiasi chiamata all'API di gestione Edge che supera 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 svolgere i seguenti passaggi:

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

    Vedrai l'output nel seguente 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 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.