Diagrama
O diagrama a seguir ilustra as relações entre um driver MongoDB ou mongosh e cada componente da criptografia no nível do campo do lado do cliente (CSFLE):
Componentes
As seções a seguir discutem os componentes individuais do diagrama anterior.
libmongocrypt
libmongocrypt é a código aberto com licença Apache biblioteca principal de criptografia usada pelos drivers oficiais do MongoDB e mongosh para alimentar a criptografia no nível do campo do lado do cliente. Alguns drivers podem exigir etapas de integração específicas para instalar ou vincular a biblioteca.
Para visualizar as etapas de instalação do libmongocrypt, consulte a página de referência da libmongocrypt.
Biblioteca compartilhada de criptografia automática
A Automatic Encryption Shared Library é uma biblioteca dinâmica que permite que seu aplicação cliente execute a criptografia automática.
A Biblioteca compartilhada de criptografia automática é uma alternativa preferencial ao mongocryptd e não exige que você inicie outro processo para executar a criptografia automática.
Observação
A partir do MongoDB 9.0, mongocryptd está obsoleto. Em vez disso, use a Biblioteca compartilhada de criptografia automática.
Para saber mais sobre criptografia automática, consulte Recursos do CSFLE.
mongocryptd
Importante
mongocryptd está obsoleto
A partir do MongoDB 9.0, mongocryptd está obsoleto. Em vez disso, use a Biblioteca compartilhada de criptografia automática.
mongocryptd está instalado com o MongoDB Enterprise Edition.
Quando você cria um cliente MongoDB habilitado para CSFLE, o processo do mongocryptd começa automaticamente por padrão.
O processo do mongocryptd:
Usa as regras de criptografia automática especificadas para marcar campos em operações de leitura e gravação para criptografia.
Impede que operações não suportadas sejam executadas em campos criptografados.
Analisa o esquema de criptografia especificado para a conexão do banco de dados. As regras de criptografia automática usam um subconjunto rigoroso da sintaxe de JSON schema. Se as regras contiverem sintaxe de criptografia automática inválida ou qualquer sintaxe do
schema validation, omongocryptdretornará um erro.
mongocryptd executa apenas as funções anteriores e não executa nenhuma das seguintes:
mongocryptdnão executa criptografia ou descriptografiamongocryptdnão acessa nenhum material chave de criptografiamongocryptdnão escuta pela rede
Para executar a criptografia de campo e a descriptografia automática, os drivers usam a biblioteca libmongocrypt licenciada pela Apache.
Os drivers oficiais do MongoDB exigem acesso ao processo mongocryptd na máquina host do cliente . Esses clientes procuram o processo mongocryptd no sistema PATH por padrão.
coleção de cofre de chaves
A Key Vault collection é uma coleção padrão do MongoDB que armazena todas as chaves de criptografia de dados usadas para criptografar dados de aplicativos. As chaves de criptografia de dados são criptografadas usando uma chave mestra do cliente (CMK) antes do armazenamento na coleção Key Vault . Você pode hospedar sua Key Vault Collection em um MongoDB cluster que armazena seus dados de aplicativo criptografados.
Para saber mais sobre a collection Key Vault, consulte Chaves de criptografia e Key Vaults.
Sistema de gerenciamento de chaves
O Sistema de Gerenciamento de Chaves (KMS) armazena a chave mestra do cliente (CMK) usada para criptografar o diretório de dados.
Para ver uma lista de todos os fornecedores de KMS compatíveis com o MongoDB, consulte Fornecedores de KMS.
MongoDB cluster
O cluster MongoDB que armazena os dados criptografados também pode impor a criptografia em nível de campo do lado do cliente. Para obter mais informações sobre a imposição de esquema no lado do servidor, consulte Aplicação do esquema CSFLE no lado do servidor.