Quiero usar la autenticación de Amazon Cognito con mi equilibrador de carga de aplicación a través de un grupo de usuarios de Amazon Cognito. Sin embargo, mi grupo de usuarios está en otra cuenta de AWS.
Resolución
En la siguiente resolución, la cuenta B es la cuenta propietaria del equilibrador de carga de aplicación y la cuenta A es la cuenta propietaria del grupo de usuarios.
Creación de un equilibrador de carga de aplicación
Si ya tienes un equilibrador de carga de aplicación, continúa con la siguiente sección.
Si no tienes un equilibrador de carga de aplicación, crea uno con un agente de escucha HTTPS.
Nota: Solo los agentes de escucha HTTPS admiten los tipos de acción de reglas authenticate-cognito y authenticate-oidc.
Obtención del nombre de DNS de tu equilibrador de carga de aplicación en la cuenta B
Lleva a cabo los siguientes pasos en la cuenta B:
- Abre la consola de Amazon Elastic Compute Cloud (Amazon EC2).
- En el panel de navegación, selecciona Equilibradores de carga.
- Selecciona tu equilibrador de carga de aplicación.
- En la pestaña Descripción, anota el nombre de DNS de tu equilibrador de carga para usarlo en un paso posterior.
Creación y configuración de un grupo de usuarios en la cuenta A
Si ya tienes un grupo de usuarios en la otra cuenta, pasa a la siguiente sección.
Si no tienes un grupo de usuarios, completa los siguientes pasos en la cuenta A:
- Crea un grupo de usuarios de Amazon Cognito con un cliente de la aplicación.
Nota: Al crear un cliente de aplicación, puedes elegir una de las cuatro opciones: aplicación web tradicional, aplicación de una sola página, aplicación móvil y autenticación M2M. Si eliges la autenticación de aplicaciones web tradicional o M2M, se generará un cliente de aplicación con un secreto de cliente.
- Abre la consola de Amazon Cognito.
- En la sección Descripción general del grupo de usuarios de tu grupo de usuarios, anota el ID del grupo de usuarios que se utilizará en un paso posterior.
- En la pestaña Marca, selecciona Dominio. Agrega un nombre de dominio de Amazon Cognito para tu grupo de usuarios. El nombre de dominio es un prefijo de dominio único que requiere la interfaz de usuario alojada de Cognito.
- En Aplicaciones, elige Clientes de aplicaciones.
- Selecciona el cliente de aplicación que desees actualizar.
- En la página Cliente de aplicación, sigue estos pasos:
Activa Mostrar el secreto de cliente.
Anota el ID del cliente de aplicación y el secreto del cliente de la aplicación para usarlos en un paso posterior.
- En la interfaz de usuario alojada, agrega las URL de devolución de llamada https://load-balancer-dns-name/oauth2/idpresponse y https://custom-domain-name/oauth2/idpresponse.
- Selecciona Concesión de código de autorización en Tipos de concesión OAuth 2.0.
- Selecciona openid para los ámbitos de OAuth 2.0.
- Selecciona Guardar cambios.
Obtención de los detalles de configuración de OIDC del grupo de usuarios
Para configurar tu grupo de usuarios como proveedor de identidades (IdP) de OpenID Connect (OIDC) en tu equilibrador de carga de aplicación, debes obtener los detalles del punto de enlace de configuración de OIDC.
Para obtener los detalles de configuración, sigue estos pasos:
- En tu navegador, introduce esta URL: https://cognito-idp.region.amazonaws.com/userPoolId/.well-known/openid-configuration.
Nota: Sustituye region por la región de AWS de tu grupo de usuarios (por ejemplo, us-east-1) y userPoolId por el ID de tu grupo de usuarios.
- En la respuesta JSON que aparece en tu navegador, anota los valores de los siguientes campos:
authorization_endpoint
issuer
scopes_supported
token_endpoint
userinfo_endpoint
Configuración del equilibrador de carga de aplicación en la cuenta B
Lleva a cabo los siguientes pasos en la cuenta B:
- Abre la consola de Amazon EC2.
- Selecciona tu equilibrador de carga de aplicación.
- En la pestaña Agente de escucha y reglas, selecciona la regla HTTPS:443.
- En Administrar reglas, selecciona Editar regla.
- Selecciona las reglas predeterminadas.
- En Acciones, selecciona Editar regla.
- En Acción predeterminada, selecciona Autenticar usuarios.
Nota: El proveedor de identidades de OIDC está seleccionado de forma predeterminada.
- Introduce los valores que has anotado en los campos siguientes:
En Emisor, introduce el valor del emisor.
En Punto de enlace de autorización, introduce el valor de authorization_endpoint.
En Punto de enlace de token, introduce el valor de token_endpoint.
En Punto de enlace de información de usuario, introduce el valor de userinfo_endpoint.
En ID de cliente, introduce el ID de cliente de la aplicación.
En Secreto de cliente, introduce el secreto de cliente de tu aplicación.
- Selecciona Guardar.
Prueba de la configuración
Sigue estos pasos:
- En el navegador, introduce la URL del equilibrador de carga de aplicación.
- Comprueba que se te redirige a la interfaz de usuario alojada en Cognito.
- Inicia sesión con credenciales de usuario válidas.
Nota: Para evitar errores, asegúrate de que todas las URL utilicen caracteres en minúscula.
Información relacionada
Simplify login with Application Load Balancer built-in authentication (Simplificación del inicio de sesión con la autenticación integrada del equilibrador de carga de aplicación)
Autenticación de usuarios mediante un equilibrador de carga de aplicación
Listener rules for your Application Load Balancer (Reglas del agente de escucha para tu equilibrador de carga de aplicación)
Flujo de autenticación de proveedores de identidad (IdP) de grupos de usuarios OIDC