À utiliser GenerateDataKeyWithoutPlaintext avec un AWS SDK ou CLI - Exemples de code de l'AWS SDK

D'autres AWS SDK exemples sont disponibles dans le GitHub dépôt AWS Doc SDK Examples.

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 GenerateDataKeyWithoutPlaintext avec un AWS SDK ou CLI

Les exemples de code suivants montrent comment utiliserGenerateDataKeyWithoutPlaintext.

CLI
AWS CLI

Pour générer une clé de données symétrique de 256 bits sans clé en texte brut

L'generate-data-key-without-plaintextexemple suivant demande une copie cryptée d'une clé de données symétrique de 256 bits pour une utilisation en dehors de. AWS Vous pouvez appeler AWS KMS pour déchiffrer la clé de données lorsque vous êtes prêt à l'utiliser.

Pour demander une clé de données de 256 bits, utilisez le key-spec paramètre avec une valeur de. AES_256 Pour demander une clé de données de 128 bits, utilisez le key-spec paramètre avec une valeur de. AES_128 Pour toutes les autres longueurs de clé de données, utilisez le number-of-bytes paramètre.

La KMS clé que vous spécifiez doit être une KMS clé de chiffrement symétrique, c'est-à-dire une KMS clé dont la valeur de spécification de SYMMETRIC clé est _. DEFAULT

aws kms generate-data-key-without-plaintext \ --key-id "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" \ --key-spec AES_256

Sortie :

{ "CiphertextBlob": "AQEDAHjRYf5WytIc0C857tFSnBaPn2F8DgfmThbJlGfR8P3WlwAAAH4wfAYJKoZIhvcNAQcGoG8wbQIBADBoBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDEFogL", "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }

La CiphertextBlob (clé de données cryptée) est renvoyée au format codé en base64.

Pour plus d'informations, consultez la section Clés de données dans le Guide du développeur du service de gestion des AWS clés.

Rust
SDKpour Rust
Note

Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le référentiel d’exemples de code AWS.

async fn make_key(client: &Client, key: &str) -> Result<(), Error> { let resp = client .generate_data_key_without_plaintext() .key_id(key) .key_spec(DataKeySpec::Aes256) .send() .await?; // Did we get an encrypted blob? let blob = resp.ciphertext_blob.expect("Could not get encrypted text"); let bytes = blob.as_ref(); let s = base64::encode(bytes); println!(); println!("Data key:"); println!("{}", s); Ok(()) }