Para agentes de IA: um índice de documentação está disponível em https://www.mongodb.com/pt-br/docs/llms.txt — as versões de markdown de todas as páginas estão disponíveis anexando .md a qualquer caminho de URL.
Menu Docs

Queryable Encryption com criptografia explícita

A criptografia explícita fornece controle refinado sobre a segurança, ao custo de maior complexidade ao configurar collections e escrever código para os drivers do MongoDB. Com a criptografia explícita, você especifica como criptografar campos em seu documento para cada operação executada no banco de dados e inclui essa lógica em todo o aplicativo.

A criptografia explícita está disponível nos seguintes produtos MongoDB:

  • Servidor MongoDB Community

  • MongoDB Enterprise Advanced

  • MongoDB Atlas

ClientEncryption is an abstraction used across drivers and mongosh that encapsulates the Key Vault collection and KMS operations involved in explicit encryption.

Para criar uma instância do ClientEncryption , especifique:

  • Um objeto kmsProviders configurado com acesso ao provedor de KMS que hospeda sua chave mestra do cliente

  • O namespace da sua coleção do Key Vault

  • Se você utilizar o servidor da comunidade MongoDB, configure a opção bypassQueryAnalysis para True

  • Uma instância do MongoClient com acesso à sua coleção do Key Vault

Para mais opções do ClientEncryption , consulte Opções do MongoClient para Queryable Encryption.

Você deve atualizar as operações de leitura e gravação em todo o aplicativo para que ele criptografe os campos antes de executar operações de leitura e gravação.

Para criptografar campos, use o método encrypt de sua instância ClientEncryption . Especifique o seguinte:

  • O valor a ser criptografado

  • O ID do diretório de dados

  • O algoritmo

    • unindexed: para campos criptografados não consultáveis.

    • indexed: suporta consultas de igualdade.

    • range: suporta query de faixa.

    • string: oferece suporte a query de prefixo, sufixo e substring.

  • Os parâmetros para o algoritmo escolhido. A criptografia explícita não usa um esquema de criptografia, portanto, você deve passar esses parâmetros em cada chamada para encrypt, tanto para operações de leitura quanto de gravação.

  • As operações de leitura devem especificar um queryType que corresponda ao algoritmo especificado.

Observação

Os algoritmos indexed, range e string exigem um índice no servidor, que é criado quando você especifica a opção encryptedFields durante db.createCollection().

algoritmo
queryType (operações de leitura)
Parâmetros Adicionais

indexed

equality

range

range

string

prefix ou suffix

string

substring

Para operações de gravação, você pode especificar as opções prefix e suffix na mesma chamar para índice um campo para ambos os tipos de query. Você não pode definir substring junto com prefix ou suffix.

Observação

A partir do MongoDB 9.0, os tipos de query prefixPreview, suffixPreview e substringPreview que usam o algoritmo text foram descontinuados e removidos. Use os tipos de query prefix, suffix ou substring com o algoritmo string em vez disso.

Para descriptografar campos automaticamente, configure sua instância do MongoClient como segue:

  • Especifique um objeto kmsProviders

  • Especifique sua coleção do Key Vault

  • Se você utilizar o servidor da comunidade MongoDB, configure a opção bypassQueryAnalysis para True

Observação

Descriptografia automática no MongoDB Community servidor

A descriptografia automática está disponível no MongoDB Community Server. A criptografia automática requer MongoDB Enterprise ou MongoDB Atlas.

Etapas para impor a criptografia de campos específicos em uma coleção.

Se sua instância do MongoDB impor a criptografia de campos específicos, qualquer cliente que execute a Queryable Encryption com criptografia explícita deverá criptografar esses campos conforme especificado. Para saber como configurar a aplicação da Queryable Encryption no lado do servidor, consulte Campos criptografados e queries ativadas.

Para saber mais sobre coleções de Key Vault, chaves de criptografia de dados e chaves mestras de clientes, consulte Chaves de criptografia e Key Vaults.

Para aprender mais sobre KMS provedores e kmsProviders objetos, consulte KMS Provedores.