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 permite especificar o material da chave usado para criptografar campos. Ele fornece controle refinado sobre a segurança, ao custo de maior complexidade ao configurar coleções e escrever código para drivers do MongoDB.

A criptografia explícita é um mecanismo no qual você especifica como criptografar e descriptografar campos em seu documento para cada operação executada em seu banco de dados.

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 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 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 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.

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().

Se sua instância do MongoDB forçar 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 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.

Voltar

Collections