Bonnes pratiques pour les politiques 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.

Bonnes pratiques pour les politiques IAM

La sécurisation de l'accès AWS KMS keys est essentielle à la sécurité de toutes vos AWS ressources. Les clés KMS sont utilisées pour protéger la plupart des ressources les plus sensibles de votre Compte AWS. Prenez le temps de concevoir les politiques clés, les politiques IAM, les autorisations et les politiques de point de terminaison VPC qui contrôlent l'accès à vos clés KMS.

Dans les instructions de politique IAM qui contrôlent l'accès aux clés KMS, utilisez le principe du moindre privilège. N'accordez aux principaux IAM que les autorisations dont ils ont besoin pour les clés KMS qu'ils doivent utiliser ou gérer.

Les meilleures pratiques suivantes s'appliquent aux politiques IAM qui contrôlent l'accès aux AWS KMS clés et aux alias. Pour obtenir des conseils généraux sur les bonnes pratiques en matière de politique IAM, consultez Security best practices in IAM (Bonnes pratiques de sécurité dans IAM) dans le Guide de l'utilisateur IAM.

Utilisation de politiques de clé

Dans la mesure du possible, fournissez des autorisations dans les politiques de clé qui affectent une clé KMS, plutôt que dans une politique IAM qui peut s'appliquer à de nombreuses clés KMS, y compris celles d'autres Comptes AWS. Cela est particulièrement important pour les autorisations sensibles telles que kms : PutKeyPolicy et kms : ScheduleKeyDeletion mais également pour les opérations cryptographiques qui déterminent la manière dont vos données sont protégées.

Limiter CreateKey l'autorisation

Donnez l'autorisation de créer des clés (kms : CreateKey) uniquement aux principaux qui en ont besoin. Les principaux qui créent une clé KMS définissent également sa politique de clé, afin qu'ils puissent se donner, ainsi qu'à d'autres, l'autorisation d'utiliser et de gérer les clés KMS qu'ils créent. Lorsque vous accordez cette autorisation, envisagez de la limiter en utilisant les conditions de politique. Par exemple, vous pouvez utiliser la KeySpec condition kms : pour limiter l'autorisation aux clés KMS de chiffrement symétriques.

Spécifier des clés KMS dans une politique IAM

La bonne pratique consiste à spécifier l'ARN de clé de chaque clé KMS à laquelle l'autorisation s'applique dans l'élément Resource de l'instruction de politique. Cette pratique limite l'autorisation aux clés KMS requises par le principal. Par exemple, cet élément Resource ne répertorie que les clés KMS que le principal doit utiliser.

"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" ]

Lorsque la spécification de clés KMS n'est pas pratique, utilisez une Resource valeur qui limite l'accès aux clés KMS dans une région sécurisée Compte AWS , telle quearn:aws:kms:region:account:key/*. Ou limitez l'accès aux clés KMS dans toutes les régions (*) d'une région fiable Compte AWS, telle quearn:aws:kms:*:account:key/*.

Vous ne pouvez pas utiliser d'ID de clé, de nom d'alias ou d'ARN d'alias pour représenter une clé KMS dans le champ Resource d'une politique IAM. Si vous spécifiez un ARN d'alias, la politique s'applique à l'alias et non à la clé KMS. Pour plus d'informations sur les politiques IAM d'alias, veuillez consulter Contrôle de l'accès aux alias.

Évitez « Resource » : « * » dans une politique IAM.

Utilisez judicieusement les caractères génériques (*). Dans une politique de clé, le caractère générique de l'élément Resource représente la clé KMS à laquelle la politique de clé est attachée. Mais dans une politique IAM, seul un caractère générique dans l'Resourceélément ("Resource": "*") applique les autorisations à toutes les clés KMS Comptes AWS que le compte principal est autorisé à utiliser. Cela peut inclure des clés KMS dans d'autres Comptes AWS, ainsi que des clés KMS dans le compte du principal.

Par exemple, pour utiliser une clé KMS dans un autre compte Compte AWS, un principal doit obtenir l'autorisation de la politique de clé KMS du compte externe et de la politique IAM de son propre compte. Supposons qu'un compte arbitraire ait donné à votre Compte AWS l'autorisation kms:Decrypt sur leurs clés KMS. Si c'est le cas, une politique IAM de votre compte qui donne à un rôle l'autorisation kms:Decrypt sur toutes les clés KMS ("Resource": "*") satisferait à la partie IAM de l'exigence. Par conséquent, les principaux qui peuvent endosser ce rôle peuvent désormais déchiffrer les textes chiffrés à l'aide de la clé KMS du compte non approuvé. Les entrées relatives à leurs opérations apparaissent dans les CloudTrail journaux des deux comptes.

Évitez notamment d'utiliser "Resource": "*" dans une instruction de politique qui autorise les opérations d'API suivantes. Ces opérations peuvent être appelées sur des clés KMS dans d'autres Comptes AWS.

Quand utiliser « Resource » : « * »

Dans une politique IAM, utilisez un caractère générique dans l'élément Resource uniquement pour les autorisations qui le requièrent. Seules les autorisations suivantes nécessitent l'élément "Resource": "*".

Note

Les autorisations pour les opérations d'alias (kms : CreateAlias, kms : UpdateAlias, kms : DeleteAlias) doivent être associées à l'alias et à la clé KMS. Vous pouvez utiliser "Resource": "*" dans une politique IAM pour représenter les alias et les clés KMS, ou spécifier les alias et les clés KMS dans l'élément Resource. Pour obtenir des exemples, consultez Contrôle de l'accès aux alias.

 

Les exemples de cette rubrique fournissent plus d'informations et de conseils sur la conception de politiques IAM pour les clés KMS. Pour connaître les meilleures pratiques en matière d'IAM pour toutes les AWS ressources, consultez la section Bonnes pratiques de sécurité en matière d'IAM dans le guide de l'utilisateur d'IAM.