Utilisation de clés - 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.

Utilisation de clés

Les exemples de cette rubrique utilisent l'API AWS KMS pour créer, afficher, activer et désactiver des AWS KMS keys AWS KMS, et pour générer des clés de données.

Création d'une clé KMS

Pour créer une AWS KMS key(clé KMS), utilisez l'CreateKeyopération. Les exemples de cette section créent une clé KMS de chiffrement symétrique. Le paramètre Description utilisé dans ces exemples est facultatif.

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.

Pour obtenir de l'aide sur la création des clés KMS dans la console AWS KMS, veuillez consulter Création de clés.

Java

Pour obtenir des détails, veuillez consulter la méthode createKey dans la Référence d'API AWS SDK for Java.

// Create a KMS key // String desc = "Key for protecting critical data"; CreateKeyRequest req = new CreateKeyRequest().withDescription(desc); CreateKeyResult result = kmsClient.createKey(req);
C#

Pour obtenir des détails, consultez la méthode CreateKey dans AWS SDK for .NET.

// Create a KMS key // String desc = "Key for protecting critical data"; CreateKeyRequest req = new CreateKeyRequest() { Description = desc }; CreateKeyResponse response = kmsClient.CreateKey(req);
Python

Pour obtenir des détails, consultez la méthode create_key dans AWS SDK for Python (Boto3).

# Create a KMS key desc = 'Key for protecting critical data' response = kms_client.create_key( Description=desc )
Ruby

Pour obtenir des détails, consultez la méthode d'instance create_key dans le kit AWS SDK for Ruby.

# Create a KMS key desc = 'Key for protecting critical data' response = kmsClient.create_key({ description: desc })
PHP

Pour obtenir des détails, consultez la méthode CreateKey dans AWS SDK for PHP.

// Create a KMS key // $desc = "Key for protecting critical data"; $result = $KmsClient->createKey([ 'Description' => $desc ]);
Node.js

Pour plus de détails, consultez la propriété CreateKey dans le AWSSDK pour JavaScript Node.js.

// Create a KMS key // const Description = 'Key for protecting critical data'; kmsClient.createKey({ Description }, (err, data) => { ... });
PowerShell

Pour créer une clé KMS dans PowerShell, utilisez l'KmsKeyapplet de commande New-.

# Create a KMS key $desc = 'Key for protecting critical data' New-KmsKey -Description $desc

Pour utiliser les AWS KMS PowerShell applets de commande, installez le fichier AWS.tools. KeyManagementServicemodule. Pour plus d’informations, consultez le Guide de l’utilisateur AWS Tools for Windows PowerShell.

Génération d'une clé de données

Pour générer une clé de données symétrique, utilisez l'GenerateDataKeyopération. Cette opération renvoie une clé de données en texte brut et une copie de cette clé de données chiffrée sous un clé KMS de chiffrement symétrique que vous spécifiez. Vous devez spécifier KeySpec ou NumberOfBytes (mais pas les deux) dans chaque commande.

Pour obtenir de l'aide sur l'utilisation de la clé de données pour chiffrer les données, consultez le AWS Encryption SDK. Vous pouvez également utiliser la clé de données dans les opérations HMAC.

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 generateDataKey méthode dans la référence de AWS SDK for Java l'API.

// Generate a data key // // Replace the following example key ARN with any valid key identfier String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; GenerateDataKeyRequest dataKeyRequest = new GenerateDataKeyRequest(); dataKeyRequest.setKeyId(keyId); dataKeyRequest.setKeySpec("AES_256"); GenerateDataKeyResult dataKeyResult = kmsClient.generateDataKey(dataKeyRequest); ByteBuffer plaintextKey = dataKeyResult.getPlaintext(); ByteBuffer encryptedKey = dataKeyResult.getCiphertextBlob();
C#

Pour obtenir des détails, consultez la méthode GenerateDataKey dans AWS SDK for .NET.

// Generate a data key // // Replace the following example key ARN with any valid key identfier String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; GenerateDataKeyRequest dataKeyRequest = new GenerateDataKeyRequest() { KeyId = keyId, KeySpec = DataKeySpec.AES_256 }; GenerateDataKeyResponse dataKeyResponse = kmsClient.GenerateDataKey(dataKeyRequest); MemoryStream plaintextKey = dataKeyResponse.Plaintext; MemoryStream encryptedKey = dataKeyResponse.CiphertextBlob;
Python

Pour obtenir des détails, consultez la méthode generate_data_key dans AWS SDK for Python (Boto3).

# Generate a data key # Replace the following example key ARN with any valid key identfier key_id = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' response = kms_client.generate_data_key( KeyId=key_id, KeySpec='AES_256' ) plaintext_key = response['Plaintext'] encrypted_key = response['CiphertextBlob']
Ruby

Pour obtenir des détails, consultez la méthode d'instance generate_data_key dans le kit AWS SDK for Ruby.

# Generate a data key # Replace the following example key ARN with any valid key identfier key_id = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' response = kmsClient.generate_data_key({ key_id: key_id, key_spec: 'AES_256' }) plaintext_key = response.plaintext encrypted_key = response.ciphertext_blob
PHP

Pour obtenir des détails, consultez la méthode GenerateDataKey dans AWS SDK for PHP.

// Generate a data key // // Replace the following example key ARN with any valid key identfier $keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'; $keySpec = 'AES_256'; $result = $KmsClient->generateDataKey([ 'KeyId' => $keyId, 'KeySpec' => $keySpec, ]); $plaintextKey = $result['Plaintext']; $encryptedKey = $result['CiphertextBlob'];
Node.js

Pour plus de détails, consultez la generateDataKey propriété dans le AWSSDK pour JavaScript dans Node.js.

// Generate a data key // // Replace the following example key ARN with any valid key identfier const KeyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'; const KeySpec = 'AES_256'; kmsClient.generateDataKey({ KeyId, KeySpec }, (err, data) => { if (err) console.log(err, err.stack); else { const { CiphertextBlob, Plaintext } = data; ... } });
PowerShell

Pour générer une clé de données symétrique, utilisez l'applet de commande New-KMS DataKey.

Dans la sortie, la clé en texte brut (dans la Plaintext propriété) et la clé cryptée (dans la CiphertextBlob propriété) sont MemoryStreamdes objets. Pour les convertir en chaînes, utilisez les méthodes de la MemoryStream classe, une applet de commande ou une fonction qui convertit les MemoryStream objets en chaînes, telles que les fonctions ConvertFrom- MemoryStream et ConvertFrom-Base64 du module Convert.

# Generate a data key # Replace the following example key ARN with any valid key identfier $keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' $keySpec = 'AES_256' $response = New-KmsDataKey -KeyId $keyId -KeySpec $keySpec $plaintextKey = $response.Plaintext $encryptedKey = $response.CiphertextBlob

Pour utiliser les AWS KMS PowerShell applets de commande, installez le fichier AWS.tools. KeyManagementServicemodule. Pour plus d’informations, consultez le Guide de l’utilisateur AWS Tools for Windows PowerShell.

Affichage d'un AWS KMS key

Pour obtenir des informations détaillées sur unAWS KMS key, y compris l'ARN et l'état de la clé KMS, utilisez l'DescribeKeyopération.

DescribeKey n'obtient pas d'alias. Pour obtenir des alias, utilisez l'ListAliasesopération. Pour obtenir des exemples, consultez Utilisation des alias.

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.

Pour obtenir de l'aide sur l'affichage des clés KMS dans la console AWS KMS, veuillez consulter Affichage des clés.

Java

Pour obtenir des détails, veuillez consulter la méthode describeKey dans la Référence d'API AWS SDK for Java.

// Describe a KMS key // // Replace the following example key ARN with any valid key identfier String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; DescribeKeyRequest req = new DescribeKeyRequest().withKeyId(keyId); DescribeKeyResult result = kmsClient.describeKey(req);
C#

Pour obtenir des détails, consultez la méthode DescribeKey dans AWS SDK for .NET.

// Describe a KMS key // // Replace the following example key ARN with any valid key identfier String keyId = "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"; DescribeKeyRequest describeKeyRequest = new DescribeKeyRequest() { KeyId = keyId }; DescribeKeyResponse describeKeyResponse = kmsClient.DescribeKey(describeKeyRequest);
Python

Pour obtenir des détails, consultez la méthode describe_key dans AWS SDK for Python (Boto3).

# Describe a KMS key # Replace the following example key ARN with any valid key identfier key_id = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' response = kms_client.describe_key( KeyId=key_id )
Ruby

Pour obtenir des détails, consultez la méthode d'instance describe_key dans le kit AWS SDK for Ruby.

# Describe a KMS key # Replace the following example key ARN with any valid key identfier key_id = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' response = kmsClient.describe_key({ key_id: key_id })
PHP

Pour obtenir des détails, consultez la méthode DescribeKey dans AWS SDK for PHP.

// Describe a KMS key // // Replace the following example key ARN with any valid key identfier $keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'; $result = $KmsClient->describeKey([ 'KeyId' => $keyId, ]);
Node.js

Pour plus de détails, consultez la propriété DescribeKey dans AWSle SDK JavaScript pour Node.js.

// Describe a KMS key // // Replace the following example key ARN with any valid key identfier const KeyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab'; kmsClient.describeKey({ KeyId }, (err, data) => { ... });
PowerShell

Pour obtenir des informations détaillées sur une clé KMS, utilisez l'KmsKeyapplet de commande Get-.

# Describe a KMS key # Replace the following example key ARN with any valid key identfier $keyId = 'arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab' Get-KmsKey -KeyId $keyId

Pour utiliser les AWS KMS PowerShell applets de commande, installez le fichier AWS.tools. KeyManagementServicemodule. Pour plus d’informations, consultez le Guide de l’utilisateur AWS Tools for Windows PowerShell.

Obtention des ID de clé et des ARN de clé des clés KMS

Pour obtenir les identifiants clés et les ARN clés duAWS KMS keys, utilisez l'ListKeysopération. Ces exemples utilisent le paramètre facultatif Limit, qui définit le nombre maximal de clés KMS renvoyées dans chaque appel. Pour obtenir de l'aide sur l'identification d'une clé KMS dans des opérations AWS KMS, veuillez consulter Identifiants clés () KeyId.

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.

Pour obtenir de l'aide sur la recherche d'ID de clé et d'ARN de clé dans la console AWS KMS, veuillez consulter Recherche de l'ID et de l'ARN d'une clé.

Java

Pour obtenir des détails, veuillez consulter la méthode listKeys dans la Référence d'API AWS SDK for Java.

// List KMS keys in this account // Integer limit = 10; ListKeysRequest req = new ListKeysRequest().withLimit(limit); ListKeysResult result = kmsClient.listKeys(req);
C#

Pour obtenir des détails, consultez la méthode ListKeys dans AWS SDK for .NET.

// List KMS keys in this account // int limit = 10; ListKeysRequest listKeysRequest = new ListKeysRequest() { Limit = limit }; ListKeysResponse listKeysResponse = kmsClient.ListKeys(listKeysRequest);
Python

Pour obtenir des détails, consultez la méthode list_keys dans AWS SDK for Python (Boto3).

# List KMS keys in this account response = kms_client.list_keys( Limit=10 )
Ruby

Pour obtenir des détails, consultez la méthode d'instance list_keys dans le kit AWS SDK for Ruby.

# List KMS keys in this account response = kmsClient.list_keys({ limit: 10 })
PHP

Pour obtenir des détails, consultez la méthode ListKeys dans AWS SDK for PHP.

// List KMS keys in this account // $limit = 10; $result = $KmsClient->listKeys([ 'Limit' => $limit, ]);
Node.js

Pour plus de détails, consultez la propriété ListKeys dans le AWSSDK pour JavaScript Node.js.

// List KMS keys in this account // const Limit = 10; kmsClient.listKeys({ Limit }, (err, data) => { ... });
PowerShell

Pour obtenir l'ID de clé et l'ARN de toutes les clés KMS du compte et de la région, utilisez l'KmsKeyListapplet de commande Get-.

Pour limiter le nombre d'objets en sortie, cet exemple utilise l'applet de commande Select-Object au lieu du paramètre Limit, obsolète dans cette applet de commande. Pour obtenir de l'aide sur la pagination de sortie dans AWS Tools for PowerShell, veuillez consulter le billet de blog Output Pagination with AWS Tools for PowerShell.

# List KMS keys in this account $limit = 10 Get-KmsKeyList | Select-Object -First $limit

Pour utiliser les AWS KMS PowerShell applets de commande, installez le fichier AWS.tools. KeyManagementServicemodule. Pour plus d’informations, consultez le Guide de l’utilisateur AWS Tools for Windows PowerShell.

Activer AWS KMS keys

Pour activer une personne désactivéeAWS KMS key, utilisez l'EnableKeyopération.

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.

Pour obtenir de l'aide sur l'activation et la désactivation des clés KMS dans la console AWS KMS, veuillez consulter Activation et désactivation des clés.

Java

Pour plus de détails sur l'implémentation Java, veuillez consulter la méthode enableKey dans la Référence d'API AWS SDK for Java.

// Enable 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"; EnableKeyRequest req = new EnableKeyRequest().withKeyId(keyId); kmsClient.enableKey(req);
C#

Pour obtenir des détails, consultez la méthode EnableKey dans AWS SDK for .NET.

// Enable 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"; EnableKeyRequest enableKeyRequest = new EnableKeyRequest() { KeyId = keyId }; kmsClient.EnableKey(enableKeyRequest);
Python

Pour obtenir des détails, consultez la méthode enable_key dans AWS SDK for Python (Boto3).

# Enable 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' response = kms_client.enable_key( KeyId=key_id )
Ruby

Pour obtenir des détails, consultez la méthode d'instance enable_key dans le kit AWS SDK for Ruby.

# Enable 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' response = kmsClient.enable_key({ key_id: key_id })
PHP

Pour obtenir des détails, consultez la méthode EnableKey dans AWS SDK for PHP.

// Enable 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'; $result = $KmsClient->enableKey([ 'KeyId' => $keyId, ]);
Node.js

Pour plus de détails, consultez la propriété EnableKey dans AWSle SDK JavaScript pour Node.js.

// Enable 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'; kmsClient.enableKey({ KeyId }, (err, data) => { ... });
PowerShell

Pour activer une clé KMS, utilisez l'KmsKeyapplet de commande Enable-.

# Enable 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' Enable-KmsKey -KeyId $keyId

Pour utiliser les AWS KMS PowerShell applets de commande, installez le fichier AWS.tools. KeyManagementServicemodule. Pour plus d’informations, consultez le Guide de l’utilisateur AWS Tools for Windows PowerShell.

Désactivation de AWS KMS key

Pour désactiver une clé KMS, utilisez l'DisableKeyopération. La désactivation d'une clé KMS empêche son utilisation dans des opérations de chiffrement.

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.

Pour obtenir de l'aide sur l'activation et la désactivation des clés KMS dans la console AWS KMS, veuillez consulter Activation et désactivation des clés.

Java

Pour obtenir des détails, veuillez consulter la méthode disableKey dans la Référence d'API AWS SDK for Java.

// Disable 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"; DisableKeyRequest req = new DisableKeyRequest().withKeyId(keyId); kmsClient.disableKey(req);
C#

Pour obtenir des détails, consultez la méthode DisableKey dans AWS SDK for .NET.

// Disable 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"; DisableKeyRequest disableKeyRequest = new DisableKeyRequest() { KeyId = keyId }; kmsClient.DisableKey(disableKeyRequest);
Python

Pour obtenir des détails, consultez la méthode disable_key dans AWS SDK for Python (Boto3).

# Disable 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' response = kms_client.disable_key( KeyId=key_id )
Ruby

Pour obtenir des détails, consultez la méthode d'instance disable_key dans le kit AWS SDK for Ruby.

# Disable 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' response = kmsClient.disable_key({ key_id: key_id })
PHP

Pour obtenir des détails, consultez la méthode DisableKey dans AWS SDK for PHP.

// Disable 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'; $result = $KmsClient->disableKey([ 'KeyId' => $keyId, ]);
Node.js

Pour plus de détails, consultez la propriété DisableKey dans AWSle SDK JavaScript pour Node.js.

// Disable 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'; kmsClient.disableKey({ KeyId }, (err, data) => { ... });
PowerShell

Pour désactiver une clé KMS, utilisez l'KmsKeyapplet de commande Disable-.

# Disable 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' Disable-KmsKey -KeyId $keyId

Pour utiliser les AWS KMS PowerShell applets de commande, installez le fichier AWS.tools. KeyManagementServicemodule. Pour de plus amples informations, veuillez consulter le Guide de l'utilisateur AWS Tools for Windows PowerShell.