Spécification de clés KMS dans les instructions de politique IAM - 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.

Spécification de clés KMS dans les instructions de politique IAM

Vous pouvez utiliser une politique IAM pour permettre à un principal d'utiliser ou de gérer des clés KMS. Les clés KMS sont spécifiées dans l'élément Resource de l'instruction de politique.

  • Pour spécifier une clé KMS dans une instruction de politique IAM, vous devez utiliser son ARN de clé. Vous ne pouvez pas utiliser un ID de clé, un nom d'alias ou un ARN d'alias pour identifier une clé KMS dans une instruction de politique IAM.

    Par exemple : « Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab »

    Pour contrôler l'accès à une clé KMS en fonction de ses alias, utilisez les clés de ResourceAliases condition kms : RequestAlias ou kms :. Pour plus de détails, consultez ABAC pour AWS KMS.

    Utilisez un alias ARN comme ressource uniquement dans une déclaration de politique qui contrôle l'accès aux opérations d'alias, telles que CreateAliasUpdateAlias, ou DeleteAlias. Pour plus de détails, veuillez consulter Contrôle de l'accès aux alias.

  • Pour spécifier plusieurs clés KMS dans le compte et la région, utilisez des caractères génériques (*) dans les positions Region (Région) ou Resource ID (ID de ressource) de l'ARN clé.

    Par exemple, pour spécifier toutes les clés KMS dans la région USA Ouest (Oregon) d'un compte, utilisez « Resource": "arn:aws:kms:us-west-2:111122223333:key/* ». Pour spécifier toutes les clés KMS dans toutes les régions du compte, utilisez « Resource": "arn:aws:kms:*:111122223333:key/* ».

  • Pour représenter toutes les clés KMS, utilisez un caractère générique seul ("*"). Utilisez ce format pour les opérations qui n'utilisent aucune clé KMS particulière CreateKey, à savoir GenerateRandomListAliases, et ListKeys.

Lorsque vous rédigez vos instructions de politique, il s'agit d'une bonne pratique pour spécifier uniquement les clés KMS que le principal doit utiliser, plutôt que de leur donner accès à toutes les clés KMS.

Par exemple, la déclaration de politique IAM suivante permet au principal d'appeler les DescribeKeyopérations de déchiffrement uniquement sur les clés KMS répertoriées dans l'Resourceélément de la déclaration de politique. GenerateDataKey La spécification des clés KMS par ARN de clé, qui est une bonne pratique, garantit que les autorisations sont limitées uniquement aux clés KMS spécifiées.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321" ] } }

Pour appliquer l'autorisation à toutes les clés KMS d'une entité sécurisée donnée Compte AWS, vous pouvez utiliser des caractères génériques (*) dans la région et les positions des identifiants clés. Par exemple, l'instruction de politique suivante permet au principal d'appeler les opérations spécifiées sur toutes les clés KMS dans deux exemples de comptes de confiance.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:GenerateDataKey", "kms:GenerateDataKeyPair" ], "Resource": [ "arn:aws:kms:*:111122223333:key/*", "arn:aws:kms:*:444455556666:key/*" ] } }

Vous pouvez également utiliser un caractère générique ("*") seul dans l'élément Resource. Comme il permet l'accès à toutes les clés KMS que le compte a l'autorisation d'utiliser, il est recommandé principalement pour les opérations sans clé KMS particulière et pour les instructions Deny. Vous pouvez également l'utiliser dans des instructions de politique qui autorisent uniquement des opérations moins sensibles en lecture seule. Pour déterminer si une AWS KMS opération implique une clé KMS particulière, recherchez la valeur de la clé KMS dans la colonne Ressources du tableau deAWS KMS autorisations.

Par exemple, l'instruction de politique suivante utilise un effet Deny pour interdire aux principaux d'utiliser les opérations spécifiées sur une clé KMS. Elle utilise un caractère générique dans l'élément Resource pour représenter toutes les clés KMS.

{ "Version": "2012-10-17", "Statement": { "Effect": "Deny", "Action": [ "kms:CreateKey", "kms:PutKeyPolicy", "kms:CreateGrant", "kms:ScheduleKeyDeletion" ], "Resource": "*" } }

L'instruction de politique suivante utilise un caractère générique seul pour représenter toutes les clés KMS. Mais il n'autorise que les opérations moins sensibles en lecture seule et les opérations qui ne s'appliquent pas à une clé KMS particulière.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:CreateKey", "kms:ListKeys", "kms:ListAliases", "kms:ListResourceTags" ], "Resource": "*" } }