Join us Sept 17 at .local NYC! Use code WEB50 to save 50% on tickets. Learn more >
MongoDB Event
Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ /

Limitações

O mongod somente armazena BinData criptografado e aplica qualquer expressão de agregação ou operador de query que especifique um campo codificado em relação ao valor BinData . Embora a expressão ou operador possa suportar campos BinData , o valor resultante pode ser incorreto ou inesperado quando comparado à emissão da mesma expressão ou operador em relação ao valor descriptografado. O mongod lançará um erro se a expressão ou operador não suportar valores BinData .

Por exemplo, considere um número inteiro codificado deterministicamente Salary. Uma query filtra documentos em que Salary é maior que 100000. O aplicativo criptografa explicitamente (manualmente) o valor da query usando criptografia determinística antes de emitir a query. O mongod compara o valor BinData criptografado de 100000 com os valores BinData criptografados armazenados em cada documento. Embora a operação retorne com sucesso, a comparação dos valores BinData pode retornar um resultado diferente da comparação dos valores inteiros descriptografados.

A criptografia automática no nível do campo no lado do cliente rejeita operações de leitura ou gravação que retornariam resultados incorretos ou inesperados quando emitidas em um campo criptografado. Para obter a documentação completa, consulte Suporte a leitura/gravação com criptografia automática em nível de campo. Os aplicativos que executam criptografia explícita (manual) podem fazer referência à página vinculada como orientação para a emissão de operações de leitura/gravação em campos criptografados.

Queries em visualizações em coleções contendo valores criptografados em nível de campo no lado do cliente podem retornar resultados inesperados ou incorretos se o pipeline de agregação da visualização subjacente ou a query fizer referência a campos criptografados. Ao criar uma visualização em uma collection que contenha valores criptografados no nível do campo do lado do cliente, evite operar em campos criptografados para mitigar o risco de resultados inesperados ou incorretos.

Embora 4.2+ drivers compatíveis configurados para criptografia automática em nível de campo do lado do cliente tenham validação para operações de leitura e gravação não suportadas, a biblioteca de suporte subjacente não pode fazer a introspecção do catálogo de visualização para identificar uma determinada collection como uma visualização. Portanto, os aplicativos não podem confiar na validação automática da criptografia no nível do campo para evitar queries não permitidas em relação a visualizações de coleções com campos criptografados.

Para aplicativos que usam criptografia explícita (manual) para consultar uma visualização em uma coleção contendo valores criptografados, considere a possibilidade de construir a query usando apenas operadores de query com comportamento normal conhecido quando emitido em campos criptografados.

A criptografia no nível do campo no lado do cliente não respeita os agrupamentos especificados pelo usuário ou os agrupamentos padrão da coleção. A criptografia no nível do campo e impede o comportamento normal do agrupamento. Queries sensíveis de agrupamento em campos criptografados podem retornar resultados inesperados ou incorretos.

Embora 4.2+ drivers compatíveis configurados para criptografia automática em nível de campo do lado do cliente tenham validação para operações de leitura e gravação não suportadas, a biblioteca de suporte subjacente não pode introspecção do catálogo de coleções para identificar o agrupamento padrão. Portanto, os aplicativos não podem confiar na validação automática da criptografia em nível de campo 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 quaisquer campos criptografados aleatoriamente .

Os campos criptografados usando o algoritmo aleatório sempre produzem um valor criptografado diferente de acordo com uma entrada específica. O servidor considera cada valor criptografado exclusivo, embora o valor descriptografado em si não seja exclusivo. A collection pode, portanto, conter vários documentos com valores descriptografados duplicados para um campo com uma restrição exclusiva imposta por índice.

Embora 4.2+ drivers compatíveis configurados para criptografia automática em nível de campo do lado do cliente tenham validação para operações de leitura e gravação não suportadas, a biblioteca de suporte subjacente não pode introspecção do catálogo de índices para identificar um determinado campo como exclusivo. Portanto, os aplicativos não podem confiar na validação automática da criptografia em nível de campo para evitar violações de restrições exclusivas em campos criptografados aleatoriamente.

Especificar uma chave de shard em campos criptografados ou criptografar campos de uma chave de shard existente pode resultar em comportamento de fragmentação inesperado ou incorreto.

Embora 4.2+ drivers compatíveis configurados para criptografia automática em nível de campo do lado do cliente tenham validação para operações de leitura e gravação não suportadas, a biblioteca de suporte subjacente não pode introspecção dos metadados do catálogo de fragmentação para identificar campos de chave de fragmento. Portanto, os aplicativos não podem confiar na validação automática da criptografia no nível do campo para evitar a criptografia dos campos de chave de fragmento.

A criptografia automática em nível de campo do lado do cliente 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 Suporte a leitura/gravação com criptografia automática em nível de campo.

Voltar

Gerenciar chaves de criptografia de dados

Nesta página