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 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 New Edge y en la API de administración de Edge.

Cómo ver 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. 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 un IDP externo, la respuesta 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 un IDP externo, el <ssoserver> elemento debería aparecer 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 <BasicAuthEnabled>true</BasicAuthEnabled>, lo que significa que la autenticación básica aún está habilitada.

Cómo inhabilitar la autenticación básica

Usa la siguiente llamada a la API de Management de Edge en el servidor de administración de Edge para inhabilitar la autenticación básica.

Para inhabilitar la autenticación básica, debes pasar el objeto XML que se muestra en la sección anterior como la carga útil. La única diferencia es que configuras <BasicAuthEnabled> como false, como se muestra en el siguiente ejemplo:

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 administración de Edge que pase las 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, debes 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 con 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 de 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. Para cambiar la IU de New Edge de SSO a la autenticación básica, configura AUTH_MODE=basic y MANAGEMENT_UI_SSO_ENABLED=n en tu archivo de configuración de la IU de New Edge y, luego, ejecuta /opt/apigee/apigee-service/bin/apigee-service edge-management-ui configure-sso -f configFile seguido de /opt/apigee/apigee-service/bin/apigee-service edge-management-ui restart (o ejecuta /opt/apigee/apigee-setup/bin/setup.sh -p ue -f configFile).