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:

  • Servidor comunitario MongoDB

  • MongoDB Enterprise Advanced

  • MongoDB Atlas

ClientEncryption es una abstracción utilizada en todos los controladores y mongosh que encapsula la colección Key Vault y OperacionesKMS involucradas en 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 su colección de Key Vault

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

  • Una instancia MongoClient con acceso a su colección de Key Vault

Para más opciones ClientEncryption, consulte Opciones de MongoClient para cifrado consultable.

Debe actualizar las operaciones de lectura y escritura en toda su aplicación de modo que ésta encripte los campos antes de realizar operaciones de lectura y escritura.

Para cifrar campos, utilice el método encrypt de su instancia ClientEncryption. Especifique 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á realizando una operación de lectura utilizando el algoritmo Indexed o Range, configure el tipo de consulta definido para su campo.

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

Nota

Tipos de consulta

El tipo de consulta solo se aplica a operaciones de lectura.

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

Utilice el algoritmo Indexed o Range si especifica un queryType en el campo.

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

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, configure su instancia MongoClient de la siguiente manera:

  • Especifique un objeto kmsProviders

  • Especifique su colección de Key Vault

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

Nota

Descifrado automático en el servidor comunitario MongoDB

El descifrado automático está disponible en MongoDB Community Server. 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 su instancia de MongoDB exige el cifrado de campos específicos, cualquier cliente que utilice el cifrado consultable con cifrado explícito debe cifrar dichos campos según lo especificado. Para saber cómo configurar el cifrado consultable en el servidor, consulte Campos cifrados y consultas habilitadas.

Para obtener más información sobre las colecciones de Key Vault, las claves de cifrado de datos y las claves maestras de cliente, consulte Claves de cifrado y Key Vaults.

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

Volver

Colecciones

En esta página