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 des balises avec des politiques IAM
Vous pouvez appliquer des autorisations au niveau des ressources basées sur des balises dans les politiques IAM que vous utilisez pour les actions d'API d'intégrations gérées. Vous bénéficiez ainsi d'un meilleur contrôle sur les ressources qu'un utilisateur peut créer, modifier ou utiliser. Vous pouvez utiliser l'élément Condition
(également appelé bloc Condition
) avec les clés et valeurs de contexte de condition suivantes dans une politique IAM pour contrôler l'accès des utilisateurs (autorisations) en fonction des balises d'une ressource :
-
Utilisez
aws:ResourceTag/
pour accorder ou refuser aux utilisateurs des actions sur des ressources ayant des balises spécifiques.tag-key
:tag-value
-
Utilisez
aws:RequestTag/
pour exiger qu'une balise spécifique soit utilisée (ou ne soit pas utilisée) lorsque vous effectuez une demande d'API pour créer ou modifier une ressource qui autorise les balises.tag-key
:tag-value
-
Utilisez
aws:TagKeys: [
pour exiger qu'un ensemble de clés de balise spécifique soit utilisé (ou ne soit pas utilisé) lorsque vous effectuez une demande d'API pour créer ou modifier une ressource qui autorise les balises.tag-key
, ...]
Note
Les clés et valeurs de contexte de condition d'une politique IAM s'appliquent uniquement aux actions d'intégrations gérées pour lesquelles un identifiant pour une ressource pouvant être étiquetée est un paramètre obligatoire. Par exemple, l'utilisation de n'GetCustomEndpointest pas autorisée ou refusée sur la base des clés et des valeurs du contexte des conditions, car aucune ressource balisable (objets gérés, profils d'approvisionnement, casiers d'informations d'identification, over-the-air tâches) n'est référencée dans cette demande. Pour plus d'informations sur les ressources d'intégrations gérées qui peuvent être étiquetées et les clés de condition qu'elles prennent en charge, consultez la fonctionnalité Actions, ressources et clés de condition pour les intégrations AWS IoT gérées de. AWS IoT Device Management
Pour de plus amples informations, veuillez consulter Contrôle de l'accès à l'aide d’étiquettes dans le AWS Identity and Access Management Guide de l'utilisateur. La section Référence de stratégie JSON IAM de ce guide fournit la syntaxe détaillée, des descriptions, ainsi que des exemples des éléments, des variables et de la logique d'évaluation des stratégies JSON dans IAM.
L'exemple de politique suivant applique deux restrictions basées sur des balises à l'CreateManagedThing
action. Un utilisateur IAM restreint par cette stratégie :
-
Impossible de créer un objet géré avec le tag « env=prod » (dans l'exemple, voir la ligne).
"aws:RequestTag/env" : "prod"
-
Impossible de modifier ou d'accéder à un objet géré qui possède une balise existante « env=prod » (dans l'exemple, voir la ligne).
"aws:ResourceTag/env" : "prod"
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "iotmanagedintegrations:CreateManagedThing", "Resource": "arn:aws:iotmanagedintegrations:${Region}:${Account}:managed-thing/*", "Condition": { "StringEquals": { "aws:RequestTag/env": "prod" } } }, { "Effect": "Deny", "Action": [ "iotmanagedintegrations:CreateManagedThing", "iotmanagedintegrations:DeleteManagedThing", "iotmanagedintegrations:GetManagedThing", "iotmanagedintegrations:UpdateManagedThing" ], "Resource": "arn:aws:iotmanagedintegrations:${Region}:${Account}:managed-thing/*", "Condition": { "StringEquals": { "aws:ResourceTag/env": "prod" } } }, { "Effect": "Allow", "Action": [ "iotmanagedintegrations:CreateManagedThing", "iotmanagedintegrations:DeleteManagedThing", "iotmanagedintegrations:GetManagedThing", "iotmanagedintegrations:UpdateManagedThing" ], "Resource": "*" } ] }
Vous pouvez également spécifier plusieurs valeurs de balise pour une clé de balise donnée en les plaçant dans une liste, comme suit :
"StringEquals" : { "aws:ResourceTag/env" : ["dev", "test"] }
Note
Si vous autorisez ou refusez à des utilisateurs l’accès à des ressources en fonction de balises, vous devez envisager de refuser de manière explicite la possibilité pour les utilisateurs d’ajouter ces balises ou de les supprimer des mêmes ressources. Sinon, il sera possible pour un utilisateur de contourner vos restrictions et d’obtenir l’accès à une ressource en modifiant ses balises.