Todos os produtos
Search
Central de documentação

Key Management Service:GenerateDataKey

Última atualização: Aug 20, 2026

Gera uma chave de dados em texto simples e sua contraparte criptografada usando uma chave do KMS.

Notas de uso

Visão geral

A operação GenerateDataKey usa um gerador de números aleatórios para criar uma chave de dados, criptografa-a com a versão inicial de uma chave do Key Management Service (KMS) e retorna a chave de dados em texto simples e a chave de dados criptografada. Use a chave de dados em texto simples para criptografar dados fora do KMS. Após a criptografia, armazene a chave de dados criptografada (CiphertextBlob), o vetor inicial (Iv), o algoritmo de criptografia (Algorithm) e os dados autenticados adicionais (Aad). Esses quatro valores são obrigatórios para descriptografar os dados posteriormente.

Para obter mais informações sobre especificações de chave e modos de criptografia, consulte Key types and specifications.

Importante
  • Somente o modo Galois/Counter Mode (GCM) tem suporte na criptografia de uma chave de dados.

  • O KMS usa um gerador de números aleatórios de alta qualidade para produzir a chave de dados. Esse gerador opera independentemente do material da chave do KMS usado para criptografar a chave de dados.

Diferença entre GenerateDataKey e AdvanceGenerateDataKey

GenerateDataKey e AdvanceGenerateDataKey geram uma chave de dados. A tabela a seguir descreve as principais diferenças:

GenerateDataKey

AdvanceGenerateDataKey

Versão da chave usada

Versão inicial

Versão primária

Tipo de chave com suporte

Qualquer chave com suporte

Apenas chaves simétricas em instâncias do KMS com gerenciamento de chaves por software

Valores a armazenar após a criptografia

CiphertextBlob, Iv, Algorithm, Aad

CiphertextBlob, Aad

Operações de descriptografia

Decrypt ou AdvanceDecrypt

Apenas AdvanceDecrypt

Importante

Se você usar uma chave simétrica em uma instância do KMS com gerenciamento de chaves por software e rotação automática ativada, chame AdvanceGenerateDataKey em vez de GenerateDataKey. O uso de GenerateDataKey nessa configuração interrompe o funcionamento do recurso de rotação de chaves. Para mais detalhes, consulte Configure key rotation.

Parâmetros da solicitação

Parâmetro

Tipo

Obrigatório

Exemplo

Descrição

KeyId

string

Sim

key-hzz62f1cb66fa42qo****

ID globalmente exclusivo da chave do KMS. Também é possível especificar um alias vinculado à chave.

NumberOfBytes

int

Sim

32

Comprimento da chave de dados a ser gerada.

Aad

binary

Não

Dados binários

Dados autenticados adicionais (Aad) usados para autenticar a chave de dados durante a criptografia. O modo GCM é o único modo de criptografia com suporte. Se este parâmetro for especificado, transmita o mesmo valor ao chamar a operação Decrypt.

Parâmetros de resposta

Parâmetro

Tipo

Exemplo

Descrição

KeyId

string

key-hzz62f1cb66fa42qo****

ID globalmente exclusivo da chave do KMS. Se a solicitação especificou um alias, este campo retorna o ID da chave à qual o alias está vinculado.

Iv

bytes

Dados binários

Vetor inicial usado quando a chave de dados foi criptografada. Ao chamar a operação Decrypt para descriptografar a chave de dados, especifique um valor válido para Iv.

Plaintext

bytes

Texto simples binário

Chave de dados em texto simples.

CiphertextBlob

bytes

Texto cifrado binário

Chave de dados criptografada.

Algorithm

string

AES_GCM

Algoritmo de criptografia.

RequestId

string

475f1620-b9d3-4d35-b5c6-3fbdd941423d

ID da solicitação.

Códigos de erro

Para obter uma lista de códigos de erro, consulte Service error codes.