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

8 minutos de lectura
0

Quiero integrar un equilibrador de carga de aplicación con un grupo de usuarios de Amazon Cognito para la autenticación de usuarios.

Descripción breve

Para administrar y autenticar a los usuarios, puedes integrar un equilibrador de carga de aplicación con un grupo de usuarios de Amazon Cognito. Para configurar la autenticación de usuarios con un equilibrador de carga de aplicación y un grupo de usuarios de Amazon Cognito, sigue estos pasos:

  1. Crea un equilibrador de carga de aplicación.
  2. Obtén el nombre de DNS del equilibrador de carga de aplicación.
  3. Crea y configura un grupo de usuarios de Amazon Cognito.
  4. Configura el equilibrador de carga de aplicación.
  5. Prueba la configuración.

Resolución

Creación de un equilibrador de carga de aplicación

Nota: Si ya has configurado un equilibrador de carga de aplicación, continúa con la siguiente sección.

Para crear un equilibrador de carga de aplicación, sigue estos pasos:

  1. Crea un equilibrador de carga de aplicación orientado a Internet.
  2. Crea un agente de escucha HTTPS para el equilibrador de carga de aplicación.

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 del equilibrador de carga de aplicación

Para obtener el nombre de DNS del equilibrador de carga de aplicación, sigue estos pasos:

  1. Abre la consola de Amazon Elastic Compute Cloud (Amazon EC2).
  2. En el panel de navegación, en Equilibrio de carga, selecciona Equilibradores de carga.
  3. Selecciona tu equilibrador de carga de aplicación.
  4. En la pestaña Detalles, copia y guarda el nombre de DNS del equilibrador de carga. Usa este nombre de DNS para probar el acceso a la URL del punto de enlace del equilibrador de carga de aplicación.

Creación y configuración de un grupo de usuarios de Amazon Cognito

Para crear y configurar un grupo de usuarios de Amazon Cognito, sigue estos pasos:

  1. Crea un grupo de usuarios de Amazon Cognito con un cliente de la aplicación. Cuando configures el cliente de la aplicación, selecciona el botón de opción Generar un secreto de cliente. Para obtener más información, consulta Prepararse para utilizar Amazon Cognito.
    Nota: Al crear el grupo de usuarios, configura los ajustes que desees para la producción. Después de crear el grupo de usuarios, no puedes cambiar algunos ajustes del grupo de usuarios. Por ejemplo, no puedes cambiar los atributos estándar necesarios para el registro de usuarios.
  2. Abre la consola de Amazon Cognito.
  3. En el panel de navegación, selecciona Grupos de usuarios y, a continuación, selecciona tu grupo de usuarios. Copia y guarda el ID del grupo de usuarios. Usa este ID para configurar el equilibrador de carga de aplicación para la autenticación de los usuarios.
  4. Selecciona la pestaña Integración de aplicaciones de tu grupo de usuarios y, a continuación, añade un dominio para el grupo de usuarios.
  5. Desde la pestaña Integración de aplicaciones del grupo de usuarios, ve a la sección Clientes de aplicaciones y análisis. A continuación, selecciona tu cliente de aplicación.
  6. En la página del cliente de aplicación, en Información del cliente de aplicación, copia y guarda el ID de cliente. Usa este ID para configurar el equilibrador de carga de aplicación para la autenticación de los usuarios.
  7. En la sección Interfaz de usuario alojada, selecciona Editar.
  8. Selecciona Añadir URL de devolución de llamada y, a continuación, escribe https://nombre-de-dns-del-equilibrador-de-carga/oauth2/idpresponse.
    Alternativa:
    Si usaste un registro CNAME para asignar un dominio personalizado al equilibrador de carga de aplicación, escribe https://CNAME/oauth2/idpresponse.
    Nota: Sustituye nombre-de-dns-del-equilibrador-de-carga por el nombre de DNS que has copiado de la consola de Amazon EC2. El nombre de DNS no puede contener letras mayúsculas. Si usas un registro CNAME, sustituye CNAME por tu dominio personalizado.
  9. Selecciona Agregar URL de cierre de sesión y, a continuación, introduce una URL a la que quieras redirigir a los usuarios una vez que cierren sesión. Para probar la redirección, puedes introducir cualquier URL válida, como https://ejemplo.com/.
  10. En Proveedores de identidad, selecciona la casilla de verificación Grupo de usuarios de Cognito.
  11. En OAuth 2.0 grant types (Tipos de concesión de OAuth 2.0), selecciona la casilla de verificación Concesión de código de autorización. Selecciona cualquier tipo de concesión de OAuth adicional que necesites para tu caso de uso.
  12. En Ámbitos de OpenID Connect, selecciona la casilla de verificación OpenID. El ámbito de OpenID devuelve un token de ID. Selecciona cualquier ámbito adicional de OpenID Connect (OIDC) que necesites para tu caso de uso.
  13. Selecciona Guardar los cambios.

Para obtener más información, consulta Updating user pool and app client configuration (Actualización de la configuración del grupo de usuarios y del cliente de aplicación) y Adding user pool sign-in through a third party (Añadir el inicio de sesión del grupo de usuarios a través de un tercero).

Configuración del equilibrador de carga de aplicación

Para configurar el equilibrador de carga de aplicación, sigue estos pasos:

  1. Abre la consola de Amazon EC2.
  2. En el panel de navegación, en Equilibrio de carga, selecciona Equilibradores de carga.
  3. Selecciona tu equilibrador de carga de aplicación.
  4. En la pestaña Agentes de escucha y reglas, selecciona el protocolo HTTPS, selecciona Administrar reglas y, a continuación, selecciona Editar reglas.
  5. En la sección Listeners rules (Reglas de los agentes de escucha), selecciona la regla predeterminada que desees actualizar, luego selecciona Acción y, a continuación, selecciona Editar reglas.
  6. Edita la regla predeterminada del agente de escucha HTTPS con la siguiente configuración:
    En Autenticación, selecciona Utilizar OpenID o Amazon Cognito.
    En Proveedor de identidad, selecciona Amazon Cognito.
    En Grupo de usuarios, selecciona el ID del grupo de usuarios que obtuviste de la consola de Amazon Cognito.
    En Cliente de aplicación, selecciona el ID de cliente que obtuviste de la consola de Amazon Cognito.
    Amplía Configuración avanzada de autenticación.
    Asigna un nombre a la cookie de sesión.
    Establece el tiempo de espera de la sesión. El valor predeterminado es de 7 días.
    En Ámbito, introduce los ámbitos que has configurado para tu cliente de aplicación de grupo de usuarios, separados por espacios. Puedes encontrar los ámbitos en la configuración de OIDC de tu grupo de usuarios. Por ejemplo, si el valor scopes_supported de la configuración es ["openid","email","phone","profile"], introduce openid email phone profile.
    En Acción en solicitud sin autenticar, déjalo como el valor predeterminado.
    (Opcional) Amplía Parámetros de solicitud adicionales: opcional. Esta opción te permite pasar parámetros adicionales a un proveedor de identidades, como Cognito, durante la autenticación. Por ejemplo, si el grupo de usuarios de Cognito tiene a Google como su propio proveedor de identidades, puedes añadir un parámetro adicional {Key: identity_provider, Value: Google}. Este parámetro te permite omitir la interfaz de usuario alojada de Cognito y acceder directamente a la página de inicio de sesión de Google. Para obtener más información sobre los parámetros /oauth2/authorize permitidos, consulta Authorize endpoint (Autorizar el punto de enlace).
  7. Continúa editando la regla predeterminada del agente de escucha HTTPS con la siguiente configuración:
    En Acciones de enrutamiento, selecciona Reenviar al grupo de destino y, a continuación, selecciona uno o más grupos de destino.
    (Opcional) En Target group stickiness (Persistencia del grupo de destino), selecciona Turn on target group stickiness (Activar la persistencia del grupo de destino) cuando tu caso de uso lo requiera.
  8. Configura los ajustes de Configuración del agente de escucha seguro.
    En Política de seguridad, selecciona la política de seguridad adecuada para tu caso de uso.
    En Certificado de servidor SSL/TLS predeterminado, selecciona el origen del certificado.
  9. Para aplicar las actualizaciones a la regla predeterminada del agente de escucha HTTPS, selecciona Guardar cambios.

Prueba de la configuración

En el navegador web, introduce una de las siguientes URL:

  • https://nombre-de-dns-del-equilibrador-de-carga/
  • https://CNAME/

Nota: Sustituye nombre-de-dns-del-equilibrador-de-carga por el nombre de DNS que has copiado de la consola de Amazon EC2. O bien, sustituye CNAME por tu dominio personalizado.

Al introducir la URL, se te redirigirá a la interfaz de usuario web alojada en Amazon Cognito de tu grupo de usuarios. Una vez que los usuarios inicien sesión y el grupo de usuarios los autentique, se redirigirán al destino.

Información relacionada

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

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)

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

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 7 meses