Configura el portal de servicios para desarrolladores a fin de usar SAML para comunicarse con Edge

Edge para nube privada v. 4.17.09

El portal de servicios para desarrolladores 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 SAML para la autenticación de Edge, puedes configurar el portal para que use la autenticación SAML cuando realices solicitudes a Edge. Cuando se configura el portal para que use SAML, se crea automáticamente una cuenta de usuario de máquina nueva en la organización de Edge que este usa para realizar solicitudes a Edge. Para obtener más información sobre los usuarios de máquinas, consulta Cómo usar SAML con tareas automatizadas.

La compatibilidad con SAML para el portal requiere que ya hayas instalado y configurado el módulo de SSO de Edge en el nodo de Edge Management Server. El proceso general para habilitar SAML en el portal es el siguiente:

  1. Configura SAML en Edge como se describe en Instalación y configuración de SAML para Edge. Nota: La autenticación básica aún debe estar habilitada en Edge para instalar el portal. No inhabilites la autenticación básica en Edge hasta que hayas configurado el portal para usar SAML.
  2. Instala el portal y asegúrate de que la instalación funcione correctamente. Consulta Instala el portal de Edge para servicios para desarrolladores de la nube privada.
  3. Configura SAML en el portal.
  4. Ahora puedes inhabilitar la autenticación básica en Edge.

Crea un usuario de máquina para el portal

Cuando SAML está habilitado, 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 de SAML 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 Usa SAML con tareas automatizadas.

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

Cuando configuras el portal para que use SAML, lo habilitas para que use SAML y se autentique con Edge a fin de que este 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 continúa usando la autenticación básica con los desarrolladores, incluso después de que habilites SAML 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 para autenticar a los desarrolladores. Para ver un ejemplo sobre cómo habilitar SAML con módulos de Drupal de terceros, consulta https://community.apigee.com/articles/29201/sso- integration-via-saml-with-developer-portal.html.

Configura SAML en el portal para comunicarte con Edge

Si quieres configurar SAML para el portal, debes crear un archivo de configuración para configurarlo:

# IP address of Edge Management Server and apigee-sso node.
IP1=22.222.22.222

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

# Org associated with the portal.
EDGE_ORG=myorg

# Information about 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

# Default is "n" to disable SAML support.
DEVPORTAL_SSO_ENABLED=y

# The name of the OAuth 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 chars. 
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 SAML. 
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 new one is created.
# The default value is "n".
# Set to "y" when you configure SAML and change the value of 
# any of the PORTALCLI_* properties.
PORTALCLI_SSO_CLIENT_OVERWRITE=y

Para habilitar la compatibilidad con SAML en el portal, sigue estos pasos:

  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.
    Nota: El usuario de la máquina aún no existe, pero se crea de forma automática en el paso siguiente.
  2. Ejecuta el siguiente comando para configurar SAML en el portal:
    >/opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal configure-sso -f samlConfigFile

    donde samlConfigFile es el archivo de configuración de SAML.
  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 de SAML:

    Ten en cuenta que está marcada la casilla Esta organización está habilitada para SAML, que se completa el extremo del módulo de SSO perimetral, que se completan los campos Clave de API y Secreto de consumidor del cliente de OAuth del portal, y aparece el mensaje Conexión correcta debajo del botón Probar conexión.

  5. Puedes presionar el botón Test Connection para volver a probar la conexión en cualquier momento.

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

Inhabilitar SAML en el portal

Si eliges inhabilitar SAML 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.

Precaución: Si inhabilitas SAML, debes volver a configurar el portal para usar SAML o, si Edge aún está configurado para admitir la autenticación básica, configurarlo para que se comunique con Edge mediante la autenticación básica. Para obtener más información sobre el uso de la autenticación básica, consulta Comunicación entre el portal y Edge.

Para inhabilitar SAML en el portal, haz lo siguiente:

  1. Edita el archivo de configuración que usaste para configurar SAM a fin de que establezca:
    DEVPORTAL_SSO_ENABLED=n
  2. Configura el portal:
    > /opt/apigee/apigee-service/bin/apigee-service apigee-drupal-devportal configure-sso -f configFile