Búsqueda de Atlas
Queryable Encryption es incompatible con MongoDB Atlas Search.
Vista previa de limitaciones específicas
Nota
Las siguientes limitaciones se aplican durante el preestreno técnico de Queryable Encryption.
factor de contención
El factor de contención es una configuración que ayuda a ajustar el rendimiento en función del número de conexiones concurrentes.
El factor de contención es inmutable y solo se puede establecer al especificar un campo para cifrado. El valor por defecto es 0.
Creación manual de clave de datos
Debes crear manualmente una Clave de Cifrado de Datos única para cada campo que deseas cifrar. En una próxima versión, podrá omitir el campo keyId de su encryptedFieldsMap y un driver compatible con Queryable Encryption creará el
DEK automáticamente.
Compactación manual
Tendrá que ejecutar manualmente compactación de índices cuando tus colecciones de metadatos superen los 1 GB durante la vista previa técnica. En una futura versión, la compactación se ejecutará automáticamente cuando las colecciones de metadatos superen un tamaño definido.
La compactación es un proceso que disminuye el tamaño de las colecciones de metadatos asociadas con campos cifrados y mejora el rendimiento.
encryptedFieldsMap Modificación
No modifiques el encryptedFieldsMap que se te pase a tu MongoClient durante la previsualización técnica. Hacerlo puede resultar en un comportamiento inesperado e incorrecto al consultar.
Soporte para operaciones de lectura y escritura
El mongod almacena únicamente BinData cifrados y aplica cualquier expresión de agregación u operador del query que especifique un campo cifrado al valor BinData. Aunque la expresión u operador puede admitir BinData campos, el valor resultante puede ser incorrecto o inesperado en comparación con emitir la misma expresión u operador contra el valor descifrado. El mongod lanza un error si la expresión u operador no soporta valores BinData.
Soporte de topología
Se admiten sets de réplicas y clústeres.
Las implementaciones autónomas no están soportadas
Las lecturas secundarias no son compatibles
particionado
Las colecciones de metadatos no deben estar particionadas
Las claves de fragmento no deben ser campos cifrados
CRUD
Queryable Encryption no es compatible con operaciones por lotes. No se admiten las siguientes operaciones: -
db.collection.insertMany()-db.collection.updateMany()-db.collection.deleteMany()Queryable Encryption limita los argumentos
db.collection.findAndModify(). -fieldsno está permitido -newdebe ser falso
Colecciones
Actualmente, Queryable Encryption solo admite nuevas colecciones. No puedes agregar ni remover Queryable Encryption a colecciones existentes.
No puedes especificar
jsonSchemaparadb.createCollection()al crear una colección de Queryable Encryption si eljsonSchemacontiene la palabra claveencrypt. No puedes usar cifrado a nivel de campo del lado del cliente con Queryable Encryption en la misma colección.Puede especificar tanto
encryptedFieldscomojsonSchemaparadb.createCollection()siempre que su jsonSchema no contenga validación para campos cifrados.Queryable Encryption no admite la migración automática desde una colección no encriptada. Debes importar los documentos uno por uno.
Queryable Encryption no admite la migración desde colecciones encriptadas con Cifrado a Nivel de Campo del Lado del Cliente. Debe descifrar sus documentos e importarlos uno por uno.
Queryable Encryption no admite Vistas, colecciones de series de tiempo o colección con tamaño fijo.
Queryable Encryption no admite Índices TTL ni Índices únicos.
No puedes renombrar una colección con campos cifrados.
No se puede deshabilitar la validación de
jsonSchema.Validación del documento de cifrado automático cuando
encryptedFieldsestá presente en la información de la colección.No se puede establecer
validationLevelennone.No se puede establecer
validationActionenwarn.
Descartar Colección
Descartar colecciones de un
MongoClientque no está configurado para Queryable Encryption no descartará las colecciones de metadatos asociadas.``MongoD`` registra una advertencia si eliminas una colección con campos cifrados antes de eliminar las colecciones de metadatos.
Tip
Los drivers compatibles con Queryable Encryption eliminan las colecciones de metadatos al eliminar la colección al usar un MongoClient configurado para Queryable Encryption.
Crear colección
Siempre debe crear colecciones explícitamente para usarlas con Queryable Encryption. El uso de la creación implícita de colecciones no creará los índices y colecciones de metadatos necesarios, lo que resultará en un bajo rendimiento de las consultas.
Tipos de consulta
El tipo de query que especifiques para un campo al crear la colección en encryptedFieldsMap es inmutable. No puedes añadir nuevos tipos de consulta a un campo existente, ni puedes cambiar el tipo de consulta existente.
Nombres de campos cifrados
Los nombres de campos cifrados son inmutables. Por ejemplo, si especificas ssn como un campo para cifrar, no puedes $rename el nombre del campo a taxPayerID.
Vistas
Las aplicaciones no pueden confiar en la validación de cifrado automático para evitar consultas no compatibles en vistas de colecciones con campos cifrados.
Las consultas sobre vistas en colecciones que contienen valores cifrados con Queryable Encryption pueden devolver resultados inesperados o incorrectos si el pipeline de agregación de la vista subyacente o la query refiere a campos cifrados. Si creas una vista en una colección que contiene valores cifrados con Queryable Encryption, evita operar en campos cifrados para mitigar el riesgo de resultados inesperados o incorrectos.
Para obtener más información sobre las vistas, consulte vistas.
Intercalación
Queryable Encryption ignora tanto las intercalaciones especificadas por el usuario como las intercalaciones por defecto de la colección. El cifrado oculta el valor del campo e impide el comportamiento normal de la intercalación. Las consultas sensibles a la intercalación en campos cifrados pueden arrojar resultados inesperados o incorrectos.
Para obtener más información sobre las intercalaciones, consulte el Documento de intercalación.
Mientras que los drivers compatibles con la versión 6.0 de MongoDB o posteriores, configurados para el cifrado automático, tienen operaciones admitidas para el cifrado automático, para operaciones de lectura y escritura no admitidas, la biblioteca de soporte subyacente no puede analizar el catálogo de colecciones para identificar la intercalación predeterminada. Por lo tanto, la aplicación no puede depender de la validación de Queryable Encryption para impedir las consultas en campo cifrado con intercalación por defecto.
Unique Indexes
Unique indexes no puede garantizar la unicidad si la clave de índice especifica algún campo cifrado.
Queryable Encryption siempre produce un valor cifrado diferente para una entrada específica. El servidor considera que cada valor cifrado es único, incluso cuando el valor desencriptado puede no serlo. Por lo tanto, la colección podría contener múltiples documentos con valores de texto sin formato duplicados para campos con una restricción de unicidad reforzada por índice.
Si bien los drivers compatibles con la versión 6.0 o posterior de MongoDB configurados para el cifrado automático han admitido operaciones para el cifrado automático para operaciones de lectura y escritura no admitidas, la librería de soporte subyacente no puede inspeccionar el catálogo de índices para identificar un campo específico como exclusivo. Las aplicaciones no pueden depender de la validación automática del cifrado para prevenir violaciones de restricciones únicas en campos cifrados aleatoriamente.
El campo _id
No se puede indicar a Queryable Encryption que cifre el campo _id porque depende del valor autogenerado por MongoDB.
Soporte para queries de lectura/guardar
El cifrado automático admite un subconjunto de comandos, operadores del query, operadores de actualizar, etapas de agregación y expresiones de agregación. Para obtener la documentación completa, consulta Operaciones disponibles para el cifrado automático.