Utiliser des alias pour contrôler l'accès aux clés KMS - 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.

Utiliser des alias pour contrôler l'accès aux clés KMS

Vous pouvez contrôler l'accès aux KMS clés en fonction des alias associés à la KMS clé. Pour ce faire, utilisez les clés de ResourceAliases condition kms : RequestAlias et kms :. Cette fonctionnalité fait partie de la AWS KMS prise en charge du contrôle d'accès basé sur les attributs ()ABAC.

La clé de kms:RequestAlias condition autorise ou refuse l'accès à une KMS clé en fonction de l'alias figurant dans une demande. La clé de kms:ResourceAliases condition autorise ou refuse l'accès à une KMS clé en fonction des alias associés à la KMS clé.

Ces fonctionnalités ne vous permettent pas d'identifier une KMS clé en utilisant un alias dans l'resourceélément d'une déclaration de politique. Lorsqu'un alias est la valeur d'un resource élément, la politique s'applique à la ressource d'alias, et non à une KMS clé qui pourrait y être associée.

Note

Les modifications de balises et d'alias peuvent prendre jusqu'à cinq minutes pour affecter l'autorisation par KMS clé. Les modifications récentes peuvent être visibles dans les API opérations avant qu'elles n'affectent l'autorisation.

Lorsque vous utilisez des alias pour contrôler l'accès aux KMS clés, tenez compte des points suivants :

  • Utilisez des alias pour renforcer les bonnes pratiques de l'accès le moins privilégié. IAMAccordez aux directeurs uniquement les autorisations dont ils ont besoin pour les KMS clés qu'ils doivent utiliser ou gérer. Par exemple, utilisez des alias pour identifier les KMS clés utilisées pour un projet. Donnez ensuite à l'équipe du projet l'autorisation d'utiliser uniquement KMS les clés portant les alias du projet.

  • Soyez prudent lorsque vous donnez aux principaux les autorisations kms:CreateAlias, kms:UpdateAlias ou kms:DeleteAlias qui leur permettent d'ajouter, de modifier et de supprimer des alias. Lorsque vous utilisez des alias pour contrôler l'accès aux KMS clés, la modification d'un alias peut autoriser les principaux à utiliser des KMS clés qu'ils n'étaient pas autorisés à utiliser autrement. Il peut également refuser l'accès aux KMS clés dont les autres directeurs ont besoin pour faire leur travail.

  • Passez en revue les principaux de votre ordinateur Compte AWS qui sont actuellement autorisés à gérer les alias et ajustez ces autorisations, si nécessaire. Les administrateurs clés qui ne sont pas autorisés à modifier les politiques clés ou à créer des autorisations peuvent contrôler l'accès aux KMS clés s'ils sont autorisés à gérer les alias.

    Par exemple, la console Politique de clé par défaut pour les administrateurs de clés comprend les autorisations kms:CreateAlias, kms:DeleteAlias et kms:UpdateAlias. IAMles politiques peuvent accorder des autorisations d'alias pour toutes les KMS clés de votre Compte AWS. Par exemple, la politique AWSKeyManagementServicePowerUsergérée permet aux principaux de créer, de supprimer et de répertorier des alias pour toutes les KMS clés, mais pas de les mettre à jour.

  • Avant de définir une politique qui dépend d'un alias, passez en revue les alias figurant sur les KMS clés de votre Compte AWS. Assurez-vous que votre politique s'applique uniquement aux alias que vous avez l'intention d'inclure. Utilisez CloudTrail les journaux et les CloudWatch alarmes pour vous avertir des changements d'alias susceptibles d'affecter l'accès à vos KMS clés. La ListAliasesréponse inclut également la date de création et la date de dernière mise à jour pour chaque alias.

  • Les conditions de politique d'alias utilisent la correspondance de modèles ; elles ne sont pas liées à une instance particulière d'un alias. Une politique qui utilise des clés de condition basées sur des alias affecte tous les alias nouveaux et existants qui correspondent au modèle. Si vous supprimez et recréez un alias qui correspond à une condition de politique, la condition s'applique au nouvel alias, comme c'était le cas pour l'ancien.

La clé de condition kms:RequestAlias repose sur l'alias spécifié explicitement dans une demande d'opération. La clé de kms:ResourceAliases condition dépend des alias associés à une KMS clé, même s'ils n'apparaissent pas dans la demande.

km : RequestAlias

Autorisez ou refusez l'accès à une KMS clé en fonction de l'alias qui identifie la KMS clé dans une demande. Vous pouvez utiliser la clé de RequestAlias condition kms : dans une politique ou une IAM politique clé. Elle s'applique aux opérations qui utilisent un alias pour identifier une KMS clé dans une demande, à savoir les opérations cryptographiques DescribeKey, et GetPublicKey. Il n'est pas valide pour les opérations d'alias, telles que CreateAliasou DeleteAlias.

Dans la clé de condition, spécifiez un Nom d'alias ou un modèle de nom d'alias. Vous ne pouvez pas spécifier d'alias ARN.

Par exemple, la déclaration de politique clé suivante permet aux principaux d'utiliser les opérations spécifiées sur la KMS clé. L'autorisation n'est effective que lorsque la demande utilise un alias qui inclut alpha pour identifier la KMS clé.

{ "Sid": "Key policy using a request alias condition", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/alpha-developer" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringLike": { "kms:RequestAlias": "alias/*alpha*" } } }

L'exemple suivant de demande d'un principal autorisé remplirait la condition. Cependant, une demande utilisant un identifiant de clé, une clé ARN ou un autre alias ne remplirait pas la condition, même si ces valeurs identifiaient la même KMS clé.

$ aws kms describe-key --key-id "arn:aws:kms:us-west-2:111122223333:alias/project-alpha"

km : ResourceAliases

Autorisez ou refusez l'accès à une KMS clé en fonction des alias associés à la KMS clé, même si l'alias n'est pas utilisé dans une demande. La clé de ResourceAliases condition kms : vous permet de spécifier un alias ou un modèle d'alias, par exemplealias/test*, afin que vous puissiez l'utiliser dans une IAM politique pour contrôler l'accès à plusieurs KMS clés dans la même région. C'est valable pour toute AWS KMS opération utilisant une KMS clé.

Par exemple, la IAM politique suivante permet aux principaux d'appeler en deux Comptes AWS les opérations spécifiées sur les KMS touches. Toutefois, l'autorisation s'applique uniquement aux KMS clés associées à des alias commençant restricted par.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AliasBasedIAMPolicy", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": [ "arn:aws:kms:*:111122223333:key/*", "arn:aws:kms:*:444455556666:key/*" ], "Condition": { "ForAnyValue:StringLike": { "kms:ResourceAliases": "alias/restricted*" } } } ] }

La condition kms:ResourceAliases est une condition de la ressource, pas la demande. Dès lors, une demande qui ne spécifie pas l'alias peut toujours satisfaire la condition.

L'exemple de demande suivant, qui spécifie un alias correspondant, satisfait à la condition.

$ aws kms enable-key-rotation --key-id "alias/restricted-project"

Cependant, l'exemple de demande suivant satisfait également la condition, à condition que la KMS clé spécifiée possède un alias commençant parrestricted, même si cet alias n'est pas utilisé dans la demande.

$ aws kms enable-key-rotation --key-id "1234abcd-12ab-34cd-56ef-1234567890ab"