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 GenerateDataKey
com um AWS SDKou CLI
Os exemplos de código a seguir mostram como usar o GenerateDataKey
.
Exemplos de ações são trechos de código de programas maiores e devem ser executados em contexto. É possível ver essa ação em contexto nos seguintes exemplos de código:
- CLI
-
- AWS CLI
-
Exemplo 1: como gerar uma chave de dados simétrica de 256 bits
O
generate-data-key
exemplo a seguir solicita uma chave de dados simétrica de 256 bits para uso fora do AWS. O comando retorna uma chave de dados em texto simples para uso e exclusão imediatos e uma cópia dessa chave de dados criptografada sob a chave especificada. KMS A chave de dados criptografada pode ser armazenada com segurança junto com os dados criptografados.Use o parâmetro
key-spec
com um valor deAES_256
para solicitar uma chave de dados de 256 bits. Use o parâmetrokey-spec
com um valor deAES_128
para solicitar uma chave de dados de 128 bits. Para todos os outros comprimentos de chave de dados, use o parâmetronumber-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 \ --key-id
alias/ExampleAlias
\ --key-specAES_256
Saída:
{ "Plaintext": "VdzKNHGzUAzJeRBVY+uUmofUGGiDzyB3+i9fVkh3piw=", "KeyId": "arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "CiphertextBlob": "AQEDAHjRYf5WytIc0C857tFSnBaPn2F8DgfmThbJlGfR8P3WlwAAAH4wfAYJKoZIhvcNAQcGoG8wbQIBADBoBgkqhkiG9w0BBwEwHgYJYIZIAWUDBAEuMBEEDEFogLqPWZconQhwHAIBEIA7d9AC7GeJJM34njQvg4Wf1d5sw0NIo1MrBqZa+YdhV8MrkBQPeac0ReRVNDt9qleAt+SHgIRF8P0H+7U=" }
A
Plaintext
(chave de dados em texto simples) e aCiphertextBlob
(chave de dados criptografada) são retornadas no formato codificado em base64.Para obter mais informações, consulte Data keys < https://docs.aws.amazon.com/kms/ latest/developerguide/concepts.html #data -keys no AWS Guia do desenvolvedor do serviço de gerenciamento de chaves.
Exemplo 2: como gerar uma chave de dados simétrica de 512 bits
O exemplo de
generate-data-key
a seguir solicita uma chave de dados simétrica de 512 bits para criptografia e descriptografia. O comando retorna uma chave de dados em texto simples para uso e exclusão imediatos e uma cópia dessa chave de dados criptografada sob a chave especificada. KMS A chave de dados criptografada pode ser armazenada com segurança junto com os dados criptografados.Use o parâmetro
number-of-bytes
para solicitar um comprimento de chave diferente de 128 ou 256 bits. Para solicitar uma chave de dados de 512 bits, o exemplo a seguir usa o parâmetronumber-of-bytes
com um valor de 64 (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
NOTE: os valores na saída deste exemplo são truncados para exibição.
aws kms generate-data-key \ --key-id
1234abcd-12ab-34cd-56ef-1234567890ab
\ --number-of-bytes64
Saída:
{ "CiphertextBlob": "AQIBAHi6LtupRpdKl2aJTzkK6FbhOtQkMlQJJH3PdtHvS/y+hAEnX/QQNmMwDfg2korNMEc8AAACaDCCAmQGCSqGSIb3DQEHBqCCAlUwggJRAgEAMIICSgYJKoZ...", "Plaintext": "ty8Lr0Bk6OF07M2BWt6qbFdNB+G00ZLtf5MSEb4al3R2UKWGOp06njAwy2n72VRm2m7z/Pm9Wpbvttz6a4lSo9hgPvKhZ5y6RTm4OovEXiVfBveyX3DQxDzRSwbKDPk/...", "KeyId": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" }
Plaintext
(chave de dados em texto simples) eCiphertextBlob
(chave de dados criptografada) são retornadas no formato codificado em base64.Para obter mais informações, consulte Data keys < https://docs.aws.amazon.com/kms/ latest/developerguide/concepts.html #data -keys no AWS Guia do desenvolvedor do serviço de gerenciamento de chaves.
-
Para API obter detalhes, consulte GenerateDataKey
em AWS CLI Referência de comando.
-
- Python
-
- SDKpara Python (Boto3)
-
nota
Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no AWS Repositório
de exemplos de código. class KeyManager: def __init__(self, kms_client): self.kms_client = kms_client self.created_keys = [] def generate_data_key(self, key_id): """ Generates a symmetric data key that can be used for client-side encryption. """ answer = input( f"Do you want to generate a symmetric data key from key {key_id} (y/n)? " ) if answer.lower() == "y": try: data_key = self.kms_client.generate_data_key( KeyId=key_id, KeySpec="AES_256" ) except ClientError as err: logger.error( "Couldn't generate a data key for key %s. Here's why: %s", key_id, err.response["Error"]["Message"], ) else: pprint(data_key)
-
Para API obter detalhes, consulte GenerateDataKeyem AWS SDKpara referência em Python (Boto3). API
-
- Rust
-
- SDKpara Rust
-
nota
Tem mais sobre GitHub. Encontre o exemplo completo e saiba como configurar e executar no AWS Repositório
de exemplos de código. async fn make_key(client: &Client, key: &str) -> Result<(), Error> { let resp = client .generate_data_key() .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 API obter detalhes, consulte GenerateDataKey
em AWS SDKpara API referência ao Rust.
-
Para obter uma lista completa de AWS SDKguias do desenvolvedor e exemplos de código, consulteO uso do AWS KMS com um AWS SDK. Este tópico também inclui informações sobre como começar e detalhes sobre SDK versões anteriores.