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

Criptografia explícita

Nesta página

  • Visão geral
  • Usar criptografia explícita
  • Criar uma instância do ClientEncryption
  • Criptografar campos em operações de leitura e gravação
  • Descriptografia automática
  • Aplicação de criptografia em nível de campo no lado do servidor
  • Saiba mais

Saiba como usar o mecanismo de criptografia explícito da Queryable Encryption.

A criptografia explícita é um mecanismo no qual você especifica como gostaria de criptografar e descriptografar os campos no documento em cada operação executada no reconhecimento de data center.

A criptografia explícita está disponível nos seguintes produtos MongoDB que usam a versão 6.0 ou posterior:

  • Servidor MongoDB Community

  • MongoDB Enterprise Advanced

  • MongoDB Atlas

As seções a seguir fornecem uma visão geral do uso da criptografia explícita em seu aplicativo habilitado para Queryable Encryption:

ClientEncryption é uma abstração usada entre drivers e mongosh que encapsula a Key Vault Collection e as operações KMS envolvidas na criptografia explícita.

Para criar uma instância do ClientEncryption , especifique:

  • Um objeto kmsProviders configurado com acesso ao 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

For more ClientEncryption options, see MongoClient Options for Queryable Encryption.

Observação

Os exemplos de código não estão disponíveis no momento, mas estarão disponíveis em breve.

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 algoritmo usado, Indexed ou Unindexed

  • O ID do diretório de dados

  • O fator de contenção (se você estiver usando o algoritmo Indexed )

  • Se estiver executando uma operação de leitura, defina o tipo de query definido para o seu campo (se você estiver usando o algoritmo Indexed )

Observação

Tipos de query

O tipo de query se aplica somente a operações de leitura.

Para saber mais sobre tipos de query, consulte Tipos de query.

Utilize o algoritmo Indexed se você especificar um queryType no campo.

Indexed suporta queries de igualdade. Os campos Indexed exigem um índice no servidor. O índice é criado especificando a opção encryptedFields em db.createCollection() .

Para descriptografar seus campos automaticamente, você deve configurar 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

A descriptografia automática está disponível no servidor da comunidade MongoDB

Embora a criptografia automática exija MongoDB Enterprise ou MongoDB Atlas, a descriptografia automática está disponível nos seguintes produtos MongoDB que usam a versão 6.0 ou posterior:

  • Servidor MongoDB Community

  • MongoDB Enterprise Advanced

  • MongoDB Atlas

Especifique campo de criptografia para impor a criptografia de campo específicos em uma collection.

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

Um cliente que executa a Queryable Encryption com o mecanismo de criptografia explícito em uma instância do MongoDB configurada para impor a criptografia de determinados campos deve criptografar esses campos conforme especificado na instância do MongoDB.

Para saber como configurar a imposição de Queryable Encryption no lado do servidor, consulte Criptografia de campo e consultabilidade.

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

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

← Gerenciamento de collection criptografada