Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
GenerateDataKeyWithoutPlaintext
Úselo con una AWS SDK o CLI
En los siguientes ejemplos de código se muestra cómo se utiliza GenerateDataKeyWithoutPlaintext
.
- CLI
-
- AWS CLI
-
Generación de una clave de datos simétrica de 256 bits sin una clave de texto no cifrado
En el siguiente ejemplo de generate-data-key-without-plaintext
se solicita una copia cifrada de una clave de datos simétrica de 256 bits para usarla fuera de AWS. Puede llamar AWS KMS para descifrar la clave de datos cuando esté listo para usarla.
Para solicitar una clave de datos de 256 bits, utilice el parámetro key-spec
con un valor de AES_256
. Para solicitar una clave de datos de 128 bits, utilice el parámetro key-spec
con un valor de AES_128
. Para el resto longitudes de clave de datos, utilice el parámetro number-of-bytes
.
La KMS clave que especifique debe ser una KMS clave de cifrado simétrica, es decir, una KMS clave con un valor de especificación de clave de _. 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
Salida:
{
"CiphertextBlob": "AQEDAHjRYf5WytIc0C857tFSnBaPn2F8DgfmThbJlGfR8P3WlwAAAH4wfAYJKoZIhvcNAQcGoG8wbQIBADBoBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDEFogL",
"KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
}
CiphertextBlob
(clave de datos cifrada) se devuelve en formato codificado en base64.
Para obtener más información, consulte Claves de datos en la Guía para desarrolladores de AWS Key Management Service.
- Rust
-
- SDKpara Rust
-
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(())
}
Para obtener una lista completa de guías para AWS SDK desarrolladores y ejemplos de código, consulteUso de este servicio con un SDK de AWS. En este tema también se incluye información sobre cómo empezar y detalles sobre SDK las versiones anteriores.