Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / / / /

Girar e retrair chaves de criptografia

Nesta página

  • Visão geral
  • Informações relacionadas
  • Procedimento
  • Alterne sua chave mestra do cliente em seu sistema de gerenciamento de chaves
  • Alterne seu diretório de dados usando KeyVault.rewrapManyDataKey()

Neste guia, você pode aprender como managed sua chave de criptografia com um Sistema de Gerenciamento de Chaves (KMS) em sua aplicação.

Este procedimento mostra como girar chaves de encriptação para Queryable Encryption usando mongosh. A rotação de DEKs consiste em envolvê-las com uma nova chave mestra do cliente, portanto, os termos "rotação" e "reembrulhar" às vezes são usados como sinônimos.

Depois de concluir este guia, você deverá ser capaz de girar sua chave mestra do cliente (chave mestra do cliente) em seu Sistema de Gerenciamento de Chaves e, em seguida, envolver novamente os DEKs existentes na sua collection de cofre de chaves com sua nova chave mestra do cliente.

Aviso

Ao girar as chaves, confirme se elas não são usadas para criptografar chaves ou dados antes de excluí-los. Se você excluir uma DEK, todos os campos criptografados com essa DEK se tornarão permanentemente ilegíveis. Se você excluir uma chave mestra do cliente, todos os campo criptografados com uma DEK usando essa chave mestra do cliente ficarão permanentemente ilegíveis.

Para obter uma explicação detalhada dos conceitos incluídos neste procedimento, consulte os tópicos abaixo.

Para saber mais sobre chaves e cofres de chaves, consulte Chaves de encriptação e cofres de chaves. Para visualizar uma lista de fornecedores de KMS compatíveis, consulte a página Fornecedores de KMS .

Para obter tutoriais detalhando como configurar um aplicação habilitado para Queryable Encryption com cada um dos provedores de KMS compatíveis, consulte Visão geral: Habilitar Queryable Encryption.

1

O processo de rotação do CMK depende do seu provedor de KMS . Para obter detalhes, consulte a documentação do seu fornecedor de chaves:

Depois de girar a chave mestra do cliente, o MongoDB a usará para envolver todos os novos DEKs. Para envolver DEKs existentes, continue com as etapas a seguir.

2

O método KeyVault.rewrapManyDataKey() descriptografa automaticamente diversas diretório de dados e as criptografa novamente usando a chave mestra do cliente especificada. Em seguida, ele atualiza as chaves na collection de cofre de chaves.

O método tem a seguinte sintaxe:

let keyVault = db.getMongo().getKeyVault()
keyVault.rewrapManyDataKey(
{
"<Query filter document>"
},
{
provider: "<KMS provider>",
masterKey: {
"<dataKeyOpts Key>" : "<dataKeyOpts Value>"
}
}
)
  1. Especifique um documento de filtro de query para selecionar as chaves para girar ou omita o argumento para girar todas as chaves na coleção Key Vault

    Se você especificar um documento de filtro de query, mas nenhuma chave corresponder, nenhuma chave será rotacionada.

  2. Especifique o provedor de KMS

  3. Especifique o masterKey utilizando a nova chave mestra do cliente ou omita o argumento para girar chaves utilizando sua chave mestra do clienteexistente

Seus próprios DEKs são deixados inalterados após re-embrulhá-los com a nova chave mestra do cliente. O processo de rotação de chaves é contínuo e não interrompe seu aplicativo.

Voltar

Criptografia explícita