¿Cómo configuro mi equilibrador de carga de aplicación para autenticar a los usuarios a través de un grupo de usuarios de Amazon Cognito en otra cuenta de AWS?

7 minutos de lectura
0

Quiero usar la autenticación de Amazon Cognito en mi equilibrador de carga de aplicación, pero mi grupo de usuarios está en otra cuenta de AWS. Por ello, quiero usar un grupo de usuarios entre cuentas para la autenticación.

Descripción breve

Solo se admiten de forma predeterminada los grupos de usuarios de Amazon Cognito de la misma cuenta al configurar el equilibrador de carga de aplicación para la autenticación de usuarios. Sin embargo, como solución alternativa, puede configurar su grupo de usuarios entre cuentas como un proveedor de identidades (IdP) de OpenID Connect (OIDC).

Siga estas instrucciones para configurar el equilibrador de carga de aplicación en una cuenta («cuenta B») para la autenticación a través de un grupo de usuarios en otra cuenta («cuenta A»).

Resolución

Crear un equilibrador de carga de aplicación

Si aún no lo ha hecho, en la cuenta B, cree un equilibrador de carga de aplicación con un agente de escucha HTTPS.
Nota: Los tipos de acción de reglas authenticate-cognito y authenticate-oidc solo son compatibles con agentes de escucha HTTPS.

Obtener el nombre de DNS de su equilibrador de carga de aplicación en la cuenta B

  1. En la cuenta B, abra la página Equilibradores de carga de la consola de Amazon Elastic Compute Cloud (Amazon EC2).
  2. Seleccione su equilibrador de carga de aplicación.
  3. En la pestaña Descripción, copie el nombre de DNS de su equilibrador de carga. Lo necesitará para acceder a la URL del punto de conexión del equilibrador de carga y probarlo más adelante.

Crear y configurar un grupo de usuarios en la cuenta A

  1. En la cuenta A, cree un grupo de usuarios de Amazon Cognito con un cliente de aplicación. Para el cliente de aplicación, asegúrese de seleccionar la opción Generar clave secreta de cliente. Para obtener más información, consulte Prepararse para utilizar Amazon Cognito.
    Nota: Durante la creación del grupo de usuarios, configure los ajustes que desee para la producción. Algunos ajustes del grupo de usuarios no se pueden cambiar después de crearlo. Por ejemplo, no puede cambiar los atributos estándar necesarios para el registro de usuarios.
  2. En la consola de Amazon Cognito, en la sección Información general sobre el grupo de usuarios de su grupo de usuarios, anote el ID del grupo de usuarios. Lo necesitará más adelante para obtener los detalles de configuración de OIDC de su grupo de usuarios.
  3. En la pestaña Integración de aplicaciones, diríjase a Dominio. Añada un nombre de dominio de Amazon Cognito para su grupo de usuarios. Es un prefijo de dominio único que necesita la interfaz de usuario alojada de Cognito
  4. En la pestaña Integración de aplicaciones, diríjase a Lista de clientes de aplicación
  5. Seleccione el cliente de aplicación que desee actualizar. En la página del cliente de aplicación, siga estos pasos:
    Active Mostrar el secreto de cliente.
    Copie el ID del cliente de aplicación y el secreto de cliente de aplicación. Necesitará estos valores para configurar el equilibrador de carga de aplicación para la autenticación de los usuarios.
  6. En la página de cliente de aplicación, vaya a la sección Interfaz de usuario alojada****y haga clic en Editar.
  7. En la página Editar interfaz de usuario alojada, siga estos pasos:
    En Proveedores de identidad, seleccione Grupo de usuarios de Cognito.
    En Agregar direcciones URL de devolución de llamada, introduzca https://loadBalancerDNSName/oauth2/idpresponse. O bien, si ha asignado un dominio personalizado a su equilibrador de carga con un registro CNAME, introduzca https://CNAME/oauth2/idpresponse.
    Nota: Sustituya loadBalancerDNSName por el nombre de DNS que ha copiado de la consola de Amazon EC2. Si usa un registro CNAME, sustituya CNAME por su dominio personalizado. Asegúrese de que los valores de las direcciones URL estén en minúsculas o recibirá un error.
    En Agregar direcciones URL de cierre de sesión, introduzca la URL a la que quiera que se redirijan los usuarios después de cerrar sesión. Para realizar pruebas, introduzca cualquier URL válida, como https://example.com/.
    En tipos de concesión OAuth 2.0, seleccione Concesión de código de autorización.
    En Ámbitos de OpenID Connect, seleccione Openid. El ámbito openid devuelve un token de ID.
    Introduzca cualquier ámbito de OAuth adicional según sea necesario para su caso de uso.
  8. Seleccione Guardar cambios.

Para obtener más información, consulte Configuración de un cliente de aplicación para un grupo de usuarios y Añadir proveedores de identidad OIDC a un grupo de usuarios.

Obtenga los detalles de configuración de OIDC de su grupo de usuarios

Acceda al punto de conexión de configuración de OIDC de su grupo de usuarios. Necesita los detalles de configuración para configurar su grupo de usuarios como IdP de OIDC en su equilibrador de carga de aplicación.

  1. En su navegador, introduzca esta URL: https://cognito-idp.region.amazonaws.com/userPoolId/.well-known/openid-configuration
    Nota: Sustituya region por la región de AWS de su grupo de usuarios. (Por ejemplo, us-east-1.) Sustituya userPoolId por el ID de su grupo de usuarios que ha anotado anteriormente.
  2. Copie la respuesta JSON que aparece en el navegador. Anote los valores de estos campos:
    authorization_endpoint
    issuer
    scopes_supported
    token_endpoint
    userinfo_endpoint

Configurar su equilibrador de carga de aplicación en la cuenta B

  1. En la cuenta B, en la página Equilibradores de carga de la consola de Amazon EC2, seleccione su equilibrador de carga de aplicación.
  2. En la pestaña Agentes de escucha, en Reglas, seleccione Ver/editar reglas para su agente de escucha HTTPS.
  3. En la barra de menús, seleccione el icono del lápiz (Editar reglas).
  4. Junto a la regla predeterminada para su agente de escucha HTTPS, seleccione el icono del lápiz (Editar regla).
  5. En A CONTINUACIÓN, seleccione Agregar acción y, a continuación, siga estos pasos:
    Seleccione Autenticar.
    En Autenticar, seleccioneOIDC.
    En Emisor, introduzca el valor del emisor de la configuración de OIDC de su grupo de usuarios.
    En Punto de conexión de autorización, introduzca el valor de authorization_endpoint.
    En Punto de conexión de token, introduzca el valor de token_endpoint.
    En Punto de conexión de información de usuario, introduzca el valor de userinfo_endpoint.
    En ID de cliente, introduzca el ID de cliente de aplicación que ha copiado anteriormente de la consola de Amazon Cognito.
    En Secreto de cliente, introduzca el secreto de cliente de aplicación que ha copiado anteriormente.
    Amplíe Configuración avanzada.
    En Ámbito, introduzca los ámbitos que ha configurado para su cliente de aplicación de grupo de usuarios, separados por espacios. Busque los ámbitos en la configuración de OIDC de su grupo de usuarios. Por ejemplo, si el valor de scopes_supported de la configuración es «openid»,«email»,«phone»,«profile», introduzca openid email phone profile.
    Seleccione el icono de la marca de verificación.
  6. En A CONTINUACIÓN, seleccione Agregar acción y, a continuación, siga estos pasos:
    **Nota:**Si no puede elegir Agregar acción, elimine una acción de enrutamiento actual (como Redirigir a). A continuación, inténtelo de nuevo.
    Seleccione Reenviar a.
    En Reenviar a, seleccione uno o más grupos de destino.
    (Opcional) Configure Persistencia de nivel de grupo.
    Seleccione el icono de la marca de verificación.
  7. Seleccione Actualizar. Se actualizará la regla predeterminada del agente de escucha HTTPS.

Para obtener más información, consulte Editar una regla.

Probar la configuración

En su navegador, introduzca una de estas direcciones URL:

  • https://loadBalancerDNSName/
  • https://CNAME/

Nota: Sustituya loadBalancerDNSName por el nombre de DNS que ha copiado anteriormente de la consola de Amazon EC2. O bien, sustituya CNAME por su dominio personalizado.

Se le redirigirá a la interfaz de usuario web alojada en Amazon Cognito para su grupo de usuarios. Cuando un usuario inicia sesión aquí y el grupo de usuarios lo autentica, se le redirige al destino.

Información relacionada

Introducción a los equilibradores de carga de aplicación

Simplificación del inicio de sesión con la autenticación integrada del equilibrador de carga de aplicación

Autenticación de los usuarios mediante un equilibrador de carga de aplicación

Reglas de agente de escucha para su equilibrador de carga de aplicación

Flujo de autenticación de proveedores de identidad (IdP) de grupos de usuarios OIDC

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 9 meses