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.
Exemples de stratégies de clé de contexte à valeur unique
L'ensemble suivant d'exemples de politiques montre comment créer des conditions de politique à l'aide de clés de contexte à valeur unique.
Exemple : plusieurs blocs de conditions avec des clés de contexte à valeur unique
Lorsqu'un bloc de conditions comporte plusieurs conditions, chacune associée à une seule clé de contexte, toutes les clés de contexte doivent aboutir à la valeur true pour que l'effet Allow
ou Deny
souhaité soit invoqué. Lorsque vous utilisez des opérateurs de condition de correspondance négative, la logique d'évaluation de la valeur de la condition est inversée.
L'exemple suivant permet aux utilisateurs de créer des EC2 volumes et d'appliquer des balises aux volumes lors de leur création. Le contexte de la demande doit inclure une valeur pour la clé de contexte aws:RequestTag/project
et la valeur de la clé de contexte aws:ResourceTag/environment
peut être n'importe quoi, sauf la production.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "ec2:CreateVolume", "Resource": "*" }, { "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "arn:aws:ec2:us-east-2:123456789012:volume/*", "Condition": { "StringLike": { "aws:RequestTag/project": "*" } } }, { "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "arn:aws:ec2:us-east-2:123456789012:*/*", "Condition": { "StringNotEquals": { "aws:ResourceTag/environment": "production" } } } ] }
Le contexte de demande doit inclure une valeur de balise de projet et ne peut pas être créé pour qu'une ressource de production puisse invoquer l'effet Allow
. Le EC2 volume suivant a été créé avec succès car le nom du projet Feature3
comporte une balise de QA
ressource.
aws ec2 create-volume \ --availability-zone us-east-1a \ --volume-type gp2 \ --size 80 \ --tag-specifications 'ResourceType=volume,Tags=[{Key=project,Value=Feature3},{Key=environment,Value=QA}]'
Exemple : un bloc de conditions avec plusieurs clés et valeurs de contexte à valeur unique
Lorsqu'un bloc de conditions contient plusieurs clés de contexte et que chaque clé de contexte possède plusieurs valeurs, chaque clé de contexte doit aboutir à true pour au moins une valeur de clé afin que l'effet Allow
ou Deny
souhaité soit invoqué. Lorsque vous utilisez des opérateurs de condition de correspondance négative, la logique d'évaluation de la valeur de clé de contexte est inversée.
L'exemple suivant permet aux utilisateurs de démarrer et d'exécuter des tâches sur des clusters Amazon Elastic Container Service.
-
Le contexte de la demande doit inclure
production
ORprod-backup
pour la clé de contexteaws:RequestTag/environment
AND. -
La clé de contexte
ecs:cluster
garantit que les tâches sont exécutées sur les clusters ECS d'ARNdefault1
ORdefault2
.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecs:RunTask", "ecs:StartTask" ], "Resource": [ "*" ], "Condition": { "StringEquals": { "aws:RequestTag/environment": [ "production", "prod-backup" ] }, "ArnEquals": { "ecs:cluster": [ "arn:aws:ecs:us-east-1:111122223333:cluster/default1", "arn:aws:ecs:us-east-1:111122223333:cluster/default2" ] } } } ] }
Le tableau suivant montre comment cette politique est AWS évaluée en fonction des valeurs des clés de condition figurant dans votre demande.
État de la politique | Contexte de la requête | Résultat |
---|---|---|
|
|
Correspondance |
|
|
Correspondance |
|
|
Aucune correspondance |
|
Non
|
Aucune correspondance |