Gerenciamento das chaves de criptografia
Nesta página
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.
Componentes de criptografia
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 .
Rotacionar chaves de criptografia usando o mongosh
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>" } } )
Serviços de gerenciamento de chaves suportados
A Queryable Encryption é compatível com os seguintes provedores do Key Management System:
KMS do Amazon Web Services
Azure Key Vault
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.
Motivos para usar um KMS Remoto
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
Azure Key Vault
KMS do Google Cloud
Saiba mais
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: