Contrôle de l'accès aux balises - AWS Key Management Service

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.

Contrôle de l'accès aux balises

Pour ajouter, afficher et supprimer des balises, que ce soit dans la AWS KMS console ou à l'aide deAPI, les principaux doivent disposer d'autorisations de balisage. Vous pouvez fournir ces autorisations dans les politiques de clé. Vous pouvez également les fournir dans les IAM politiques (y compris les politiques relatives aux VPC terminaux), mais uniquement si la politique clé le permet. La politique AWSKeyManagementServicePowerUsergérée permet aux principaux d'étiqueter, de débaliser et de répertorier les balises sur toutes les KMS clés auxquelles le compte peut accéder.

Vous pouvez également limiter ces autorisations en utilisant des clés de condition AWS globales pour les balises. Dans AWS KMS, ces conditions peuvent contrôler l'accès aux opérations de marquage, telles que TagResourceet UntagResource.

Note

Soyez prudent lorsque vous autorisez les principaux à gérer les balises et les alias. La modification d'une balise ou d'un alias permet d'accorder ou de refuser l'autorisation d'utiliser la clé gérée par le client. Pour plus de détails, veuillez consulter ABACpour AWS KMS et Utiliser des balises pour contrôler l'accès aux KMS clés.

Pour des exemples de politiques et de plus amples informations, consultez la section Contrôle de l'accès en fonction des clés de balise dans le guide de IAM l'utilisateur.

Les autorisations de création et de gestion de balises fonctionnent comme suit.

km : TagResource

Autorise les principaux à ajouter ou à modifier des balises. Pour ajouter des balises lors de la création d'une KMS clé, le principal doit disposer d'une autorisation dans le cadre d'une IAM politique qui n'est pas limitée à KMS des clés spécifiques.

km : ListResourceTags

Permet aux principaux d'afficher les balises sur les KMS clés.

km : UntagResource

Permet aux principaux de supprimer les balises des KMS clés.

Autorisations de balises dans les politiques

Vous pouvez fournir des autorisations de balisage dans une politique ou IAM une politique clé. Par exemple, l'exemple de politique de clé suivant donne à certains utilisateurs l'autorisation de taguer la KMS clé. Il accorde à tous les utilisateurs qui peuvent endosser les rôles Administrateur ou Développeur d'exemple l'autorisation d'afficher les balises.

{ "Version": "2012-10-17", "Id": "example-key-policy", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:root"}, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow all tagging permissions", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::111122223333:user/LeadAdmin", "arn:aws:iam::111122223333:user/SupportLead" ]}, "Action": [ "kms:TagResource", "kms:ListResourceTags", "kms:UntagResource" ], "Resource": "*" }, { "Sid": "Allow roles to view tags", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::111122223333:role/Administrator", "arn:aws:iam::111122223333:role/Developer" ]}, "Action": "kms:ListResourceTags", "Resource": "*" } ] }

Pour autoriser les directeurs à baliser plusieurs KMS clés, vous pouvez utiliser une IAM politique. Pour que cette politique soit efficace, la politique clé pour chaque KMS clé doit autoriser le compte à utiliser des IAM politiques pour contrôler l'accès à la KMS clé.

Par exemple, la IAM politique suivante permet aux principaux de créer des KMS clés. Cela leur permet également de créer et de gérer des balises sur toutes les KMS clés du compte spécifié. Cette combinaison permet aux principaux d'utiliser le paramètre Tags de l'CreateKeyopération pour ajouter des balises à une KMS clé lors de sa création.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "IAMPolicyCreateKeys", "Effect": "Allow", "Action": "kms:CreateKey", "Resource": "*" }, { "Sid": "IAMPolicyTags", "Effect": "Allow", "Action": [ "kms:TagResource", "kms:UntagResource", "kms:ListResourceTags" ], "Resource": "arn:aws:kms:*:111122223333:key/*" } ] }

Limitation des autorisations de balises

Vous pouvez limiter les autorisations d'étiquetage en utilisant des conditions de politique. Les conditions de politique suivantes peuvent être appliquées aux autorisations kms:TagResource et kms:UntagResource. Par exemple, vous pouvez utiliser la condition aws:RequestTag/tag-key pour permettre à un principal d'ajouter uniquement des balises particulières, ou empêcher un principal d'ajouter des balises avec des clés de balise particulières. Vous pouvez également utiliser kms:KeyOrigin cette condition pour empêcher les directeurs d'étiqueter ou de détaguer les KMS clés avec du matériel clé importé.

Lorsque vous utilisez des balises pour contrôler l'accès aux KMS clés, il est recommandé d'utiliser la touche de aws:TagKeys condition aws:RequestTag/tag-key ou pour déterminer quelles balises (ou clés de balise) sont autorisées.

Par exemple, la IAM politique suivante est similaire à la précédente. Toutefois, cette politique permet aux principaux de créer des balises (TagResource) et de supprimer des balises UntagResource uniquement pour les balises avec une clé de balise Project.

Étant donné que TagResource les UntagResource demandes peuvent inclure plusieurs balises, vous devez spécifier un opérateur ForAllValues ou un ForAnyValue ensemble avec la TagKeys condition aws :. L'opérateur ForAnyValue exige qu'au moins l'une des clés de balise dans la demande corresponde à l'une des clés de balise dans la politique. L'opérateur ForAllValues exige que toutes les clés de balise dans la demande correspondent à l'une des clés de balise dans la politique. L'ForAllValuesopérateur renvoie également true si la demande ne contient aucune balise, mais TagResource UntagResource échoue si aucune balise n'est spécifiée. Pour plus de détails sur les opérateurs définis, voir Utiliser plusieurs clés et valeurs dans le Guide de IAM l'utilisateur.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "IAMPolicyCreateKey", "Effect": "Allow", "Action": "kms:CreateKey", "Resource": "*" }, { "Sid": "IAMPolicyViewAllTags", "Effect": "Allow", "Action": "kms:ListResourceTags", "Resource": "arn:aws:kms:*:111122223333:key/*" }, { "Sid": "IAMPolicyManageTags", "Effect": "Allow", "Action": [ "kms:TagResource", "kms:UntagResource" ], "Resource": "arn:aws:kms:*:111122223333:key/*", "Condition": { "ForAllValues:StringEquals": {"aws:TagKeys": "Project"} } } ] }