¿Cómo se integra un grupo de usuarios de Amazon Cognito de varias regiones y cuentas con un grupo de identidades de Amazon Cognito?

4 minutos de lectura
0

Necesito integrar un grupo de usuarios de Amazon Cognito con un grupo de identidades de Amazon Cognito cuando se encuentran en cuentas diferentes.

Descripción breve

Cuando un usuario inicia sesión en la aplicación, Amazon Cognito verifica la información de inicio de sesión. Después de iniciar sesión correctamente, un grupo de usuarios de Amazon Cognito crea una sesión y devuelve tokens de ID, acceso y actualización al usuario autenticado.

Un grupo de identidades de Amazon Cognito proporciona credenciales temporales de AWS para usuarios invitados no autenticados y usuarios autenticados que reciben tokens de proveedores de identidades (IdP) compatibles. La aplicación puede acceder de forma segura a los servicios de AWS con estas credenciales de AWS.

Es posible integrar un grupo de usuarios de Amazon Cognito con un grupo de identidades de Amazon Cognito que se encuentre en una cuenta de AWS diferente. Esta configuración permite que los usuarios se autentiquen desde un grupo de usuarios de una cuenta. Posteriormente, para obtener acceso a los servicios de AWS, los usuarios utilizan credenciales temporales de AWS que obtienen de un grupo de identidades de otra cuenta.

Resolución

El siguiente caso de uso de varias cuentas es un ejemplo de configuración.

Un grupo de usuarios de Amazon Cognito se encuentra en la Cuenta-A de la región de AWS del Este de EE. UU. (Norte de Virginia). El grupo de identidades de Amazon Cognito se encuentra en la Cuenta-B de la región de Asia-Pacífico (Bombay).

En este caso, debe obtener credenciales temporales del grupo de identidades de la Cuenta-B para un usuario que utiliza el grupo de usuarios de la Cuenta-A para autenticarse. Debe agregar el grupo de usuarios de la Cuenta-A como proveedor de autenticación al grupo de identidades de la Cuenta-B.

Para agregar el grupo de usuarios como proveedor de autenticación, siga los pasos que se indican a continuación:

1.    Abra la nueva consola de Amazon Cognito en la Cuenta-A.

2.    Elija User Pools (Grupos de usuarios) y, a continuación, elija el grupo de usuarios correspondiente de la lista.

3.    Copie y guarde externamente los valores de User pool ID (ID del grupo de usuarios) y el App client id (ID de cliente de aplicación).

Ejemplo de grupo de usuarios como proveedor de autenticación:

Grupo de usuarios de la Cuenta-A
ID del grupo de usuarios: us-east-1_xxxxxxxxx
ID de cliente de aplicación: 79i7hhxxxxxxxx1d5iciiu7

4.    Abra la nueva consola de Amazon Cognito en la Cuenta-B y, a continuación, elija Federated identities (Identidades federadas).

5.    Elija el grupo de identidades correspondiente de la lista de grupos de identidades.

6.    Elija Edit identity pool (Editar grupo de identidades). Aparecerá la página Edit identity pool (Editar grupo de identidades).

7.    Desplácese hacia abajo y elija Authentication providers (Proveedores de autenticación) para ver las opciones de proveedores de autenticación.

8.    En User pool ID (ID de grupo de usuarios), pegue el ID de grupo de usuarios que copió anteriormente.

9.    En App client id (ID de cliente de aplicación), pegue el ID de cliente de aplicación que copió anteriormente.

10.    Guarde los cambios.

Invoque la API UpdateIdentityPool para agregar el grupo de usuarios como proveedor de autenticación.

Ejemplo de comando update-identity-pool:

aws cognito-identity update-identity-pool --identity-pool-id example_identity_pool_id --identity-pool-name example_identity_pool_name --no-allow-unauthenticated-identities --cognito-identity-providers ProviderName=cognito-idp.example_region.amazonaws.com/example_user_pool_id,ClientId=example_app_client_id,ServerSideTokenCheck=false --region example_region

Descripciones del comando update-identity-pool:

  • example_identity_pool_id corresponde al ID de grupo de identidades de la Cuenta-B. Ejemplo:ap-south-1:12345678-abcd-abcd-abcd-1234567890ab.
  • example_app_client_id representa el ID de cliente de la Cuenta-A. Ejemplo: 79i7hhxxxxxxxx1d5iciiu7.
  • example_region representa la región del grupo de identidades. Ejemplo: ap-south-1.
  • example_identity_pool_name corresponde al nombre del grupo de identidades. Ejemplo: test-pool.
  • example_user_pool_id representa el grupo de usuarios de la Cuenta-A. Ejemplo: us-east-1_xxxxxxxxx.

Importante: dado que la API UpdateIdentityPool restablece la configuración existente del grupo de identidades, invoque primero la API DescribeIdentityPool. A continuación, envíe todos los parámetros del grupo de identidades existentes a la API UpdateIdentityPool.


OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año