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á.
Crie uma chave de ramificação ativa
Uma chave de ramificação é uma chave de dados derivada de uma AWS KMS key que o AWS KMS chaveiro hierárquico usa para reduzir o número de chamadas feitas. AWS KMS A chave de ramificação ativa é a versão mais recente da chave de ramificação. O chaveiro hierárquico gera uma chave de dados exclusiva para cada solicitação de criptografia e criptografa cada chave de dados com uma chave de empacotamento exclusiva derivada da chave de ramificação ativa.
Para criar uma nova chave de ramificação ativa, você deve configurar estaticamente suas ações de armazenamento de chaves. CreateKey
é uma operação privilegiada que adiciona a KMS chave ARN especificada na configuração das ações do armazenamento de chaves à sua lista de permissões do armazenamento de chaves. Em seguida, a KMS chave é usada para gerar a nova chave de ramificação ativa. Recomendamos limitar o acesso a essa operação porque, depois que uma KMS chave é adicionada ao armazenamento de chaves, ela não pode ser excluída.
Você pode colocar uma KMS chave na lista de permissões em seu armazenamento de chaves ou várias KMS chaves atualizando a KMS chave ARN especificada na configuração de ações do armazenamento de chaves e chamando CreateKey
novamente. Se você colocar várias KMS chaves na lista de permissões, os usuários do armazenamento de chaves deverão configurar suas ações de armazenamento de chaves para descoberta, de forma que possam usar qualquer uma das chaves da lista de permissões no armazenamento de chaves às quais tenham acesso. Para obter mais informações, consulte Configurar as principais ações do armazenamento.
Permissões obrigatórias
Para criar chaves de ramificação, você precisa das ReEncrypt permissões kms: GenerateDataKeyWithoutPlaintext e kms: na KMS chave especificada nas ações do seu armazenamento de chaves.
Crie uma chave de ramificação
A operação a seguir cria uma nova chave de ramificação ativa usando a KMS chave que você especificou na configuração de ações do armazenamento de chaves e adiciona a chave de ramificação ativa à tabela do DynamoDB que serve como seu armazenamento de chaves.
Ao chamar CreateKey
, você pode optar por especificar os valores opcionais a seguir.
-
branchKeyIdentifier
: define umbranch-key-id
personalizado.Para criar um
branch-key-id
personalizado, você também deve incluir um contexto de criptografia adicional com o parâmetroencryptionContext
. -
Esse contexto de criptografia adicional é exibido com o prefixo
aws-crypto-ec:
.
Primeiro, a operação CreateKey
gera os valores a seguir.
-
Um identificador exclusivo universal
(UUID) versão 4 para o branch-key-id
(a menos que você tenha especificado um personalizadobranch-key-id
). -
Uma versão 4 UUID para a versão da chave de ramificação
-
A
timestamp
no formato de data e hora ISO 8601 no TempoUniversal Coordenado ()UTC.
Em seguida, a CreateKey
operação chama kms: GenerateDataKeyWithoutPlaintext usando a seguinte solicitação.
{ "EncryptionContext": { "branch-key-id" : "
branch-key-id
", "type" : "type
", "create-time" : "timestamp
", "logical-key-store-name" : "the logical table name for your key store
", "kms-arn" :the KMS key ARN
, "hierarchy-version" : "1", "aws-crypto-ec:contextKey
": "contextValue
" }, "KeyId": "the KMS key ARN you specified in your key store actions
", "NumberOfBytes": "32" }
nota
A operação CreateKey
cria uma chave de ramificação ativa e uma chave de beacon, mesmo que você não tenha configurado seu banco de dados para criptografia pesquisável. Ambas as chaves são armazenadas em seu armazenamento de chaves. Para obter mais informações, consulte Usar o token de autenticação hierárquico para criptografia pesquisável.
Em seguida, a CreateKey
operação chama kms: ReEncrypt para criar um registro ativo para a chave de ramificação atualizando o contexto de criptografia.
Por último, a CreateKey
operação chama ddb: TransactWriteItems para escrever um novo item que persistirá com a chave de ramificação na tabela que você criou na Etapa 2. O item tem os seguintes atributos:
{ "branch-key-id" :
branch-key-id
, "type" : "branch:ACTIVE", "enc" :the branch key returned by the GenerateDataKeyWithoutPlaintext call
, "version": "branch:version:the branch key version UUID
", "create-time" : "timestamp
", "kms-arn" : "the KMS key ARN you specified in Step 1
", "hierarchy-version" : "1", "aws-crypto-ec:contextKey
": "contextValue
" }