Use GenerateDataKeyWithoutPlaintext com um AWS SDK ou CLI - AWS Key Management Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Use GenerateDataKeyWithoutPlaintext com um AWS SDK ou CLI

Os exemplos de código a seguir mostram como usar o GenerateDataKeyWithoutPlaintext.

CLI
AWS CLI

Como gerar uma chave de dados simétrica de 256 bits sem uma chave de texto simples

O exemplo de generate-data-key-without-plaintext a seguir solicita uma cópia criptografada de uma chave de dados simétrica de 256 bits para uso externo à AWS. Você pode ligar AWS KMS para descriptografar a chave de dados quando estiver pronto para usá-la.

Use o parâmetro key-spec com um valor de AES_256 para solicitar uma chave de dados de 256 bits. Use o parâmetro key-spec com um valor de AES_128 para solicitar uma chave de dados de 128 bits. Para todos os outros comprimentos de chave de dados, use o parâmetro number-of-bytes.

A KMS chave especificada deve ser uma chave de criptografia KMS simétrica, ou seja, uma KMS chave com um valor de especificação de chave 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

Saída:

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

A CiphertextBlob (chave de dados criptografada) é retornada em um formato codificado em base64.

Para obter mais informações, consulte Data keys no Guia do desenvolvedor do AWS Key Management Service.

Rust
SDKpara Rust
nota

Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no Repositório de exemplos de código da 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(()) }

Para obter uma lista completa de guias do AWS SDK desenvolvedor e exemplos de código, consulteUsar este serviço com um AWS SDK. Este tópico também inclui informações sobre como começar e detalhes sobre SDK versões anteriores.