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.
Utilisation de l’ABAC avec des tables et des index DynamoDB
Les étapes suivantes montrent comment configurer des autorisations à l’aide de l’ABAC. Dans cet exemple de scénario, vous allez ajouter des balises à une table DynamoDB et créer un rôle IAM avec une politique qui inclut des conditions basées sur des balises. Vous allez ensuite tester les autorisations accordées dans la table DynamoDB en respectant les conditions des balises.
Rubriques
Étape 1 : Ajouter des balises à une table DynamoDB
Vous pouvez ajouter des balises à des tables DynamoDB nouvelles ou existantes à l'aide de l'API AWS ,AWS CLI() AWS Command Line Interface AWS , AWS Management Console du SDK ou. AWS CloudFormation Par exemple, la commande CLI tag-resource suivante ajoute une balise à une table nommée MusicTable.
aws dynamodb tag-resource —resource-arn arn:aws:dynamodb:us-east-1:123456789012:table/MusicTable —tags Key=environment,Value=staging
Étape 2 : Créer un rôle IAM avec une politique incluant des conditions basées sur des balises
Créez une politique IAM à l'aide de la clé de condition aws : ResourceTag /tag-key pour comparer la paire clé-valeur de balise spécifiée dans la politique IAM avec la paire clé-valeur attachée à la table. L’exemple de politique suivant permet aux utilisateurs de placer ou de mettre à jour des éléments dans des tables si celles-ci contiennent la paire clé-valeur de balise : "environment": "staging". Si une table ne possède pas la paire clé-valeur de balise spécifiée, ces actions sont refusées.
Étape 3 : Tester les autorisations accordées
-
Attachez la politique IAM à un utilisateur ou à un rôle de test dans votre Compte AWS. Assurez-vous que le principal IAM que vous utilisez n’a pas déjà accès à la table DynamoDB par le biais d’une autre politique.
-
Assurez-vous que votre table DynamoDB contient la clé de balise
"environment"avec une valeur de"staging". -
Exécutez les actions
dynamodb:PutItemetdynamodb:UpdateItemet sur la table balisée. Ces actions devraient réussir si la paire clé-valeur de la balise"environment": "staging"est présente.Si vous effectuez ces actions sur une table dépourvue de la paire clé-valeur de balise
"environment": "staging", votre demande échouera avec un message d’erreurAccessDeniedException.
Vous pouvez également consulter les autres exemples de cas d’utilisation décrits dans la section suivante pour mettre en œuvre l’ABAC et effectuer d’autres tests.