Docs Menu
Docs Home
/ /
Fundamentals

Queryable Encryption con cifrado explícito

Aprenda a utilizar el mecanismo de cifrado explícito de cifrado consultable.

El cifrado explícito es un mecanismo en el que usted especifica cómo desea cifrar y descifrar los campos de su documento en cada operación que realiza en su base de datos.

El cifrado explícito está disponible en los siguientes productos MongoDB que utilizan la versión 6.0 o posterior:

  • Servidor comunitario MongoDB

  • MongoDB Enterprise Advanced

  • MongoDB Atlas

Las siguientes secciones proporcionan una visión general del uso de cifrado explícito en tu aplicación habilitada para Queryable Encryption:

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

Nota

Los ejemplos de código no están disponibles actualmente, pero estarán disponibles próximamente.

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, ya sea Indexed o Unindexed

  • El ID de la clave de cifrado de datos

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

  • Si realiza una operación de lectura, configure el tipo de consulta definido para su campo (si está utilizando el algoritmo Indexed)

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.

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

Indexed Admite consultas deIndexed igualdad. Los campos requieren un índice en el servidor. El índice se crea especificando la encryptedFields opción db.createCollection() en.

Para descifrar tus campos automáticamente, debes configurar tu instancia de 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

El descifrado automático está disponible en el servidor comunitario MongoDB

Aunque el cifrado automático requiere MongoDB Enterprise o MongoDB Atlas, el descifrado automático está disponible en los siguientes productos MongoDB que usan la versión 6.0 o posterior:

  • Servidor comunitario MongoDB

  • MongoDB Enterprise Advanced

  • MongoDB Atlas

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

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

Un cliente que realiza cifrado consultable con el mecanismo de cifrado explícito en una instancia de MongoDB configurada para aplicar el cifrado de ciertos campos debe cifrar esos campos como se especifica en la instancia de MongoDB.

Para aprender a configurar la implementación de cifrado consultable del lado del servidor, consulte Cifrado de campo y capacidad de consulta.

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 y bóvedas de claves.

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