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

Gerenciamento das chaves de criptografia

Nesta página

  • Componentes de criptografia
  • Rotacionar chaves de criptografia usando o mongosh
  • Serviços de gerenciamento de chaves suportados
  • Motivos para usar um KMS Remoto
  • Saiba mais

Neste guia, você pode aprender a managed sua chave de criptografia com um Sistema de gerenciamento de chaves (KMS) em sua aplicação habilitado para Queryable Encryption.

O MongoDB usa os seguintes componentes para executar a Queryable Encryption:

  • Data Encryption Keys (DEK)s

  • Chaves mestras do cliente (CMK)s

  • Key Vault collections

  • Sistema de Gerenciamento de Chaves (KMS)

Para saber mais sobre chaves e cofres de chaves, consulte Chaves e cofres de chaves .

Você pode girar chaves de encriptação utilizando o método KeyVault.rewrapManyDataKey() . O método rewrapManyDataKey descriptografa automaticamente diversas chaves de dados e as criptografa novamente usando uma chave mestra do cliente especificada. Em seguida, ele atualiza as chaves giradas na key vault collection. Este método permite girar chaves de encriptação com base em dois argumentos opcionais:

  • Um documento de filtro de query usado para especificar quais chaves devem ser rotacionadas. Se nenhuma chave de dados corresponder ao filtro fornecido, nenhuma chave será rotacionada. Omita o filtro para rotacionar todas as chaves na sua collection de cofre de chaves.

  • Um objeto que representa uma nova CMK. Omitir este objeto para rotacionar as chaves de dados usando suas CMKs atuais.

O método rewrapManyDataKey tem a seguinte sintaxe:

let keyVault = db.getMongo().getKeyVault()
keyVault.rewrapManyDataKey(
{
"<Your custom filter>"
},
{
provider: "<KMS provider>",
masterKey: {
"<dataKeyOpts Key>" : "<dataKeyOpts Value>"
}
}
)

A Queryable Encryption é compatível com os seguintes provedores do Key Management System:

  • KMS do Amazon Web Services

  • Cofre de chaves do Azure

  • KMS do Google Cloud

  • Qualquer sistema de gerenciamento de chaves compatível com KMIP

  • Provedor de chaves locais (somente para testes)

Para saber mais sobre esses fornecedores, incluindo diagramas que mostram como seu aplicativo os utiliza para executar a Queryable Encryption, consulte Fornecedores KMS.

O uso de um sistema de gerenciamento de chaves remoto para gerenciar a chave mestra do cliente tem as seguintes vantagens em relação ao uso do sistema de arquivos local para hospedar a CMK:

  • Armazenamento seguro da chave com auditoria de acesso

  • Risco reduzido de ter problemas de permissão de acesso

  • Disponibilidade e distribuição da chave para clientes remotos

  • Backup e recuperação automatizados de chaves

  • Gerenciamento centralizado do ciclo de vida da chave de encriptação

Além disso, para os seguintes fornecedores de KMS, seu KMS criptografa e descriptografa remotamente seu diretório de dados, garantindo que sua chave mestra do cliente nunca seja exposta à sua aplicação com Queryable Encryption habilitado:

  • KMS do Amazon Web Services

  • Cofre de chaves do Azure

  • KMS do Google Cloud

Para obter tutoriais detalhando como configurar um aplicativo habilitado para Queryable Encryption com cada um dos provedores de KMS compatíveis, consulte as seguintes páginas:

← Provedores de KMS