Utilisation des balises avec des politiques IAM - AWS IoT Core

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 de niveau ressource basées sur des balises dans les stratégies IAM que vous utilisez pour les actions d'API AWS IoT . 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/tag-key: tag-value pour accorder ou refuser aux utilisateurs des actions sur des ressources ayant des balises spécifiques.

  • Utilisez aws:RequestTag/tag-key: tag-value 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.

  • Utilisez aws:TagKeys: [tag-key, ...] 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.

Note

Les clés et valeurs de contexte de condition d'une politique IAM s'appliquent uniquement aux AWS IoT actions pour lesquelles un identifiant pour une ressource susceptible d'être étiquetée est un paramètre obligatoire. Par exemple, l'utilisation de n'DescribeEndpointest pas autorisée ou refusée sur la base des clés et des valeurs du contexte des conditions, car aucune ressource balisable (groupes d'objets, types d'objets, règles de rubrique, tâches ou profil de sécurité) n'est référencée dans cette demande. Pour plus d'informations sur les AWS IoT ressources balisables et les clés de condition qu'elles prennent en charge, consultez la section Actions, ressources et clés de condition pour. AWS IoT

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 stratégie suivant applique deux restrictions basées sur des ThingGroup actions. Un utilisateur IAM restreint par cette stratégie :

  • Impossible de créer un groupe d'objets avec la balise « env=prod » (dans l'exemple, voir la ligne"aws:RequestTag/env" : "prod").

  • Impossible de modifier ou d'accéder à un groupe de choses qui a une balise existante "env=prod" (dans l'exemple, voir la ligne "aws:ResourceTag/env" : "prod").

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "iot:CreateThingGroup", "Resource": "*", "Condition": { "StringEquals": { "aws:RequestTag/env": "prod" } } }, { "Effect": "Deny", "Action": [ "iot:CreateThingGroup", "iot:DeleteThingGroup", "iot:DescribeThingGroup", "iot:UpdateThingGroup" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/env": "prod" } } }, { "Effect": "Allow", "Action": [ "iot:CreateThingGroup", "iot:DeleteThingGroup", "iot:DescribeThingGroup", "iot:UpdateThingGroup" ], "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.