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

7 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

Puede integrar un equilibrador de carga de aplicación con un grupo de usuarios de Amazon Cognito para administrar y autenticar usuarios.. Para configurar la autenticación de usuarios con un equilibrador de carga de aplicación y un grupo de usuarios de Amazon Cognito, complete los pasos siguientes:

1.    Creación de un equilibrador de carga de aplicación y obtención de su nombre DNS.

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

3.    Configuración del equilibrador de carga de aplicación.

4.    Prueba de la configuración.

Resolución

Para configurar un equilibrador de carga de aplicación y un grupo de usuarios de Amazon Cognito para autenticar a los usuarios de la aplicación, complete los pasos siguientes.

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

Nota: Si ya ha configurado un equilibrador de carga de aplicación, pase a la siguiente sección.

1.    Crear un equilibrador de carga de aplicación con conexión a Internet.

2.    Crear un agente de escucha HTTPS para el equilibrador de carga de aplicación

Nota: Solo los agentes de escucha HTTPS son compatibles con los tipos de acción de regla authenticate-cognito y authenticate-oidc.

Obtención del nombre DNS del equilibrador de carga de aplicación

1.    Abra la consola de Amazon Elastic Compute Cloud (Amazon EC2).

2.    En el panel de navegación, elija Load Balancing (Equilibrio de carga) en Load Balancers (Equilibradores de carga).

3.    Seleccione el equilibrador de carga de aplicación.

4.    En la pestaña Description (Descripción), copie y guarde el nombre de DNS del equilibrador de carga. Utilice este nombre de DNS para acceder a la URL del punto de conexión del equilibrador de carga de aplicación y realizar pruebas.

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

1.    Cree un grupo de usuarios de Amazon Cognito con un cliente de aplicación. Al configurar el cliente de la aplicación, seleccione el botón de opción Generate a client secret (Generar un secreto de cliente).

Para obtener más información, consulte Prepare to use Amazon Cognito (Preparación para utilizar Amazon Cognito).

Nota: Al crear el grupo de usuarios, configure los parámetros que desee para la producción. Después de crear el grupo de usuarios, no podrá cambiar algunos ajustes de dicho grupo. Por ejemplo, no podrá cambiar los atributos estándar necesarios para el registro de usuarios.

2.    Abra la consola de Amazon Cognito.

3.    En el panel de navegación, elija User Pools (Grupos de usuarios) y, a continuación, seleccione su grupo de usuarios. Copie y guarde el ID del grupo de usuarios. Utilice este ID para configurar el equilibrador de carga de aplicación para la autenticación de usuarios.

4.    Elija la pestaña App integration (Integración de aplicaciones) para su grupo de usuarios y, a continuación, agregue un dominio para su grupo de usuarios.

5.    En la pestaña App integration (Integración de aplicaciones) de su grupo de usuarios, vaya a la sección App clients and analytics (Clientes y análisis de aplicaciones). A continuación, seleccione su cliente de aplicación.

6.    En la página del cliente de la aplicación, en App client information (Información del cliente de la aplicación), copie y guarde el Client ID (ID de cliente). Utilice este ID para configurar el equilibrador de carga de aplicación para la autenticación de usuarios.

7.    En la sección Hosted UI (Interfaz de usuario alojada), seleccione Edit (Editar).

8.    Elija Add callback URL (Agregar URL de devolución de llamada) y, a continuación, escriba https://loadBalancerDNSName/oauth2/idpresponse.

-o bien-

Si utilizó un registro CNAME para asignar un dominio personalizado a su equilibrador de carga de aplicación, introduzca https://CNAME/oauth2/idpresponse.

Nota: Sustituya loadBalancerDNSName por el nombre DNS que copió de la consola de Amazon EC2. Si utiliza un registro CNAME, sustituya CNAME por su dominio personalizado.

9.    Elija Add sign-out URL (Añadir URL de cierre de sesión) y, a continuación, introduzca una URL a la que desee redirigir a sus usuarios después de que cierren la sesión. Para realizar pruebas, puede introducir cualquier URL válida, como https://example.com/.

10.    En Identity providers (Proveedores de identidad), seleccione la casilla de verificación Cognito user pool (Grupo de usuarios de Cognito).

11.    En OAuth 2.0 grant types (Tipos de concesión OAuth 2.0), seleccione la casilla de verificación Authorization code grant (Concesión de código de autorización). Seleccione cualquier tipo de concesión OAuth adicional según sus requisitos.

12.    En OpenID Connect scopes (Ámbitos de OpenID Connect), seleccione la casilla OpenID. El ámbito OpenID devuelve un token de ID. Seleccione cualquier ámbito adicional de OpenID Connect (OIDC) según sus necesidades.

13.    Elija Save changes (Guardar cambios).

Para obtener más información, consulte Configuring a user pool app client (Configuración de un cliente de aplicación de grupo de usuarios) y Adding user pool sign-in through a third party (Adición de inicio de sesión de grupo de usuarios a través de un tercero).

Configuración del equilibrador de carga de aplicación

1.    Abra la consola de Amazon EC2.

2.    En el panel de navegación, elija Load Balancing (Equilibrio de carga) en Load Balancers (Equilibradores de carga).

3.    Seleccione el equilibrador de carga de aplicación.

4.    En la pestaña Listeners (Agentes de escucha), seleccione la default rule (regla predeterminada) del agente de escucha HTTPS que desea actualizar y, a continuación, elija Actions (Acciones), Manage rules (Administrar reglas).

5.    Edite la regla predeterminada del agente de escucha HTTPS con la siguiente configuración:

  • En THEN, elija Add action (Añadir acción).
  • Elija Authenticate (Autenticar).
  • En Authenticate (Autenticar), elija Amazon Cognito.
  • En el grupo de usuarios, introduzca el ID del grupo de usuarios que copió de la consola de Amazon Cognito.
  • En el cliente de la aplicación, introduzca el ID de cliente que copió de la consola de Amazon Cognito.
  • Amplíe Advanced settings (Configuración avanzada).
  • En Scope (Ámbito), introduzca los ámbitos que configuró para el cliente de la aplicación de grupo de usuarios, separados por espacios. Puede encontrar los ámbitos en la configuración de OIDC del grupo de usuarios. Por ejemplo, si el valor de scopes_supported en la configuración es [“openid”, “email”, “phone”, “profile”], escriba openid email phone profile.
  • Elija el icono de la marca de verificación.

6.    Continúe editando la regla predeterminada del agente de escucha HTTPS con la siguiente configuración:

  • En THEN, elija Add action (Añadir acción).
    Nota: Si no puede elegir Add action (Agregar acción), use el icono de la papelera para eliminar la acción de enrutamiento existente, como Redirect to (Redirigir a). A continuación, inténtelo de nuevo.
  • Elija Forward to (Reenviar a).
  • En Forward to (Reenviar a), elija uno o varios grupos destinatarios.
  • (Opcional) Configure la Group-level stickiness (Persisitencia a nivel de grupo).
  • Elija el icono de la marca de verificación.

7.    ElijaUpdate (Actualizar) para actualizar la regla predeterminada del agente de escucha HTTPS.

Prueba de la configuración

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

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

Nota: SustituyaloadBalancerDNSName por el nombre de DNS que copió de la consola de Amazon EC2. O bien, sustituya CNAME por su dominio personalizado. Se le redirigirá a la interfaz web alojada en Amazon Cognito para su grupo de usuarios. Después de que los usuarios se registren y el grupo de usuarios los autentique, serán redirigidos al destino.


Información relacionada

Getting started with Application Load Balancers (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 en el equilibrador de carga de aplicación)

Listener rules for your Application Load Balancer (Reglas del agente de escucha para el equilibrador de carga de aplicación)

OIDC user pool IdP authentication flow (Flujo de autenticación IdP del grupo de usuarios OIDC)

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año