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

Instalar e configurar o mongocryptd para CSFLE

Nesta página

  • Visão geral
  • Instalação
  • Configuração
  • Exemplos

Observação

Funcionalidade de empresas

O recurso automático da criptografia no nível do campo só está disponível no MongoDB Enterprise 4.2 ou posterior e no MongoDB Atlas 4.2 ou clusters posteriores.

mongocryptd está instalado com o MongoDB Enterprise Server.

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 esquema JSON. Se as regras contiverem sintaxe de criptografia automática inválida ou qualquer sintaxe do document validation, o mongocryptd retornará um erro.

mongocryptd executa apenas as funções anteriores e não executa nenhuma das seguintes:

  • mongocryptd não executa criptografia ou descriptografia

  • mongocryptd não acessa nenhum material chave de criptografia

  • mongocryptd não escuta pela rede

Para executar a criptografia no nível do campo no lado do cliente e a descriptografia automática, os Drivers usam a libmongocrypt licenciada pela Apache biblioteca

Os drivers oficiais do MongoDB, mongosh e o shell legado mongo exigem acesso ao processo mongocryptd no computador host do cliente. Esses clientes pesquisam o processo mongocryptd no PATH do sistema por padrão.

Para sistemas operacionais Linux compatíveis, instale o pacote do servidor seguindo o tutorial de instalação no Linux, siga as instruções de instalação documentadas e instale o pacote do servidor mongodb-enterprise. Ao mesmo tempo, especifique mongodb-enterprise-cryptd em vez de instalar somente o binário mongocryptd. O gerenciador de pacotes instala os binários em um local no PATH do sistema (por exemplo, /usr/bin/)

Para OSX, instale o pacote Server seguindo o tutorial de instalação no MacOS. O gerenciador de pacotes instala binários em um local no PATH do sistema.

Para Windows, instale o pacote Server seguindo o tutorial de instalação no Windows. Você deve adicionar o pacote mongocryptd ao PATH do seu sistema após a instalação. Consulte as práticas recomendadas documentadas para sua instalação do Windows para obter instruções sobre como adicionar o binário mongocryptd ao PATH do sistema.

Para instalações por meio de um arquivo tarball ou ZIP oficial, siga as práticas recomendadas documentadas para seu sistema operacional para adicionar o binário mongocryptd ao PATH do sistema.

Se o driver tiver acesso ao processo mongocryptd, ele gerará o processo por padrão.

Observação

Porta de Mongocryptd em uso

Se um processo mongocryptd já estiver em execução na porta especificada pelo driver, o driver poderá registrar um aviso e continuar sem gerar um novo processo. Todas as configurações especificadas pelo driver são aplicadas somente quando o processo existente é encerrado e um novo cliente criptografado tenta se conectar.

Configure como o driver inicia mongocryptd por meio dos seguintes parâmetros:

Nome
Descrição
Porta
A porta da qual mongocryptd escuta mensagens.
Padrão: 27020
Tempo limite de inatividade em marcha lenta (segundos)
Número de segundos ociosos que o processo mongocryptd espera antes de sair.
Padrão: 60
mongocryptdURI
O URI no qual executar o processo do mongocryptd.
Padrão: "mongodb://localhost:27020"
mongocryptdBypassSpawn
Quando true, impede que o driver gire automaticamente mongocryptd.
Padrão: false
mongocryptdSpawnPath
O caminho completo para mongocryptd.
Padrão: o padrão é uma string vazia e gera a partir do caminho do sistema.

Importante

Iniciar na inicialização

Se possível, inicie o mongocryptd na inicialização, em vez de iniciá-lo sob demanda.

Para visualizar exemplos de como configurar seu processo do mongocryptd, clique na guia correspondente ao driver que você está utilizando em seu aplicativo:

O seguinte trecho de código define a configuração da porta de audição do mongocryptd:

var extraOptions = new Dictionary<string, object>()
{
{ "mongocryptdSpawnArgs", new [] { "--port=30000" } },
};
autoEncryptionOptions.With(extraOptions: extraOptions);

O trecho de código abaixo define a configuração de tempo limite padrão de mongocryptd:

var extraOptions = new Dictionary<string, object>()
{
{ "idleShutdownTimeoutSecs", 60 },
};
autoEncryptionOptions.With(extraOptions: extraOptions);

O seguinte trecho de código define a configuração da porta de audição do mongocryptd:

extraOptions := map[string]interface{}{
"mongocryptdSpawnArgs": []string{
"--port=30000",
},
}

O trecho de código abaixo define a configuração de tempo limite padrão de mongocryptd:

extraOptions := map[string]interface{}{
"mongocryptdSpawnArgs": []string{
"--idleShutdownTimeoutSecs=75",
},
}

O seguinte trecho de código define a configuração da porta de audição do mongocryptd:

List<String> spawnArgs = new ArrayList<String>();
spawnArgs.add("--port=30000");
Map<String, Object> extraOpts = new HashMap<String, Object>();
extraOpts.put("mongocryptdSpawnArgs", spawnArgs);
AutoEncryptionSettings autoEncryptionSettings = AutoEncryptionSettings.builder()
...
.extraOptions(extraOpts);

O trecho de código abaixo define a configuração de tempo limite padrão de mongocryptd:

List<String> spawnArgs = new ArrayList<String>();
spawnArgs.add("--idleShutdownTimeoutSecs")
.add("60");
Map<String, Object> extraOpts = new HashMap<String, Object>();
extraOpts.put("mongocryptdSpawnArgs", spawnArgs);
AutoEncryptionSettings autoEncryptionSettings = AutoEncryptionSettings.builder()
...
.extraOptions(extraOpts);

O seguinte trecho de código define a configuração da porta de audição do mongocryptd:

autoEncryption: {
...
extraOptions: {
mongocryptdSpawnArgs: ["--port", "30000"],
mongocryptdURI: 'mongodb://localhost:30000',
}

Observação

No driver NodeJS, o mongocryptdURI tem de corresponder à porta de audição.

O trecho de código abaixo define a configuração de tempo limite padrão de mongocryptd:

autoEncryption: {
...
extraOptions: {
mongocryptdSpawnArgs: ["--idleShutdownTimeoutSecs", "75"]
}

O seguinte trecho de código define a configuração da porta de audição do mongocryptd:

auto_encryption_opts = AutoEncryptionOpts(mongocryptd_spawn_args=['--port=30000'])

O trecho de código abaixo define a configuração de tempo limite padrão de mongocryptd:

auto_encryption_opts = AutoEncryptionOpts(mongocryptd_spawn_args=['--idleShutdownTimeoutSecs=75'])

Voltar

Biblioteca compartilhada de criptografia automática para CSFLE

Próximo

Instalar libmongocrypt