Inhabilita la autenticación básica en Edge

Edge para la nube privada v4.18.05

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

  • Asegúrate de haber agregado a todos los usuarios de Edge, incluidos los administradores del sistema, a tu IdP de SAML.
  • Asegúrate de haber probado exhaustivamente la autenticación de SAML en la IU de Edge y la API de administración de Edge.
  • Si usas el portal de servicios para desarrolladores de Apigee (o simplemente, el portal), configura y prueba SAML en el portal para asegurarte de que este pueda conectarse a Edge. Consulta Configura el portal para que use SAML para comunicarse con Edge.

Cómo ver el perfil de seguridad actual

Puedes ver el perfil de seguridad de Edge para determinar la configuración actual y saber si la autenticación básica y SAML están habilitadas. Usa la siguiente llamada a la API de administración de Edge en el servidor de administración de Edge 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 SAML, la respuesta es como se muestra a continuación, lo que significa que la autenticación básica está habilitada:

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

Si ya habilitaste SAML, verás la etiqueta <ssoserver> en el resultado:

<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 SAML habilitado también muestra <BasicAuthEnabled>true</BasicAuthEnabled>, lo que significa que la autenticación básica sigue habilitada.

Inhabilita la autenticación básica

Usa la siguiente llamada a la API de administración perimetral en el servidor de administración perimetral para inhabilitar la autenticación básica. Ten en cuenta que debes pasar como carga útil el objeto XML que se muestra en la sección anterior. La única diferencia es que debes configurar <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>'

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

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

Cómo volver a habilitar la autenticación básica

Si, por algún motivo, tienes que volver a habilitar la autenticación básica, debes seguir estos pasos:

  1. Accede a cualquier nodo de ZooKeeper de Edge.
  2. Ejecuta la siguiente secuencia de comandos de 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 como el siguiente:

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

    Ya puedes volver a usar la autenticación básica.