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

Limitações do Queryable Encryption

Nesta página

  • Atlas Search
  • Visualizar limitações específicas
  • Fator de contenção
  • Criação manual de chaves de dados
  • Compactação manual
  • encryptedFieldsMap Modificação
  • Suporte a operações de leitura e gravação
  • Suporte a topologia
  • Fragmentação
  • CRUD
  • Collections
  • Descartar collection
  • criar coleta
  • Tipos de query
  • Nomes de campo criptografados
  • Visualizações
  • Agrupamentos
  • Unique Indexes
  • O campo _id
  • Suporte a consultas de leitura/gravação

Queryable Encryption é incompatível com MongoDB Atlas Search.

Observação

As limitações a seguir se aplicam durante a visualização técnica do Queryable Encryption.

O fator de contenção é uma configuração que ajuda a ajustar o desempenho com base no número de conexões simultâneas.

Contention factor is immutable, and can only be set when specifying a field for encryption. O valor padrão é 0.

Você deve criar manualmente um diretório de dados exclusivo para cada campo que deseja criptografar. Em uma versão futura, você poderá omitir o campo keyId do seu encryptedFieldsMap e um driver compatível com o Queryable Encryption criará o DEK automaticamente.

Você precisará executar manualmente acompactação de índice quando suas coleções de metadados excederem 1 GB durante a visualização técnica. Em uma versão futura, a compactação será executada automaticamente quando as coleções de metadados excederem um tamanho definido.

A compactação é um processo que diminui o tamanho das coletas de metadados associadas aos campos criptografados e melhora o desempenho.

Não modifique o encryptedFieldsMap passado para seu MongoClient durante a visualização técnica. Isso pode resultar em comportamento inesperado e incorreto ao consultar.

O mongod armazena apenas o BinData criptografado e aplica qualquer expressão de agregação ou operador de consulta que especifique um campo criptografado ao valor BinData. Embora a expressão ou o operador possa oferecer suporte a campos BinData, o valor resultante pode ser incorreto ou inesperado quando comparado à emissão dessa mesma expressão ou operador em relação ao valor descriptografado. O mongod gera um erro se a expressão ou o operador não suportar valores BinData.

  • Conjuntos de réplicas e clusters fragmentados são aceitos

  • Implantações autônomas não são aceitas

  • Não há compatibilidade para leituras secundárias

  • As coleções de metadados não devem ser fragmentadas

  • As chaves de fragmento não devem ser campos criptografadas

  • A Queryable Encryption oferece suporte apenas a novas coleções. Você não pode adicionar ou remover a Queryable Encryption de coleções existentes.

  • Não é possível especificar jsonSchema para db.createCollection() ao criar uma collection de Queryable Encryption se jsonSchema contiver a palavra-chave encrypt . Não é possível usar a criptografia no nível do campo do lado do cliente com a Queryable Encryption na mesma coleção.

  • Você pode especificar tanto encryptedFields quanto jsonSchema a db.createCollection(), desde que o jsonSchema não contenha validação para campos criptografados.

  • A Queryable Encryption não é compatível com a migração automática de uma collection não criptografada. Você deve importar os documentos um por um.

  • Queryable Encryption não oferece suporte à migração de collection criptografadas com a Criptografia em Nível de campo do Lado do Cliente. Você deve descriptografar seus documentos e importá-los um por um.

  • A Queryable Encryption não é compartível com Visualizações, coleções de séries temporais nem collections limitadas.

  • A Queryable Encryption não é compatível com índices TTL ou índices únicos.

  • Você não pode renomear uma coleção com campos criptografados.

  • Você não pode desabilitar a validação do jsonSchema .

    • Validação do documento de criptografia automática quando encryptedFields está presente nas informações da collection.

    • Não é possível definir validationLevel como none.

    • Não é possível definir validationAction como warn.

  • Dropping collections from a MongoClient that is not configured for Queryable Encryption will not drop the associated metadata collections.``mongod`` registra um aviso se você descartar uma collection com campo criptografados antes de descartar a collection de metadados.

Dica

Os drivers compatíveis com Queryable Encryption descartam as coleções de metadados ao descartar a coleção ao usar um MongoClient configurado para Queryable Encryption.

Você deve sempre criar collection explicitamente para uso com a Queryable Encryption. O uso da criação de collection implícita não criará os índices e as collection de metadados necessários, resultando em um desempenho de query ruim.

Ao criar a coleção no encryptedFieldsMap, o tipo de query que você especificar para um campo será imutável. Não é possível adicionar novos tipos de query a um campo existente nem alterar o tipo de query existente.

Os nomes dos campos criptografados são imutáveis. Por exemplo, se você especificar ssn como um campo para criptografar, não poderá $rename o nome do campo como taxPayerID.

As aplicações não podem confiar na criptografia automática para evitar queries não suportadas em visualizações de coleções com campo criptografados.

Queries nas visualizações de coleções que contenham valores criptografados com a Queryable Encryption podem retornar resultados inesperados ou incorretos se o pipeline de agregação fundamental das visualizações ou a query fizerem referência a campos criptografados. Ao criar uma visualização em uma coleção que contenha valores criptografados com a Queryable Encryption, evite operar em campos criptografados para reduzir o risco de resultados inesperados ou incorretos.

Para obter mais informações sobre visualizações, consulte visualizações

A Queryable Encryption ignora os agrupamentos especificados pelo usuário ou os agrupamentos padrão da coleção. A criptografia obscurece o valor do campo e evita o comportamento normal de agrupamento. Queries sensíveis ao agrupamento em campo criptografados podem retornar resultados inesperados ou incorretos.

Para obter mais informações sobre agrupamentos, consulte Documento de agrupamento.

While MongoDB version 6.0 or later compatible drivers configured for automatic encryption have supported operations for automatic encryption, for unsupported read and write operations the underlying support library cannot introspect the collection catalog to identify the default collation. Portanto, os aplicativos não podem confiar na validação do Queryable Encryption para evitar a query em campos criptografados com padrões de agrupamento.

Unique indexes não pode garantir exclusividade se a chave de índice especificar campos criptografados.

Queryable Encryption always produces a different encrypted value given a specific input. O servidor considera cada valor criptografado exclusivo, embora o valor descriptografado possa não ser exclusivo. A collection poderia, portanto, conter vários documentos com valores de texto simples duplicados para campos com uma restrição única imposta pelo índice.

Embora os drivers compatíveis com o MongoDB versão 6.0 ou posterior configurados para criptografia automática tenham operações suportadas para criptografia automática para operações de leitura e gravação sem suporte, a biblioteca de suporte subjacente não pode fazer a introspecção do catálogo de índices para identificar um determinado campo como exclusivo. A aplicação não pode confiar na criptografia automática para evitar violações de restrições exclusivas em campo criptografados aleatoriamente.

Não é possível instruir o Queryable Encryption a criptografar o campo _id porque ele depende do valor gerado automaticamente pelo MongoDB.

A criptografia automática oferece suporte a um subconjunto de comandos, operadores de query, operadores de atualização, estágios de agregação e expressões de agregação. Para obter a documentação completa, consulte Operações suportadas para criptografia automática.

Voltar

Compatibilidade