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

Para mais opções do ClientEncryption , consulte Opções do 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.

Voltar

Collections