Disattivazione di Auth di base su Edge

Edge per Private Cloud v4.18.01

Dopo aver abilitato SAML su Edge, puoi disabilitare l'autenticazione di base. Tuttavia, prima di disattiva l'autenticazione di base:

Visualizzazione del profilo di sicurezza attuale

Puoi visualizzare il profilo di sicurezza Edge per determinare la configurazione attuale e stabilire se Auth di base e SAML sono attualmente abilitati. Usa la seguente chiamata all'API di gestione perimetrale su Edge Server di gestione 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, a indicare che l'autenticazione di base è attivato:

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

Se hai già attivato SAML, nell'output sarà visualizzato il tag &lt;ssoserver&gt;:

<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 &lt;BasicAuthEnabled&gt;true&lt;/BasicAuthEnabled&gt; che indica che l'autenticazione di base è ancora attiva.

Disabilita autenticazione di base

Usa la seguente chiamata all'API di gestione perimetrale su Edge Management Server per disabilitare la funzionalità di base Autentica. Tieni presente che passi come payload l'oggetto XML restituito nella sezione precedente. L'unico è che imposti &lt;BasicAuthEnabled&gt;false&lt;/BasicAuthEnabled&gt;:

> 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 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>

Riattiva autenticazione di base

Se per qualsiasi motivo devi riattivare l'autenticazione di base, devi seguire questi passaggi:

Attenzione: prima di riattivare Basic Auth, dovrai disattivare temporaneamente tutte l'autenticazione su Edge, incluso SAML.

  1. Accedi a qualsiasi nodo Edge ZooKeeper.
  2. Esegui il seguente script bash per disattivare completamente la sicurezza:
    Attenzione: questo passaggio disattiva tutte le autenticazioni su Edge, incluso SAML.

    #! /bin/bash
    /opt/apigee/apigee-zookeeper/bin/zkCli.sh -server localhost:2181 <<EOF
    imposta /system/securityprofile &lt;SecurityProfile&gt;&lt;/SecurityProfile&gt;
    esci
    EOF

    L'output verrà visualizzato nel seguente formato:
    Collegamento a localhost:2181
    Benvenuto in ZooKeeper!
    Il supporto di JLine è abilitato
    SMARTWATCH:

    Stato WatchedEvent:SyncConnected type:None path:null
    [zk: localhost:2181(COLLEGATO) 0] imposta /system/securityprofile <SecurityProfile></SecurityProfile>
    cZxid = 0x89
    ...
    [zk: localhost:2181(COLLEGATO) 1] ha abbandonato
    Uscita in corso...
  3. Riattiva autenticazione di base e autenticazione SAML:

    > curl -H "Content-Type: application/xml&quot;
    http://localhost:8080/v1/securityprofile -u sysAdminEmail:pWord -d
    '<SecurityProfile enabled="true" name=&quot;securityprofile&quot;&gt;

    <UserAccessControl enabled="true">
    &lt;SSOServer&gt;
    &lt;BasicAuthEnabled&gt;true&lt;/BasicAuthEnabled&gt;
    &lt;PublicKeyEndPoint&gt;/token_key&lt;/PublicKeyEndPoint&gt;
    &lt;ServerUrl&gt;http://35.197.37.220:9099&lt;/ServerUrl&gt;
    &lt;/SSOServer&gt;
    </UserAccessControl>
    </SecurityProfile>'

    Tu ora può usare di nuovo l'autenticazione di base.