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

Instalar e configurar uma Queryable Encryption Library

Nesta página

  • Antes de começar
  • Escolha uma biblioteca
  • Procedimento
  • Próximos passos

O MongoDB usa uma das duas bibliotecas para traduzir queries em queries criptografadas e para criptografar e descriptografar dados. A mais recente é a Biblioteca compartilhada de criptografia automática.

Siga as tarefas anteriores para instalar um driver e dependências compatíveis com a Queryable Encryption antes de continuar.

A Automatic Encryption Shared Library é uma biblioteca dinâmica que permite que seu aplicativo cliente execute a criptografia automática. Uma biblioteca dinâmica é um conjunto de funcionalidades acessadas por um aplicativo no tempo de execução em vez de compilar tempo. A Biblioteca compartilhada de criptografia automática executa as seguintes tarefas:

  • Lê o esquema de criptografia para determinar quais campos criptografar ou descriptografar

  • Impede que seu aplicativo execute operações não suportadas em campos criptografados

A biblioteca compartilhada de criptografia automática não realiza nenhuma das seguintes ações:

  • Executar criptografia ou descriptografia de dados

  • Acessar o material da chave de criptografia

  • Escutar dados pela rede

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.

Importante

Usar a biblioteca compartilhada de criptografia automática

Se você estiver iniciando um novo projeto, use a Biblioteca compartilhada de criptografia automática. A Biblioteca Compartilhada de Criptografia Automática substitui mongocryptd e não exige que você inicie um novo processo.

mongocryptd está instalado com o MongoDB Enterprise Server.

Quando você cria um cliente MongoDB com criptografia em uso, o processo de 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 de campo e a descriptografia automática, os drivers usam a libmongocrypt licenciada pela Apache biblioteca.

Para baixar a Biblioteca compartilhada de criptografia automática da Central de Download do MongoDB, selecione a versão e a plataforma e, em seguida, a biblioteca.

Dica

Para ver uma lista expandida de versões e pacotes disponíveis, consulte Downloads do MongoDB Enterprise.

1

Na lista suspensa Version, selecione 7.0.0 (current).

2

No menu suspenso Platform, selecione sua plataforma.

3

No menu suspenso Package, selecione crypt_shared.

4

Clique em Download.

Para configurar como seu driver procura a Biblioteca Compartilhada de Criptografia Automática, use os seguintes parâmetros:

Nome
Descrição
cryptSharedLibPath

Especifica o caminho absoluto para o pacote Biblioteca compartilhada de criptografia automática, crypt_shared.

Padrão: undefined

cryptSharedLibRequired

Especifica se o driver deve usar a biblioteca compartilhada de criptografia automática. Se true, o driver retornará um erro se a biblioteca compartilhada de criptografia automática não estiver disponível. Se false, o condutor executará a seguinte sequência de ações:

  1. Tentar usar a Biblioteca compartilhada de criptografia automática.

  2. Se a biblioteca compartilhada de criptografia automática não estiver disponível, o driver tentará iniciar e se conectar a mongocryptd.

Padrão: false

Para visualizar um exemplo demonstrando como configurar estes parâmetros, consulte Início Rápido.

1

Instalar o mongocryptd:

Para sistemas operacionais Linux compatíveis: para instalar o pacote do servidor MongoDB, siga o tutorial de instalação no Linux 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.

Para OSX: para instalar o pacote do Servidor MongoDB, siga o tutorial de instalação no MacOS. O gerenciador de pacotes instala binários em um local no PATH do sistema.

Para Windows: para instalar o pacote MongoDB Server, siga o tutorial de instalação no Windows . Você deve adicionar o pacote mongocryptd ao PATH do seu sistema após a instalação. Siga as práticas recomendadas documentadas para sua instalação do Windows para adicionar o binário mongocryptd ao PATH do sistema.

Para instalar a partir de um arquivo tarball/ZIP oficial: Para instalar a partir de um arquivo oficial, siga as práticas recomendadas documentadas para seu sistema operacional para adicionar o binário mongocryptd ao PATH do sistema.

2

Configurar a biblioteca:

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

Importante

Iniciar na inicialização

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

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

Nome
Descrição
Porta
The port from which mongocryptd listens for messages.
Default: 27020
Tempo limite de inatividade em marcha lenta (segundos)
Number of idle seconds the mongocryptd process waits before exiting.
Default: 60
mongocryptdURI
The URI on which to run the mongocryptd process.
Default: "mongodb://localhost:27020"
mongocryptdBypassSpawn
When true, prevents the driver from automatically spawning mongocryptd.
Default: false
mongocryptdSpawnPath
The full path to mongocryptd.
Default: Defaults to empty string and spawns from the system path.

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.

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'])

Depois de instalar uma biblioteca, crie uma chave mestra do cliente no sistema de gerenciamento de chaves de sua escolha.

Voltar

Instalar libmongocrypt