Utiliser des VPC points de terminaison pour contrôler l'accès aux ressources AWS 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 VPC points de terminaison pour contrôler l'accès aux ressources AWS KMS

Vous pouvez contrôler l'accès aux AWS KMS ressources et aux opérations lorsque la demande provient VPC ou utilise un VPC point de terminaison. Pour ce faire, utilisez l'une des clés de condition globales suivantes dans une IAMpolitique ou une stratégie clé.

  • Utilisez la clé de aws:sourceVpce condition pour accorder ou restreindre l'accès en fonction du VPC point de terminaison.

  • Utilisez la clé de aws:sourceVpc condition pour accorder ou restreindre l'accès en fonction de VPC celle qui héberge le point de terminaison privé.

Note

Soyez prudent lorsque vous créez des politiques clés et IAM des politiques basées sur votre VPC terminal. Si une déclaration de politique exige que les demandes proviennent d'un point de VPC terminaison VPC ou d'un point de terminaison en particulier, les demandes émanant de AWS services intégrés qui utilisent une AWS KMS ressource en votre nom risquent d'échouer. Pour obtenir de l'aide, veuillez consulter Utilisation des conditions du point de VPC terminaison dans les politiques avec AWS KMS autorisations.

De plus, la clé de aws:sourceIP condition n'est pas efficace lorsque la demande provient d'un point de VPCterminaison Amazon. Pour limiter les demandes à un VPC point de terminaison, utilisez les clés de aws:sourceVpc condition aws:sourceVpce ou. Pour plus d'informations, consultez la section Gestion des identités et des accès pour les VPC terminaux et les services des VPC terminaux dans le AWS PrivateLink Guide.

Vous pouvez utiliser ces clés de condition globales pour contrôler l'accès aux AWS KMS keys (KMSclés), aux alias et aux opérations de CreateKeyce type qui ne dépendent d'aucune ressource en particulier.

Par exemple, l'exemple de politique de clé suivant permet à un utilisateur d'effectuer certaines opérations cryptographiques avec une KMS clé uniquement lorsque la demande utilise le point de VPC terminaison spécifié. Lorsqu'un utilisateur fait une demande à AWS KMS, l'ID du VPC point de terminaison figurant dans la demande est comparé à la valeur de la clé de aws:sourceVpce condition dans la politique. S'il n'y a pas de concordance, la requête est refusée.

Pour utiliser une politique comme celle-ci, remplacez l' Compte AWS identifiant réservé et le point de VPC terminaison par IDs des valeurs valides pour votre compte.

{ "Id": "example-key-1", "Version": "2012-10-17", "Statement": [ { "Sid": "Enable IAM policies", "Effect": "Allow", "Principal": {"AWS":["111122223333"]}, "Action": ["kms:*"], "Resource": "*" }, { "Sid": "Restrict usage to my VPC endpoint", "Effect": "Deny", "Principal": "*", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*" ], "Resource": "*", "Condition": { "StringNotEquals": { "aws:sourceVpce": "vpce-1234abcdf5678c90a" } } } ] }

Vous pouvez également utiliser la clé de aws:sourceVpc condition pour restreindre l'accès à vos KMS clés en fonction du point de terminaison VPC dans lequel réside le point de VPC terminaison.

L'exemple de politique de touches suivant autorise les commandes qui gèrent les KMS touches uniquement lorsqu'elles proviennentvpc-12345678. De plus, il autorise les commandes qui utilisent la KMS clé pour les opérations cryptographiques uniquement lorsqu'elles proviennent devpc-2b2b2b2b. Vous pouvez utiliser une politique comme celle-ci si une application s'exécute dans l'une d'entre ellesVPC, mais vous en utilisez une seconde, isolée VPC pour les fonctions de gestion.

Pour utiliser une politique comme celle-ci, remplacez l' Compte AWS identifiant réservé et le point de VPC terminaison par IDs des valeurs valides pour votre compte.

{ "Id": "example-key-2", "Version": "2012-10-17", "Statement": [ { "Sid": "Allow administrative actions from vpc-12345678", "Effect": "Allow", "Principal": {"AWS": "111122223333"}, "Action": [ "kms:Create*","kms:Enable*","kms:Put*","kms:Update*", "kms:Revoke*","kms:Disable*","kms:Delete*", "kms:TagResource", "kms:UntagResource" ], "Resource": "*", "Condition": { "StringEquals": { "aws:sourceVpc": "vpc-12345678" } } }, { "Sid": "Allow key usage from vpc-2b2b2b2b", "Effect": "Allow", "Principal": {"AWS": "111122223333"}, "Action": [ "kms:Encrypt","kms:Decrypt","kms:GenerateDataKey*" ], "Resource": "*", "Condition": { "StringEquals": { "aws:sourceVpc": "vpc-2b2b2b2b" } } }, { "Sid": "Allow read actions from everywhere", "Effect": "Allow", "Principal": {"AWS": "111122223333"}, "Action": [ "kms:Describe*","kms:List*","kms:Get*" ], "Resource": "*", } ] }