Configura el portal para usar IdP externos

El portal de servicios para desarrolladores de Apigee (o simplemente el portal) actúa como cliente de Apigee Edge. Eso significa que el portal no funciona como un sistema independiente. En cambio, gran parte de la información que usa el portal se almacena en Edge. Cuando es necesario, el portal realiza una solicitud para recuperar información de Edge o enviarla a Edge.

El portal siempre está asociado con una sola organización de Edge. Cuando configuras el portal, puedes especificar las credenciales de autenticación básicas (nombre de usuario y contraseña) de una cuenta de la organización que el portal usa para comunicarse con Edge.

Si eliges habilitar un IDP externo, como SAML o LDAP, para la autenticación de Edge, puedes configurar el portal a fin de que use esa autenticación cuando se hagan solicitudes a Edge. Cuando se configura el portal para usar un IdP externo, se crea automáticamente una cuenta de usuario de máquina nueva en la organización de Edge que el portal usa para realizar solicitudes a Edge. Para obtener más información sobre los usuarios de máquinas, consulta Automatiza tareas para IdP externos.

La compatibilidad del IdP externo para el portal requiere que ya hayas instalado y configurado el módulo de SSO de Apigee en el nodo del servidor de administración perimetral. El proceso general de habilitación de un IdP externo para el portal es el siguiente:

  1. Instala el módulo de SSO de Apigee, como se describe en Instala SSO de Apigee para alta disponibilidad.
  2. Instala el portal y asegúrate de que la instalación funcione correctamente. Consulta Instalar el portal.
  3. Configura SAML o LDAP en el portal, como se describe en esta sección.
  4. (Opcional) Inhabilita la autenticación básica en Edge, como se describe en Inhabilita la autenticación básica en Edge.

Crea un usuario de máquina para el portal

Cuando se habilita un IdP externo, Edge admite la generación automática de tokens de OAuth2 mediante el uso de usuarios de máquinas. Un usuario de máquina puede obtener tokens de OAuth2 sin tener que especificar una contraseña. Esto significa que puedes automatizar completamente el proceso de obtención y actualización de tokens de OAuth2.

El proceso de configuración del IdP para el portal crea automáticamente un usuario de máquina en la organización asociada con el portal. Luego, el portal usa esta cuenta de usuario de máquina para conectarse a Edge. Para obtener más información sobre los usuarios de máquinas, consulta Cómo automatizar tareas para IdP externos.

Información acerca de la autenticación para las cuentas de desarrollador del portal

Cuando configuras el portal para que use un IdP externo, lo habilitas a fin de usar SAML o LDAP para autenticarse con Edge a fin de que el portal pueda realizar solicitudes a Edge. Sin embargo, el portal también admite un tipo de usuario llamado desarrolladores.

Los desarrolladores conforman la comunidad de usuarios que compilan aplicaciones mediante tus APIs. Los desarrolladores de apps usan el portal para obtener información sobre tus APIs, registrar apps que las usan, interactuar con la comunidad de desarrolladores y ver información estadística sobre su uso de apps en un panel.

Cuando un desarrollador accede al portal, es el portal el que es responsable de autenticarlo y de aplicar los permisos basados en funciones. El portal sigue usando la autenticación básica con los desarrolladores incluso después de que habilites la autenticación de IdP entre el portal y Edge. Para obtener más información, consulta Comunicación entre el portal y Edge.

También es posible configurar el portal para usar SAML o LDAP para autenticar a los desarrolladores. Para ver un ejemplo sobre cómo habilitar SAML con módulos de Drupal de terceros, consulta Integración de SSO mediante SAML con el portal para desarrolladores.

Archivo de configuración del IdP para el portal

Si quieres configurar un IdP externo para el portal, debes crear un archivo de configuración que defina la configuración del portal.

En el siguiente ejemplo, se muestra un archivo de configuración del portal compatible con IdP:

# IP address of Edge Management Server and the node on which the Apigee SSO module is installed.
IP1=22.222.22.222

# URL of Edge management API.
MGMT_URL=http://$IP1:8080/v1

# Organization associated with the portal.
EDGE_ORG=myorg

# Information about the Apigee SSO module (apigee-sso).
# Externally accessible IP or DNS of apigee-sso.
SSO_PUBLIC_URL_HOSTNAME=$IP1
SSO_PUBLIC_URL_PORT=9099
# Default is http. Set to https if you enabled TLS on apigee-sso.
SSO_PUBLIC_URL_SCHEME=http

# SSO admin credentials as set when you installed apigee-sso.
SSO_ADMIN_NAME=ssoadmin
SSO_ADMIN_SECRET=Secret123

# Enables or disables external IDP support.
# Default is "n", which disables external IDP support.
# Change it to "y" to enable external IDs support.
DEVPORTAL_SSO_ENABLED=y

# The name of the OAuth2 client used to connect to apigee-sso.
# The default client name is portalcli.
PORTALCLI_SSO_CLIENT_NAME=portalcli
# OAuth client password using uppercase, lowercase, number, and special characters.
PORTALCLI_SSO_CLIENT_SECRET=Abcdefg@1

# Email address and user info for the machine user created in the Edge org specified
# above by EDGE_ORG.
# This account is used by the portal to make requests to Edge.
# Add this email as an org admin before configuring the portal to use an external IDP.
DEVPORTAL_ADMIN_EMAIL=DevPortal_SAML@google.com
DEVPORTAL_ADMIN_FIRSTNAME=DevPortal
DEVPORTAL_ADMIN_LASTNAME=SAMLAdmin
DEVPORTAL_ADMIN_PWD=Abcdefg@1

# If set, the existing portal OAuth client is deleted and a new one is created.
# The default value is "n".
# Set to "y" when you configure the external IDP and change the value of
# any of the PORTALCLI_* properties.
PORTALCLI_SSO_CLIENT_OVERWRITE=y

Para habilitar la asistencia de IdP externo en el portal, haz lo siguiente:

  1. En la IU de Edge, agrega el usuario de máquina especificado por DEVPORTAL_ADMIN_EMAIL a la organización asociada con el portal como administrador de la organización.
  2. Ejecuta el siguiente comando para configurar el IdP externo en el portal:
    /opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal configure-sso -f configFile

    En el ejemplo anterior, configFile es el archivo de configuración descrito anteriormente.

  3. Accede al portal como administrador.
  4. En el menú principal de Drupal, selecciona Configuración > Portal para desarrolladores. Aparecerá la pantalla de configuración del portal, incluida la configuración del IdP externo:

    Ten en cuenta lo siguiente:

    • La casilla Esta organización está habilitada para SAML está marcada.
    • El extremo del módulo SSO de Apigee está completado
    • Se deben completar los campos Clave de API y Secreto de consumidor del cliente de OAuth del portal.
    • Aparecerá el mensaje Connection Successful debajo del botón Test Connection.
  5. Haz clic en el botón Probar conexión en cualquier momento para volver a probar la conexión.

Para cambiar estos valores más tarde, actualiza el archivo de configuración y vuelve a ejecutar este procedimiento.

Inhabilita un IdP externo en el portal

Si eliges inhabilitar tu IdP externo para las comunicaciones entre el portal y Edge, este ya no podrá hacer solicitudes a Edge. Los desarrolladores pueden acceder al portal, pero no ver los productos ni crear apps.

Para inhabilitar la autenticación de IdP externo en el portal, haz lo siguiente:

  1. Abre el archivo de configuración que usaste antes para habilitar el IdP externo.
  2. Establece el valor de la propiedad DEVPORTAL_SSO_ENABLED en n, como se muestra en el siguiente ejemplo:
    DEVPORTAL_SSO_ENABLED=n
  3. Para configurar el portal, ejecuta el siguiente comando:
    /opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal configure-sso -f configFile