Exemples 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.

Exemples de politique IAM

Dans cette section, vous trouverez des exemples de politiques IAM qui accordent des autorisations pour diverses actions AWS KMS.

Important

Certaines des autorisations figurant dans les politiques suivantes sont autorisées uniquement lorsque la politique de clé de la clé KMS les autorise également. Pour plus d’informations, consultez Référence des autorisations .

Pour obtenir de l'aide sur la rédaction et la mise en forme d'un document de politique JSON, veuillez consulter Référence de politique JSON IAM dans le Guide de l'utilisateur IAM.

Autoriser un utilisateur à afficher les clés KMS dans la console AWS KMS

La politique IAM suivante accorde aux utilisateurs l'accès en lecture seule à la console AWS KMS. Les utilisateurs disposant de ces autorisations peuvent afficher toutes les clés KMS dans leur Compte AWS, mais ils ne peuvent pas créer ou modifier des clés KMS.

Pour afficher les clés KMS sur les pages des clés gérées par le client Clés gérées par AWSet sur les pages des clés gérées par le clientListKeys, les principaux ont besoin des GetResources autorisations kms : ListAliases, kms : et tag :, même si les clés ne comportent pas de balises ni d'alias. Les autorisations restantes, en particulier kms : DescribeKey, sont requises pour afficher les colonnes facultatives du tableau des clés KMS et les données sur les pages détaillées des clés KMS. Les ListRoles autorisations iam : ListUsers et iam : sont requises pour afficher la politique clé dans l'affichage par défaut sans erreur. Pour consulter les données sur la page des magasins de clés personnalisés et les détails sur les clés KMS dans les magasins de clés personnalisés, les principaux ont également besoin de DescribeCustomKeyStores l'autorisation kms :.

Si vous limitez l'accès de la console d'un utilisateur à des clés KMS particulières, la console affiche une erreur pour chaque clé KMS qui n'est pas visible.

Cette politique inclut deux instructions de politique. L'élément Resource dans la première instruction de politique accorde les autorisations spécifiées sur toutes les clés KMS dans toutes les régions du Compte AWS d'exemple. Les utilisateurs de la console n'ont pas besoin d'un accès supplémentaire, car la console AWS KMS affiche uniquement les clés KMS dans le compte du principal. Cela est vrai même s'ils ont l'autorisation d'afficher les clés KMS dans d'autres Comptes AWS. Les autorisations IAM et AWS KMS restantes nécessitent un élément "Resource": "*", car elles ne s'appliquent pas à une clé KMS particulière.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadOnlyAccessForAllKMSKeysInAccount", "Effect": "Allow", "Action": [ "kms:GetPublicKey", "kms:GetKeyRotationStatus", "kms:GetKeyPolicy", "kms:DescribeKey", "kms:ListKeyPolicies", "kms:ListResourceTags", "tag:GetResources" ], "Resource": "arn:aws:kms:*:111122223333:key/*" }, { "Sid": "ReadOnlyAccessForOperationsWithNoKMSKey", "Effect": "Allow", "Action": [ "kms:ListKeys", "kms:ListAliases", "iam:ListRoles", "iam:ListUsers" ], "Resource": "*" } ] }

Autoriser un utilisateur à créer des clés KMS

La politique IAM suivante permet à un utilisateur de créer tous les types de clés KMS. La valeur de l'élément Resource est * parce que l'opération CreateKey n'utilise aucune ressource AWS KMS particulière (clé KMS ou alias).

Pour restreindre l'utilisateur à certains types de clés KMS, utilisez les clés de KeyOrigin condition kms : KeyUsage, kms : et kms :. KeySpec

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "kms:CreateKey", "Resource": "*" } }

Les principaux qui créent des clés peuvent avoir besoin de certaines autorisations associées.

  • kms : PutKeyPolicy — Les principaux kms:CreateKey autorisés peuvent définir la politique de clé initiale pour la clé KMS. Cependant, l'CreateKeyappelant doit disposer de l'PutKeyPolicyautorisation kms :, qui lui permet de modifier la politique des clés KMS, ou il doit spécifier le BypassPolicyLockoutSafetyCheck paramètre deCreateKey, ce qui n'est pas recommandé. L'appelant CreateKey peut obtenir l'autorisation kms:PutKeyPolicy pour la clé KMS depuis une politique IAM, ou il peut inclure cette autorisation dans la politique de clé de la clé KMS qu'il crée.

  • kms : TagResource — Pour ajouter des balises à la clé KMS pendant l'CreateKeyopération, l'CreateKeyappelant doit disposer de l'TagResourceautorisation kms : dans une politique IAM. L'inclusion de cette autorisation dans la politique de clé de la nouvelle clé KMS ne suffit pas. Cependant, si l'appelant CreateKey inclut kms:TagResource dans la politique de clé initiale, il peut ajouter des balises dans un appel séparé après la création de la clé KMS.

  • kms : CreateAlias — Les principaux qui créent une clé KMS dans la AWS KMS console doivent disposer de l'CreateAliasautorisation kms : sur la clé KMS et sur l'alias. (La console effectue deux appels ; un à CreateKey et un à CreateAlias). Vous devez fournir l'autorisation d'alias dans une politique IAM. Vous pouvez fournir l'autorisation de clé KMS dans une politique de clé ou une politique IAM. Pour plus de détails, veuillez consulter Contrôle de l'accès aux alias.

En plus de kms:CreateKey, la politique IAM suivante accorde une autorisation kms:TagResource sur toutes les clés KMS dans le Compte AWS et une autorisation kms:CreateAlias sur tous les alias du compte. Elle inclut également certaines autorisations utiles en lecture seule qui peuvent être fournies uniquement dans une politique IAM.

Cette politique IAM n'inclut pas l'autorisation kms:PutKeyPolicy ou toute autre autorisation pouvant être définie dans une politique de clé. La définition de ces autorisations dans la politique de clé, où elles s'appliquent exclusivement à une clé KMS, est une bonne pratique.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "IAMPermissionsForParticularKMSKeys", "Effect": "Allow", "Action": "kms:TagResource", "Resource": "arn:aws:kms:*:111122223333:key/*" }, { "Sid": "IAMPermissionsForParticularAliases", "Effect": "Allow", "Action": "kms:CreateAlias", "Resource": "arn:aws:kms:*:111122223333:alias/*" }, { "Sid": "IAMPermissionsForAllKMSKeys", "Effect": "Allow", "Action": [ "kms:CreateKey", "kms:ListKeys", "kms:ListAliases" ], "Resource": "*" } ] }

Autoriser un utilisateur à chiffrer et déchiffrer avec n'importe quelle clé KMS dans un Compte AWS spécifique

La politique IAM suivante permet à un utilisateur de chiffrer et de déchiffrer des données avec n'importe quelle clé KMS dans le Compte AWS 111122223333.

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

Autoriser un utilisateur à chiffrer et déchiffrer avec n'importe quelle clé KMS dans un Compte AWS et une région spécifiques

La politique IAM suivante permet à un utilisateur de chiffrer et de déchiffrer des données avec n'importe quelle clé KMS dans le Compte AWS 111122223333, dans la région USA Ouest (Oregon).

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:us-west-2:111122223333:key/*" ] } }

Autoriser un utilisateur à chiffrer et déchiffrer des données avec des clés KMS spécifiques

La politique IAM suivante permet à un utilisateur de chiffrer et de déchiffrer des données avec les deux clés KMS spécifiées dans l'élément Resource. Lorsque vous spécifiez une clé KMS dans une instruction de politique IAM, vous devez utiliser l'ARN de clé de la clé KMS.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Encrypt", "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" ] } }

Empêcher un utilisateur de désactiver et de supprimer des clés KMS

La politique IAM suivante empêche un utilisateur de désactiver et de supprimer des clés KMS, même si une autre politique IAM ou une politique de clé accorde ces autorisations. Une politique qui refuse explicitement des autorisations se substitue à toutes les autres politiques, même à celles qui accordent explicitement les mêmes autorisations. Pour plus d'informations, consultez Résolution des problèmes de clé d'accès.

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