Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
See how MongoDB 9.0 delivers up to 2x higher throughput.
MongoDB Branding Shape
Register now >
Docs Menu

Queryable Encryption con cifrado explícito

El cifrado explícito proporciona un control detallado sobre la seguridad, a costa de una mayor complejidad al configurar colecciones y escribir código para los controladores de MongoDB. Con el cifrado explícito, especificas cómo cifrar campos en tu documento para cada operación que realices en la base de datos e incluyes esta lógica en toda tu aplicación.

El cifrado explícito está disponible en los siguientes productos de MongoDB:

  • MongoDB Community Server

  • MongoDB Enterprise Advanced

  • MongoDB Atlas

ClientEncryption es una abstracción utilizada en todos los controladores y mongosh que encapsula la colección de Key Vault y las operaciones de KMS involucradas en el cifrado explícito.

Para crear una instancia de ClientEncryption, especifique:

  • Un objeto kmsProviders configurado con acceso al proveedor de KMS que aloja su Clave Maestra de Cliente.

  • El espacio de nombres de tu Colección de Bóvedas de Llaves

  • Si utiliza MongoDB Community servidor, configure la opción bypassQueryAnalysis en True

  • Una MongoClient instancia con acceso a tu Colección de Bóvedas de Llaves

Para más opciones de ClientEncryption, consulte Opciones de MongoClient para Queryable Encryption.

Debe actualizar las operaciones de lectura y guardado en toda su aplicación para que esta cifre los campos antes de realizar operaciones de lectura y guardado.

Para cifrar campos, utiliza el método encrypt de tu instancia de ClientEncryption. Especifica lo siguiente:

  • El valor a cifrar

  • El ID de la llave de cifrado de datos

  • El algoritmo

    • unindexed: para campos cifrados no consultables.

    • indexed: admite query de igualdad.

    • range: admite query de rango.

  • Para operaciones de lectura en campos cifrados consultables, especifique el tipo de consulta (queryType). Todos los algoritmos que se describen a continuación requieren un índice en el servidor, que se crea cuando se especifica la encryptedFields opción db.createCollection() durante.

  • Para operaciones de lectura en campos cifrados que se pueden consultar, especifica cualquier opción adicional, como los valores mínimo y máximo que se pueden consultar para los campos de rango.

algoritmo
queryType
Parámetros adicionales

indexed

equality

range

range

Nota

A partir de MongoDB 8.0, el algoritmo de Queryable Encryption rangePreview queda obsoleto y se elimina. Utiliza el algoritmo Range en su lugar.

Si tu colección de Queryable Encryption utiliza rangePreview, debes descartar la colección antes de poder actualizar a MongoDB 8.0.

Para descifrar campos automáticamente, configura tu instancia de MongoClient de la siguiente manera:

  • Especifica un objeto kmsProviders

  • Especifique su Colección de Bóvedas de Llaves

  • Si utiliza MongoDB Community servidor, configure la opción bypassQueryAnalysis en True

Nota

Descifrado automático en MongoDB Community servidor

El descifrado automático está disponible en MongoDB Community servidor. El cifrado automático requiere MongoDB Enterprise o MongoDB Atlas.

Pasos para aplicar el cifrado de campos específicos en una colección.

Indexed y los campos Range requieren un índice en el servidor. El índice se crea especificando la opción encryptedFields en db.createCollection().

Si tu instancia de MongoDB aplica el cifrado de campos específicos, cualquier cliente que realice Queryable Encryption con cifrado explícito debe cifrar esos campos según lo especificado. Para aprender a configurar la aplicación de Queryable Encryption del lado del servidor, consulta Campos cifrados y consultas habilitadas.

Para obtener más información sobre la Colección de Bóvedas de Llaves, las llave de cifrado de datos y las llave maestra de cliente, consulte llave de cifrado y Key Vaults.

Para obtener más información sobre los proveedores de KMS y los objetos kmsProviders, consulte Proveedores de KMS.