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.
Utilisation de politiques de clé
Les exemples de cette rubrique utilisent l'API AWS KMS pour afficher et modifier les politiques de clé des AWS KMS keys.
Pour plus de détails sur la façon d'utiliser les politiques de clé, les politiques IAM et les octrois pour gérer l'accès à vos clés KMS, veuillez consulter Authentification et contrôle d'accès pour AWS KMS. Pour obtenir de l'aide sur la rédaction et la mise en forme d'un document de politique JSON, consultez la Référence de politique JSON IAM dans le Guide de l'utilisateur IAM.
Rubriques
Établissement de la liste des politiques de clé
Pour obtenir les noms des politiques clés pour unAWS KMS key, utilisez l'ListKeyPoliciesopération. Le seul nom de politique de clé qu'elle renvoie est default.
Dans les langues qui nécessitent un objet client, ces exemples utilisent l'objet client AWS KMS que vous avez créé dans Création d'un client.
- Java
-
Pour plus de détails sur l'implémentation de Java, consultez la listKeyPolicies méthode dans la référence de l'AWS SDK for JavaAPI.
// List key policies // // Replace the following example key ARN with a valid key ID or key ARN String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; ListKeyPoliciesRequest req = new ListKeyPoliciesRequest().withKeyId(keyId); ListKeyPoliciesResult result = kmsClient.listKeyPolicies(req);
- C#
-
Pour obtenir des détails, consultez la méthode ListKeyPolicies dans AWS SDK for .NET.
// List key policies // // Replace the following example key ARN with a valid key ID or key ARN String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; ListKeyPoliciesRequest listKeyPoliciesRequest = new ListKeyPoliciesRequest() { KeyId = keyId }; ListKeyPoliciesResponse listKeyPoliciesResponse = kmsClient.ListKeyPolicies(listKeyPoliciesRequest);
- Python
-
Pour obtenir des détails, consultez la méthode
list_key_policies
dans AWS SDK for Python (Boto3). # List key policies # Replace the following example key ARN with a valid key ID or key ARN key_id = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' response = kms_client.list_key_policies( KeyId=key_id )
- Ruby
-
Pour obtenir des détails, consultez la méthode d'instance
list_key_policies
dans le kit AWS SDK for Ruby.# List key policies # Replace the following example key ARN with a valid key ID or key ARN key_id = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' response = kmsClient.list_key_policies({ key_id: key_id })
- PHP
-
Pour obtenir des détails, consultez la méthode ListKeyPolicies dans AWS SDK for PHP.
// List key policies // // Replace the following example key ARN with a valid key ID or key ARN $keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'; $result = $KmsClient->listKeyPolicies([ 'KeyId' => $keyId ]);
- Node.js
-
Pour plus de détails, consultez la listKeyPolicies propriété dans le AWSSDK pour JavaScript dans Node.js.
// List key policies // // Replace the following example key ARN with a valid key ID or key ARN const KeyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'; kmsClient.listKeyPolicies({ KeyId }, (err, data) => { ... });
- PowerShell
Pour répertorier le nom de la politique de clé par défaut, utilisez l'applet de commande Get-KMS KeyPolicyList.
# List key policies # Replace the following example key ARN with a valid key ID or key ARN $keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' $response = Get-KMSKeyPolicyList -KeyId $keyId
Pour utiliser les AWS KMS PowerShell applets de commande, installez le fichier AWS.tools. KeyManagementService
module. Pour plus d’informations, consultez le Guide de l’utilisateur AWS Tools for Windows PowerShell.
Obtention d'une politique de clé
Pour obtenir la politique clé d'unAWS KMS key, utilisez l'GetKeyPolicyopération.
GetKeyPolicy nécessite un nom de politique. Le seul nom de politique valide est default.
Dans les langues qui nécessitent un objet client, ces exemples utilisent l'objet client AWS KMS que vous avez créé dans Création d'un client.
- Java
-
Pour plus de détails, consultez la getKeyPolicy méthode dans la référence de AWS SDK for Java l'API.
// Get the policy for a KMS key // // Replace the following example key ARN with a valid key ID or key ARN String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; String policyName = "default"; GetKeyPolicyRequest req = new GetKeyPolicyRequest().withKeyId(keyId).withPolicyName(policyName); GetKeyPolicyResult result = kmsClient.getKeyPolicy(req);
- C#
-
Pour obtenir des détails, consultez la méthode GetKeyPolicy dans AWS SDK for .NET.
// Get the policy for a KMS key // // Replace the following example key ARN with a valid key ID or key ARN String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; String policyName = "default"; GetKeyPolicyRequest getKeyPolicyRequest = new GetKeyPolicyRequest() { KeyId = keyId, PolicyName = policyName }; GetKeyPolicyResponse getKeyPolicyResponse = kmsClient.GetKeyPolicy(getKeyPolicyRequest);
- Python
-
Pour obtenir des détails, consultez la méthode
get_key_policy
dans AWS SDK for Python (Boto3). # Get the policy for a KMS key # Replace the following example key ARN with a valid key ID or key ARN key_id = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' policy_name = 'default' response = kms_client.get_key_policy( KeyId=key_id, PolicyName=policy_name )
- Ruby
-
Pour obtenir des détails, consultez la méthode d'instance
get_key_policy
dans le kit AWS SDK for Ruby.# Get the policy for a KMS key # Replace the following example key ARN with a valid key ID or key ARN key_id = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' policy_name = 'default' response = kmsClient.get_key_policy({ key_id: key_id, policy_name: policy_name })
- PHP
-
Pour obtenir des détails, consultez la méthode GetKeyPolicy dans AWS SDK for PHP.
// Get the policy for a KMS key // // Replace the following example key ARN with a valid key ID or key ARN $keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'; $policyName = "default"; $result = $KmsClient->getKeyPolicy([ 'KeyId' => $keyId, 'PolicyName' => $policyName ]);
- Node.js
Pour plus de détails, consultez la getKeyPolicy propriété dans le AWSSDK pour JavaScript dans Node.js.
// Get the policy for a KMS key // // Replace the following example key ARN with a valid key ID or key ARN const KeyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'; const PolicyName = 'default'; kmsClient.getKeyPolicy({ KeyId, PolicyName }, (err, data) => { ... });
- PowerShell
Pour obtenir la politique de clé d'une clé KMS, utilisez l'applet de commande Get-KMS KeyPolicy. Cette applet de commande renvoie la politique clé sous forme de chaîne (System.String) que vous pouvez utiliser dans une commande KeyPolicyWrite-KMS ().
PutKeyPolicy
Pour convertir les politiques de la chaîne JSON enPSCustomObject
objets, utilisez l'applet de commande ConvertFrom-JSON. # Get the policy for a KMS key # Replace the following example key ARN with a valid key ID or key ARN $keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' $policyName = 'default' $response = Get-KMSKeyPolicy -KeyId $keyId -PolicyName $policyName
Pour utiliser les AWS KMS PowerShell applets de commande, installez le fichier AWS.tools. KeyManagementService
module. Pour plus d’informations, consultez le Guide de l’utilisateur AWS Tools for Windows PowerShell.
Définition d'une politique de clé
Pour créer ou remplacer la politique de clé pour une clé KMS, utilisez l'PutKeyPolicyopération.
PutKeyPolicy
nécessite un nom de politique. Le seul nom de politique valide est default.
Dans les langues qui nécessitent un objet client, ces exemples utilisent l'objet client AWS KMS que vous avez créé dans Création d'un client.
- Java
-
Pour plus de détails, consultez la putKeyPolicy méthode dans la référence de AWS SDK for Java l'API.
// Set a key policy for a KMS key // // Replace the following example key ARN with a valid key ID or key ARN String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; String policyName = "default"; String policy = "{" + " \"Version\": \"2012-10-17\"," + " \"Statement\": [{" + " \"Sid\": \"Allow access for ExampleRole\"," + " \"Effect\": \"Allow\"," + // Replace the following example user ARN with a valid one " \"Principal\": {\"AWS\": \"arn:aws:iam::111122223333:role/ExampleKeyUserRole\"}," + " \"Action\": [" + " \"kms:Encrypt\"," + " \"kms:GenerateDataKey*\"," + " \"kms:Decrypt\"," + " \"kms:DescribeKey\"," + " \"kms:ReEncrypt*\"" + " ]," + " \"Resource\": \"*\"" + " }]" + "}"; PutKeyPolicyRequest req = new PutKeyPolicyRequest().withKeyId(keyId).withPolicy(policy).withPolicyName(policyName); kmsClient.putKeyPolicy(req);
- C#
-
Pour obtenir des détails, consultez la méthode PutKeyPolicy dans AWS SDK for .NET.
// Set a key policy for a KMS key // // Replace the following example key ARN with a valid key ID or key ARN String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; String policyName = "default"; String policy = "{" + " \"Version\": \"2012-10-17\"," + " \"Statement\": [{" + " \"Sid\": \"Allow access for ExampleUser\"," + " \"Effect\": \"Allow\"," + // Replace the following example user ARN with a valid one " \"Principal\": {\"AWS\": \"arn:aws:iam::111122223333:role/ExampleKeyUserRole\"}," + " \"Action\": [" + " \"kms:Encrypt\"," + " \"kms:GenerateDataKey*\"," + " \"kms:Decrypt\"," + " \"kms:DescribeKey\"," + " \"kms:ReEncrypt*\"" + " ]," + " \"Resource\": \"*\"" + " }]" + "}"; PutKeyPolicyRequest putKeyPolicyRequest = new PutKeyPolicyRequest() { KeyId = keyId, Policy = policy, PolicyName = policyName }; kmsClient.PutKeyPolicy(putKeyPolicyRequest);
- Python
-
Pour obtenir des détails, consultez la méthode
put_key_policy
dans AWS SDK for Python (Boto3). # Set a key policy for a KMS key # Replace the following example key ARN with a valid key ID or key ARN key_id = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' policy_name = 'default' policy = """ { "Version": "2012-10-17", "Statement": [{ "Sid": "Allow access for ExampleUser", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:role/ExampleKeyUserRole"}, "Action": [ "kms:Encrypt", "kms:GenerateDataKey*", "kms:Decrypt", "kms:DescribeKey", "kms:ReEncrypt*" ], "Resource": "*" }] }""" response = kms_client.put_key_policy( KeyId=key_id, Policy=policy, PolicyName=policy_name )
- Ruby
-
Pour obtenir des détails, consultez la méthode d'instance
put_key_policy
dans le kit AWS SDK for Ruby.# Set a key policy for a KMS key # Replace the following example key ARN with a valid key ID or key ARN key_id = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' policy_name = 'default' policy = "{" + " \"Version\": \"2012-10-17\"," + " \"Statement\": [{" + " \"Sid\": \"Allow access for ExampleUser\"," + " \"Effect\": \"Allow\"," + # Replace the following example user ARN with a valid one " \"Principal\": {\"AWS\": \"arn:aws:iam::111122223333:role/ExampleKeyUserRole\"}," + " \"Action\": [" + " \"kms:Encrypt\"," + " \"kms:GenerateDataKey*\"," + " \"kms:Decrypt\"," + " \"kms:DescribeKey\"," + " \"kms:ReEncrypt*\"" + " ]," + " \"Resource\": \"*\"" + " }]" + "}" response = kmsClient.put_key_policy({ key_id: key_id, policy: policy, policy_name: policy_name })
- PHP
-
Pour obtenir des détails, consultez la méthode PutKeyPolicy dans AWS SDK for PHP.
// Set a key policy for a KMS key // // Replace the following example key ARN with a valid key ID or key ARN $keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'; $policyName = "default"; $result = $KmsClient->putKeyPolicy([ 'KeyId' => $keyId, 'PolicyName' => $policyName, 'Policy' => '{ "Version": "2012-10-17", "Id": "custom-policy-2016-12-07", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:user/root" }, "Action": [ "kms:*" ], "Resource": "*" }, { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleKeyUserRole" }, "Action": [ "kms:Encrypt*", "kms:GenerateDataKey*", "kms:Decrypt*", "kms:DescribeKey*", "kms:ReEncrypt*" ], "Resource": "*" } ] } ' ]);
- Node.js
Pour plus de détails, consultez la putKeyPolicy propriété dans le AWSSDK pour JavaScript dans Node.js.
// Set a key policy for a KMS key // // Replace the following example key ARN with a valid key ID or key ARN const KeyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'; const PolicyName = 'default'; const Policy = `{ "Version": "2012-10-17", "Id": "custom-policy-2016-12-07", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleKeyUserRole" }, "Action": [ "kms:Encrypt*", "kms:GenerateDataKey*", "kms:Decrypt*", "kms:DescribeKey*", "kms:ReEncrypt*" ], "Resource": "*" } ] }`; // The key policy document kmsClient.putKeyPolicy({ KeyId, Policy, PolicyName }, (err, data) => { ... });
- PowerShell
Pour définir une politique de clé pour une clé KMS, utilisez l'applet de commande Write-KMS KeyPolicy. Cette applet de commande ne renvoie aucune sortie. Pour vérifier l'efficacité de la commande, utilisez l'applet de commande Get-KMS KeyPolicy.
Le paramètre
Policy
prend une valeur de chaîne. Placez la chaîne entre guillemets simples pour en faire une chaîne littérale. Vous n'avez pas besoin d'utiliser des caractères de continuation ou des caractères d'échappement dans la chaîne littérale.# Set a key policy for a KMS key # Replace the following example key ARN with a valid key ID or key ARN $keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' $policyName = 'default' $policy = '{ "Version": "2012-10-17", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleKeyUserRole" }, "Action": [ "kms:Encrypt*", "kms:GenerateDataKey*", "kms:Decrypt*", "kms:DescribeKey*", "kms:ReEncrypt*" ], "Resource": "*" }] }' Write-KMSKeyPolicy -KeyId $keyId -PolicyName $policyName -Policy $policy
Pour utiliser les AWS KMS PowerShell applets de commande, installez le fichier AWS.tools. KeyManagementService
module. Pour de plus amples informations, veuillez consulter le Guide de l'utilisateur AWS Tools for Windows PowerShell.