Je dois intégrer un groupe d'utilisateurs Amazon Cognito à un groupe d'identités Amazon Cognito lorsqu'ils se trouvent sur des comptes différents.
Brève description
Lorsqu'un utilisateur se connecte à votre application, Amazon Cognito vérifie les informations de connexion. Une fois la connexion établie, un groupe d'utilisateurs Amazon Cognito crée une session et renvoie des jetons d'identification, d'accès et d'actualisation à l'utilisateur authentifié.
Un groupe d'identités Amazon Cognito fournit des informations d'identification AWS temporaires aux utilisateurs invités non authentifiés et aux utilisateurs authentifiés qui reçoivent des jetons de la part de fournisseurs d'identité (IdP) pris en charge. Grâce à ces informations d'identification AWS, votre application peut accéder aux services AWS en toute sécurité.
Vous pouvez intégrer un groupe d'utilisateurs Amazon Cognito à un groupe d'identités Amazon Cognito situé sur un autre compte AWS. Avec cette configuration, vos utilisateurs s'authentifient à partir d'un groupe d'utilisateurs sur un seul compte. Ensuite, pour accéder aux services AWS, vos utilisateurs utilisent des informations d'identification AWS temporaires qu'ils obtiennent à partir d'un groupe d'identités sur un autre compte.
Résolution
Le scénario intercompte suivant est un exemple de configuration.
Un groupe d'utilisateurs Amazon Cognito se trouve sur le compte A dans la région AWS USA Est (Virginie du Nord). Le groupe d'identités Amazon Cognito se trouve sur le compte B dans la région Asie-Pacifique (Mumbai).
Dans ce scénario, vous devez obtenir des informations d'identification temporaires auprès du groupe d'identités du compte B pour un utilisateur qui utilise le groupe d'utilisateurs du compte A pour s'authentifier. Vous devez ajouter le groupe d'utilisateurs du compte A en tant que fournisseur d'authentification au groupe d'identités du compte B.
Pour ajouter le groupe d'utilisateurs en tant que fournisseur d'authentification, procédez comme suit :
1. Ouvrez la nouvelle console Amazon Cognito dans le compte A.
2. Choisissez Groupes d'utilisateurs, puis sélectionnez le groupe d'utilisateurs approprié dans la liste.
3. Copiez et enregistrez en externe les valeurs de l'ID du groupe d'utilisateurs et de l'ID du client d'application.
Exemple de groupe d'utilisateurs en tant que fournisseur d'authentification :
Groupe d'utilisateurs du compte A
ID du groupe d'utilisateurs : us-east-1_xxxxxxxxx
ID du client d'application : 79i7hhxxxxxxxx1d5iciiu7
4. Ouvrez la nouvelle console Amazon Cognito dans le compte B, puis sélectionnez Identités fédérées.
5. Dans la liste des groupes d'identités, choisissez le groupe d'identités approprié.
6. Sélectionnez Modifier le groupe d'identités. La page Modifier le groupe d'identités s'affiche.
7. Faites défiler la page vers le bas et sélectionnez Fournisseurs d'authentification pour afficher les options des fournisseurs d'authentification.
8. Pour l'ID du groupe d'utilisateurs, collez l'ID du groupe d'utilisateurs que vous avez copié précédemment.
9. Pour l'ID du client d'application, collez l'ID du client d'application que vous avez copié précédemment.
10. Enregistrez vos modifications.
Appelez l'API UpdateIdentityPool pour ajouter le groupe d'utilisateurs en tant que fournisseur d'authentification.
Exemple de commande 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
Description de la commande update-identity-pool :
- example_identity_pool_id correspond à l'ID du groupe d'identités dans le compte B. Exemple : ap-south-1:12345678-abcd-abcd-abcd-1234567890ab.
- example_app_client_id représente l'ID client du compte A. Exemple : 79i7hhxxxxxxxx1d5iciiu7.
- example_region représente la région du groupe d'identités. Exemple : ap-south-1.
- example_identity_pool_name correspond au nom du groupe d'identités. Exemple : test-pool.
- example_user_pool_id représente le groupe d'utilisateurs du compte A. Exemple : us-east-1_xxxxxxxxx.
Important : étant donné que l'API UpdateIdentityPool réinitialise la configuration existante du groupe d'identités, appelez d'abord l'API DescribeIdentityPool. Envoyez ensuite tous les paramètres existants du groupe d'identités à l'API UpdateIdentityPool.