Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
Encriptación a nivel de campo

Limitaciones

La mongod solo almacena BinData cifrados y aplica cualquier expresión de agregación u operador del query que especifique un campo cifrado con el valor de BinData. Mientras que la expresión u operador puede soportar BinData campos, el valor resultante puede ser incorrecto o inesperado en comparación con la emisión de esa misma expresión u operador contra el valor desencriptado. El mongod lanza un error si la expresión u operador no admite valores BinData.

Por ejemplo, considera un entero Salary cifrado de forma determinista. Una consulta filtra documentos donde Salary es mayor que 100000. La aplicación cifra explícitamente (manualmente) el valor de query utilizando cifrado determinista antes de emitir la query. El mongod compara el valor cifrado de BinData de 100000 con los valores cifrados de BinData almacenados en cada documento. Aunque la operación se devuelve exitosamente, la comparación de los valores BinData puede devolver un resultado diferente que la comparación de los valores enteros descifrados.

El cifrado automático a nivel de campo del lado del cliente rechaza las operaciones de lectura o escritura que generarían resultados incorrectos o inesperados al ejecutarse en un campo cifrado. Para obtener la documentación completa,consulte Compatibilidad de lectura/escritura con cifrado automático a nivel de campo. Las aplicaciones que realizan cifrado explícito (manual) pueden consultar la página enlazada como guía para ejecutar operaciones de lectura/escritura en campos cifrados.

Las consultas a vistas de colecciones que contienen valores cifrados a nivel de campo del cliente pueden devolver resultados inesperados o incorrectos si la canalización de agregación de vistas subyacente o la consulta hacen referencia a campos cifrados. Si crea una vista en una colección que contiene valores cifrados a nivel de campo del cliente, evite operar en campos cifrados para mitigar el riesgo de resultados inesperados o incorrectos.

Aunque los controladores compatibles con 4.2+ configurados para el cifrado a nivel de campo del lado del cliente tienen validación para operaciones de lectura y escritura no compatibles, la biblioteca de soporte subyacente no puede inspeccionar el catálogo de vistas para identificar una colección determinada como una vista. Por lo tanto, las aplicaciones no pueden depender de la validación automática de cifrado a nivel de campo para evitar queries no compatibles en vistas de colecciones con campos cifrados.

Para aplicaciones que utilizan cifrado explícito (manual) para consultar una vista sobre una colección que contiene valores cifrados, considere construir el query utilizando solo operadores del query con comportamiento normal conocido cuando se emita contra campos cifrados.

El cifrado a nivel de campo del lado del cliente no respeta las intercalaciones especificadas por el usuario ni las predeterminadas de la colección. El cifrado a nivel de campo oculta el valor del campo e impide el funcionamiento normal de la intercalación. Las consultas sensibles a la intercalación en campos cifrados pueden devolver resultados inesperados o incorrectos.

Mientras los drivers compatibles con 4.2+ configurados para el cifrado a nivel de campo del lado del cliente cuentan con validación para operaciones de lectura y escritura no soportadas, la librería de soporte subyacente no puede analizar el catálogo de la colección para identificar la intercalación por defecto. Por lo tanto, las aplicaciones no pueden confiar en la validación automática del cifrado a nivel de campo para evitar las consultas en campos cifrados con intercalación predeterminada.

Unique indexes no puede garantizar la unicidad si la clave del índice especifica algún campo cifrado aleatoriamente.

Los campos cifrados usando el algoritmo aleatorio siempre producen un valor cifrado diferente dado un dato de entrada específico. El servidor considera cada valor cifrado como único, aunque el valor descifrado en sí no sea único. Por lo tanto, la colección puede contener varios documentos con valores descifrados duplicados para un campo con una restricción de exclusividad garantizada por índice.

Si bien 4.2los controladores compatibles con + configurados para el cifrado automático a nivel de campo del lado del cliente cuentan con validación para operaciones de lectura y escritura no compatibles, la biblioteca de soporte subyacente no puede introspeccionar el catálogo de índices para identificar un campo determinado como único. Por lo tanto, las aplicaciones no pueden confiar en la validación automática del cifrado a nivel de campo para evitar violaciones de la restricción única en campos cifrados aleatoriamente.

Especificar una clave de partición en campos cifrados o cifrar campos de una clave de partición existente puede resultar en un comportamiento de particionado inesperado o incorrecto.

Si bien los controladores compatibles con 4.2+ configurados para el cifrado a nivel de campo del lado del cliente tienen validación para operaciones de lectura y escritura no admitidas, la biblioteca de soporte subyacente no puede analizar los metadatos del catálogo de particionamiento para identificar los campos clave de partición. Por lo tanto, las aplicaciones no pueden confiar en la validación automática de cifrado a nivel de campo para evitar el cifrado de los campos clave de partición.

El cifrado automático del lado del cliente a nivel de campo admite un subconjunto de comandos, operadores del query, operadores de actualización, etapas de agregación y expresiones de agregación. Para obtener la documentación completa, consulta Soporte de Lectura/Escritura con Cifrado Automático a Nivel de Campo.

Volver

Gestionar llaves de cifrado de datos

En esta página