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
/ /

Queryable Encryption con cifrado explícito

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

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

  • MongoDB Community Server

  • MongoDB Enterprise Advanced

  • MongoDB Atlas

ClientEncryption es una abstracción utilizada en varios drivers y mongosh que encapsula la Colección de Bóvedas de Llaves y KMS operaciones involucradas en el cifrado explícito.

Para crear una instancia ClientEncryption, especifique:

  • Un kmsProviders objeto configurado con acceso al proveedor 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 Server, 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 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 algoritmo utilizado: Indexed, Unindexed o Range

  • El ID de la clave de cifrado de datos

  • El factor de contención (si está utilizando el Indexed Range algoritmo o)

  • Si estás realizando una operación de lectura usando el algoritmo Indexed o Range, establece el tipo de query definido para tu campo.

  • Las opciones range mín, máx (si se está usando el Range algoritmo)

Nota

Tipos de consulta

El tipo de query solo se aplica a las operaciones de lectura.

Para obtener más información sobre los tipos de consulta, consulte Tipos de consulta y comportamiento admitidos.

Utiliza el algoritmo Indexed o Range si especificas un queryType en el campo.

Indexed admite queries de igualdad. Range admite soporte para consultas de rango. Los campos Indexed y Range requieren un índice en el servidor. El índice se crea especificando la opción encryptedFields en db.createCollection().

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.

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 Server, 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 Los Range campos requieren un índice en el servidor. El índice se crea especificando la encryptedFields opción db.createCollection() en.

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 KMS y objeto{s kmsProviders, consulte Proveedores KMS.

Volver

Colecciones

En esta página