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.
Accorder l'autorisation de baliser les EC2 ressources Amazon lors de la création
Certaines EC2 API actions Amazon qui créent des ressources vous permettent de spécifier des balises lors de la création de la ressource. Vous pouvez utiliser des balises de ressources pour implémenter le contrôle basé sur les attributs ()ABAC. Pour plus d’informations, consultez Etiqueter vos ressources et Contrôlez l'accès à l'aide de l'accès basé sur les attributs.
Pour permettre aux utilisateurs d’attribuer des balises aux ressources au moment de la création, ils doivent avoir les autorisations d’utiliser l’action qui crée la ressource (par exemple, ec2:RunInstances
ou ec2:CreateVolume
). Si les balises sont spécifiées dans l’action de création de ressources, Amazon effectue une autorisation supplémentaire sur l’action ec2:CreateTags
pour vérifier si les utilisateurs sont autorisés à créer des balises. Par conséquent, les utilisateurs doivent également avoir des autorisations explicites d’utiliser l’action ec2:CreateTags
.
Dans la définition IAM de la politique de l'ec2:CreateTags
action, utilisez l'Condition
élément associé à la clé de ec2:CreateAction
condition pour accorder des autorisations de balisage à l'action qui crée la ressource.
L’exemple suivant illustre une politique qui permet aux utilisateurs de lancer des instances et d’appliquer des balises aux instances et aux volumes pendant le lancement. Les utilisateurs ne sont pas autorisés à attribuer des balises aux ressources existantes (ils ne peuvent pas appeler l’action ec2:CreateTags
directement).
{ "Statement": [ { "Effect": "Allow", "Action": [ "ec2:RunInstances" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:region:account:*/*", "Condition": { "StringEquals": { "ec2:CreateAction" : "RunInstances" } } } ] }
De même, la politique suivante permet aux utilisateurs de créer des volumes et appliquer des balises à des volumes pendant la création de volume. Les utilisateurs ne sont pas autorisés à attribuer des balises aux ressources existantes (ils ne peuvent pas appeler l’action ec2:CreateTags
directement).
{ "Statement": [ { "Effect": "Allow", "Action": [ "ec2:CreateVolume" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": "arn:aws:ec2:region:account:*/*", "Condition": { "StringEquals": { "ec2:CreateAction" : "CreateVolume" } } } ] }
L’action ec2:CreateTags
est uniquement évaluée si les balises sont appliquées pendant l’action de création de ressources. Par conséquent, un utilisateur qui est autorisé à créer une ressource (en supposant qu’il n’existe aucune condition de balisage) n’a pas besoin des autorisations d’utiliser l’action ec2:CreateTags
si aucune balise n’est spécifié dans la demande. Toutefois, si l’utilisateur essaie de créer une ressource avec des balises, la demande échoue s’il n’a pas les autorisations d’utiliser l’action ec2:CreateTags
.
L’action ec2:CreateTags
est également évaluée si des balises sont fournies dans un modèle de lancement. Pour un exemple de politique, consultez Balises dans un modèle de lancement.
Contrôler l’accès à des balises spécifiques
Vous pouvez utiliser des conditions supplémentaires dans l'Condition
élément de vos IAM politiques pour contrôler les clés de balise et les valeurs qui peuvent être appliquées aux ressources.
Les clés de condition suivantes peuvent être utilisées avec les exemples de la section précédente :
-
aws:RequestTag
: Pour indiquer qu’une clé de balise ou une clé et valeur de balise particulière doit être présente dans une demande. D’autres balises peuvent également être spécifiées dans la demande.-
Utilisez avec l’opérateur de condition
StringEquals
pour appliquer une combinaison de clé de balise et de valeur spécifique ; par exemple, pour appliquer la balisecost-center
=cc123
:"StringEquals": { "aws:RequestTag/cost-center": "cc123" }
-
A utiliser avec l’opération de condition
StringLike
pour appliquer une clé de balise spécifique dans la demande ; par exemple, pour appliquer la clé de balisepurpose
:"StringLike": { "aws:RequestTag/purpose": "*" }
-
-
aws:TagKeys
: Pour appliquer les clés de balise qui sont utilisées dans la demande.-
A utiliser avec le modificateur
ForAllValues
pour appliquer des clés de balise spécifiques si celles-ci sont fournies dans la demande (si les balises sont spécifiées dans la demande, seules les clés de balise spécifiques sont autorisées ; aucune autre balise n’est autorisée). Par exemple, les clés de baliseenvironment
oucost-center
sont autorisées :"ForAllValues:StringEquals": { "aws:TagKeys": ["environment","cost-center"] }
-
A utiliser avec le modificateur
ForAnyValue
pour appliquer la présence d’au moins l’une des clés de balise spécifiées dans la demande. Par exemple, au moins l’une des clés de baliseenvironment
ouwebserver
doit être présente dans la demande :"ForAnyValue:StringEquals": { "aws:TagKeys": ["environment","webserver"] }
-
Ces clés de condition peuvent être appliqués aux actions de création de ressources qui prennent en charge le balisage ainsi qu’aux actions ec2:CreateTags
et ec2:DeleteTags
. Pour savoir si une EC2 API action Amazon prend en charge le balisage, consultez Actions, ressources et clés de condition pour Amazon EC2.
Pour forcer les utilisateurs à spécifier des balises quand ils créent une ressource, vous devez utiliser la clé de condition aws:RequestTag
ou la clé de condition aws:TagKeys
avec le modificateur ForAnyValue
sur l’action de création de ressources. L’action ec2:CreateTags
n’est pas évaluée si un utilisateur ne spécifie pas de balises pour l’action de création de ressources.
Pour les conditions, la clé de condition n’est pas sensible à la casse et la valeur de la condition est sensible à la casse. Par conséquent pour forcer la sensibilité à la casse d’une clé de balise, utilisez la clé de condition aws:TagKeys
, où la clé de balise est indiquée comme une valeur dans la condition.
Pour des exemples IAM de politiques, voirExemples de politiques pour contrôler l'accès à Amazon EC2 API. Pour plus d'informations sur les conditions à valeurs multiples, voir Création d'une condition qui teste plusieurs valeurs clés dans le guide de l'IAMutilisateur.