Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Configuration des AWS informations d'identification à l'aide d'Amazon Cognito pour DynamoDB
La méthode recommandée pour obtenir des AWS informations d'identification pour vos applications Web et mobiles est d'utiliser Amazon Cognito. Amazon Cognito vous permet d'éviter de coder en dur vos AWS informations d'identification sur vos fichiers. Il utilise des rôles AWS Identity and Access Management (IAM) pour générer des informations d'identification temporaires pour les utilisateurs authentifiés et non authentifiés de votre application.
Par exemple, pour configurer vos JavaScript fichiers afin qu'ils utilisent un rôle non authentifié Amazon Cognito pour accéder au service Web Amazon DynamoDB, procédez comme suit.
Pour configurer les informations d'identification à intégrer avec Amazon Cognito
-
Créez un groupe d'identités Amazon Cognito qui autorise les identités non authentifiées.
aws cognito-identity create-identity-pool \ --identity-pool-name DynamoPool \ --allow-unauthenticated-identities \ --output json { "IdentityPoolId": "us-west-2:12345678-1ab2-123a-1234-a12345ab12", "AllowUnauthenticatedIdentities": true, "IdentityPoolName": "DynamoPool" }
-
Copiez la stratégie suivante dans un fichier nommé
myCognitoPolicy.json
. Remplacez l'ID du pool d'identités (us-west-2:12345678-1ab2-123a-1234-a12345ab12
) avec les vôtresIdentityPoolId
obtenus à l'étape précédente.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "cognito-identity.amazonaws.com" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "cognito-identity.amazonaws.com:aud": "us-west-2:12345678-1ab2-123a-1234-a12345ab12" }, "ForAnyValue:StringLike": { "cognito-identity.amazonaws.com:amr": "unauthenticated" } } } ] }
-
Créez un IAM rôle qui reprend la politique précédente. Ainsi, Amazon Cognito devient une entité de confiance capable d'endosser le rôle
Cognito_DynamoPoolUnauth
.aws iam create-role --role-name Cognito_DynamoPoolUnauth \ --assume-role-policy-document file://PathToFile/myCognitoPolicy.json --output json
-
Octroyez au rôle
Cognito_DynamoPoolUnauth
un accès total à DynamoDB en attachant une politique gérée (AmazonDynamoDBFullAccess
).aws iam attach-role-policy --policy-arn arn:aws:iam::aws:policy/AmazonDynamoDBFullAccess \ --role-name Cognito_DynamoPoolUnauth
Note
Sinon, vous pouvez octroyer un accès précis à DynamoDB. Pour plus d'informations, consultez la section Utilisation IAM de conditions de politique pour un contrôle d'accès précis.
-
Obtenez et copiez le IAM rôle Amazon Resource Name (ARN).
aws iam get-role --role-name Cognito_DynamoPoolUnauth --output json
-
Ajoutez le rôle
Cognito_DynamoPoolUnauth
au groupe d'identitésDynamoPool
. Le format à spécifier estKeyName=string
« whereKeyName
is »unauthenticated
et la chaîne est le rôle ARN obtenu à l'étape précédente.aws cognito-identity set-identity-pool-roles \ --identity-pool-id "us-west-2:12345678-1ab2-123a-1234-a12345ab12" \ --roles unauthenticated=arn:aws:iam::123456789012:role/Cognito_DynamoPoolUnauth --output json
-
Spécifiez les informations d'identification Amazon Cognito dans vos fichiers. Modifiez
IdentityPoolId
etRoleArn
en conséquence.AWS.config.credentials = new AWS.CognitoIdentityCredentials({ IdentityPoolId: "us-west-2:12345678-1ab2-123a-1234-a12345ab12", RoleArn: "arn:aws:iam::123456789012:role/Cognito_DynamoPoolUnauth" });
Vous pouvez désormais exécuter vos JavaScript programmes sur le service Web DynamoDB à l'aide des informations d'identification Amazon Cognito. Pour plus d'informations, consultez Définition des informations d'identification dans un navigateur web dans le Guide de démarrage AWS SDK for JavaScript .