Da utilizzare GenerateDataKeyWithoutPlaintext con un AWS SDK o CLI - AWS Key Management Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Da utilizzare GenerateDataKeyWithoutPlaintext con un AWS SDK o CLI

I seguenti esempi di codice mostrano come utilizzareGenerateDataKeyWithoutPlaintext.

CLI
AWS CLI

Per generare una chiave dati simmetrica a 256 bit senza una chiave di testo semplice

L'generate-data-key-without-plaintextesempio seguente richiede una copia crittografata di una chiave dati simmetrica a 256 bit da utilizzare all'esterno di. AWS Puoi chiamare AWS KMS per decrittografare la chiave dati quando sei pronto per usarla.

Per richiedere una chiave dati a 256 bit, usa il key-spec parametro con un valore di. AES_256 Per richiedere una chiave dati a 128 bit, utilizzate il key-spec parametro con un valore di. AES_128 Per tutte le altre lunghezze delle chiavi dati, utilizzate il number-of-bytes parametro.

La KMS chiave specificata deve essere una chiave di crittografia simmetrica, ovvero una KMS chiave con un valore specifico della KMS chiave pari a _. SYMMETRIC 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

Output:

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

La CiphertextBlob (chiave dati crittografata) viene restituita in formato con codifica base64.

Per ulteriori informazioni, consulta Data keys nella AWS Key Management Service Developer Guide.

Rust
SDKper Rust
Nota

c'è altro da fare GitHub. Trova l'esempio completo e scopri di più sulla configurazione e l'esecuzione nel Repository di esempi di codice 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(()) }

Per un elenco completo delle guide per AWS SDK gli sviluppatori e degli esempi di codice, consultaUtilizzo di questo servizio con un AWS SDK. Questo argomento include anche informazioni su come iniziare e dettagli sulle SDK versioni precedenti.