Inhabilitar la autenticación básica en Edge

Después de habilitar SAML o LDAP en Edge, puedes inhabilitar la autenticación básica. Sin embargo, antes de inhabilitar la autenticación básica:

  • Asegúrate de haber agregado a todos los usuarios de Edge, incluidos los administradores del sistema, a tu IDP
  • Asegúrate de haber probado minuciosamente la autenticación de tu IdP en la IU de Edge y Edge Management de Google.
  • Si usas el portal de Servicios para desarrolladores de Apigee (o simplemente el portal), configura y prueba tu IdP externo en el portal. para garantizar que el portal pueda conectarse a Edge. Consulta Configura el portal para IdP externos.

Consulta el perfil de seguridad actual

Puedes ver el perfil de seguridad de Edge para determinar la configuración actual y determinar si La autenticación básica y un IdP externo están habilitados en este momento. Usar la siguiente administración de Edge Llamada a la API en el servidor de administración perimetral para ver el perfil de seguridad actual que usa Edge:

curl -H "accept:application/xml" http://localhost:8080/v1/securityprofile -u sysAdminEmail:pWord

Si aún no configuraste un IdP externo, la respuesta es la que se muestra a continuación, es decir, Básica autenticación está habilitada:

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

Si ya habilitaste un IdP externo, el elemento <ssoserver> debe en la respuesta:

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

Ten en cuenta que la versión con un IdP externo habilitado también muestra &lt;BasicAuthEnabled&gt;true&lt;/BasicAuthEnabled&gt;, lo que significa que Basic la autenticación sigue habilitada.

Inhabilitar la autenticación básica

Usa la siguiente llamada a la API de Edge Management en el servidor de administración perimetral para inhabilitar la versión Básica autenticación. Debes pasar el objeto XML que se mostró en la sección anterior como carga útil. El único La diferencia es que configuras <BasicAuthEnabled> como false, ya que que se muestra a continuación:

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

Después de inhabilitar la autenticación básica, cualquier llamada a la API de Edge Management que pase la autenticación básica las credenciales de autenticación muestran el siguiente error:

<Error>
    <Code>security.SecurityProfileBasicAuthDisabled</Code>
    <Message>Basic Authentication scheme not allowed</Message>
    <Contexts/>
</Error>

Volver a habilitar la autenticación básica

Si por algún motivo necesitas volver a habilitar la autenticación básica, debes hacer lo siguiente: pasos:

  1. Accede a cualquier nodo de ZooKeeper de Edge.
  2. Ejecuta la siguiente secuencia de comandos Bash para desactivar toda la seguridad:
    #! /bin/bash
    /opt/apigee/apigee-zookeeper/bin/zkCli.sh -server localhost:2181 <<EOF
    set /system/securityprofile <SecurityProfile></SecurityProfile>
    quit
    EOF

    Verás un resultado en el siguiente 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. Vuelve a habilitar la autenticación básica y la autenticación del IdP externo:
    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>'

Ahora puedes volver a usar la autenticación básica. Ten en cuenta que la autenticación básica no funciona cuando se habilita la nueva experiencia perimetral.