Contrôle de l'accès aux alias - 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 alias

Lorsque vous créez ou modifiez un alias, vous affectez l'alias et sa clé KMS associée. Par conséquent, les principaux qui gèrent les alias doivent avoir l'autorisation d'appeler l'opération d'alias sur l'alias et sur toutes les clés KMS affectées. Vous pouvez fournir ces autorisations à l'aide de politiques de clé, de politiques IAM et d'octrois.

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 ABAC pour AWS KMS et Utilisation d'alias pour contrôler l'accès aux clés KMS.

Pour de plus amples informations sur le contrôle de l'accès à toutes les opérations AWS KMS, veuillez consulter Référence des autorisations .

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

km : CreateAlias

Pour créer un alias, le principal a besoin des autorisations suivantes pour l'alias et pour la clé KMS associée.

  • kms:CreateAlias pour l'alias. Fournissez cette autorisation dans une politique IAM attachée au principal autorisé à créer l'alias.

    L'exemple de déclaration de politique suivant spécifie un alias particulier dans l'élément Resource. Toutefois, vous pouvez répertorier plusieurs ARN d'alias ou spécifier un modèle d'alias, tel que « test* ». Vous pouvez également spécifier une valeur Resource de "*" pour permettre au principal de créer un alias dans le compte et la région. L'autorisation de créer un alias peut également être incluse dans une autorisation kms:Create* pour toutes les ressources d'un compte et d'une région.

    { "Sid": "IAMPolicyForAnAlias", "Effect": "Allow", "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias" ], "Resource": "arn:aws:kms:us-west-2:111122223333:alias/test-key" }
  • kms:CreateAlias pour la clé KMS. Cette autorisation doit être fournie dans une politique de clé ou dans une IAM politique déléguée par la politique de clé.

    { "Sid": "Key policy for 1234abcd-12ab-34cd-56ef-1234567890ab", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:user/KMSAdminUser"}, "Action": [ "kms:CreateAlias", "kms:DescribeKey" ], "Resource": "*" }

Vous pouvez utiliser des clés de condition pour limiter les clés KMS que vous pouvez associer à un alias. Par exemple, vous pouvez utiliser la clé de KeySpec condition kms : pour autoriser le principal à créer des alias uniquement sur des clés KMS asymétriques. Pour obtenir la liste complète des clés de condition que vous pouvez utiliser pour limiter l'autorisation kms:CreateAlias sur les ressources de clé KMS, veuillez consulter AWS KMS autorisations.

km : ListAliases

Pour répertorier les alias dans le compte et la région, le principal doit avoir une autorisation kms:ListAliases dans une politique IAM. Étant donné que cette politique n'est pas liée à une clé KMS particulière ou à une ressource d'alias, la valeur de l'élément de ressource dans la politique doit être "*".

Par exemple, la déclaration de politique IAM suivante donne au principal l'autorisation de répertorier toutes les clés et tous les alias KMS dans le compte et la région.

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

km : UpdateAlias

Pour modifier la clé KMS associée à un alias, le principal a besoin de trois éléments d'autorisation : un pour l'alias, un pour la clé KMS actuelle et un pour la nouvelle clé KMS.

Par exemple, supposons que vous souhaitiez modifier l'alias test-key de la clé KMS avec l'ID de clé 1234abcd-12ab-34cd-56ef-1234567890ab vers la clé KMS avec l'ID de clé 0987dcba-09fe-87dc-65ba-ab0987654321. Dans ce cas, incluez des déclarations de politique similaires aux exemples de cette section.

  • kms:UpdateAlias pour l'alias. Vous fournissez cette autorisation dans une politique IAM associée au principal. La politique IAM suivante spécifie un alias particulier. Toutefois, vous pouvez répertorier plusieurs ARN d'alias ou spécifier un modèle d'alias, tel que "test*". Vous pouvez également spécifier une valeur Resource de "*" pour permettre au principal de mettre à jour un alias dans le compte et la région.

    { "Sid": "IAMPolicyForAnAlias", "Effect": "Allow", "Action": [ "kms:UpdateAlias", "kms:ListAliases", "kms:ListKeys" ], "Resource": "arn:aws:kms:us-west-2:111122223333:alias/test-key" }
  • kms:UpdateAlias pour la clé KMS actuellement associée à l'alias. Cette autorisation doit être fournie dans une politique de clé ou dans une IAM politique déléguée par la politique de clé.

    { "Sid": "Key policy for 1234abcd-12ab-34cd-56ef-1234567890ab", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:user/KMSAdminUser"}, "Action": [ "kms:UpdateAlias", "kms:DescribeKey" ], "Resource": "*" }
  • kms:UpdateAlias pour la clé KMS que l'opération associe à l'alias. Cette autorisation doit être fournie dans une politique de clé ou dans une IAM politique déléguée par la politique de clé.

    { "Sid": "Key policy for 0987dcba-09fe-87dc-65ba-ab0987654321", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:user/KMSAdminUser"}, "Action": [ "kms:UpdateAlias", "kms:DescribeKey" ], "Resource": "*" }

Vous pouvez utiliser des clés de condition pour limiter l'une ou l'autre des clés KMS dans une opération UpdateAlias. Par exemple, vous pouvez utiliser une clé de ResourceAliases condition kms : pour autoriser le principal à mettre à jour les alias uniquement lorsque la clé KMS cible possède déjà un alias particulier. Pour obtenir la liste complète des clés de condition que vous pouvez utiliser pour limiter l'autorisation kms:UpdateAlias sur une ressource de clé KMS, veuillez consulter AWS KMS autorisations.

km : DeleteAlias

Pour supprimer un alias, le principal a besoin d'une autorisation pour l'alias et pour la clé KMS associée.

Comme toujours, vous devez faire preuve de prudence lorsque vous autorisez les principaux à supprimer une ressource. Toutefois, la suppression d'un alias n'a aucun effet sur la clé KMS associée. Bien que cela puisse provoquer un échec dans une application qui s'appuie sur l'alias, si vous supprimez un alias par erreur, vous pouvez le recréer.

  • kms:DeleteAlias pour l'alias. Fournissez cette autorisation dans une politique IAM attachée au principal autorisé à supprimer l'alias.

    L'exemple de déclaration de politique suivant spécifie un alias dans l'élément Resource. Toutefois, vous pouvez répertorier plusieurs ARN d'alias ou spécifier un modèle d'alias, tel que "test*". Vous pouvez également spécifier une valeur Resource de "*" pour permettre au principal de supprimer tout alias dans le compte et la région.

    { "Sid": "IAMPolicyForAnAlias", "Effect": "Allow", "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias" ], "Resource": "arn:aws:kms:us-west-2:111122223333:alias/test-key" }
  • kms:DeleteAlias pour la clé KMS associée. Cette autorisation doit être fournie dans une politique de clé ou dans une IAM politique déléguée par la politique de clé.

    { "Sid": "Key policy for 1234abcd-12ab-34cd-56ef-1234567890ab", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:user/KMSAdminUser" }, "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias", "kms:DescribeKey" ], "Resource": "*" }

Limitation des autorisations d'alias

Vous pouvez utiliser des clés de condition pour limiter les autorisations d'alias lorsque la ressource est une clé KMS. Par exemple, la politique IAM suivante autorise les opérations d'alias sur les clés KMS d'un compte et d'une région en particulier. Cependant, il utilise la clé de KeyOrigin condition kms : pour limiter davantage les autorisations aux clés KMS dont le contenu clé provient deAWS KMS.

Pour obtenir la liste complète des clés de condition que vous pouvez utiliser pour limiter l'autorisation d'alias sur une ressource de clé KMS, veuillez consulter AWS KMS autorisations.

{ "Sid": "IAMPolicyKeyPermissions", "Effect": "Allow", "Resource": "arn:aws:kms:us-west-2:111122223333:key/*", "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias" ], "Condition": { "StringEquals": { "kms:KeyOrigin": "AWS_KMS" } } }

Vous ne pouvez pas utiliser de clés de condition dans une instruction de politique où la ressource est un alias. Pour limiter les alias qu'un principal peut gérer, utilisez la valeur de l'élément Resource de la déclaration de politique IAM qui contrôle l'accès à l'alias. Par exemple, les instructions de politique suivantes permettent au principal de créer, de mettre à jour ou de supprimer un alias dans le Compte AWS et la région, sauf si l'alias commence par Restricted.

{ "Sid": "IAMPolicyForAnAliasAllow", "Effect": "Allow", "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias" ], "Resource": "arn:aws:kms:us-west-2:111122223333:alias/*" }, { "Sid": "IAMPolicyForAnAliasDeny", "Effect": "Deny", "Action": [ "kms:CreateAlias", "kms:UpdateAlias", "kms:DeleteAlias" ], "Resource": "arn:aws:kms:us-west-2:111122223333:alias/Restricted*" }