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 é uma abstração usada entre drivers e mongosh que encapsula a Key Vault Collection e as operações do KMS envolvidas na criptografia explícita.

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 queries de faixa.

    • text: suporta consultas prefixPreview, sufixPreview e substringPreview.

  • Para operações de leitura em campos criptografados consultáveis, especifique queryType. Todos os algoritmos abaixo exigem um índice no servidor, que é criado quando você especifica a encryptedFields opção db.createCollection() durante.

  • Para operações de leitura em campos criptografados consultáveis, especifique quaisquer opções adicionais, como os valores mínimos e máximos consultáveis para campos de intervalo.

algoritmo
queryType
Parâmetros adicionais

indexed

equality

range

range

text

prefixPreview, suffixPreview ou substringPreview

Observação

A partir do MongoDB 8.0, o algoritmo rangePreview Queryable Encryption foi preterido e removido. Em vez disso, use o algoritmo range.

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.

Indexed e Range campos exigem um índice no servidor. O índice é criado especificando a opção encryptedFields em db.createCollection().

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 saber mais sobre os provedores KMS e os objetos kmsProviders, consulte Provedores KMS.