Esta página describe las ediciones MongoDB Server y las versiones de drivers compatibles con Queryable Encryption y el cifrado a nivel de campo del lado del cliente para ayudarte a determinar si tu implementación admite cada una de las funcionalidades de encriptación en uso.
➤ Utilice el menú desplegable Seleccione su lenguaje para seleccionar su driver y ver su compatibilidad con Queryable Encryption y el cifrado a nivel de campo del lado del cliente.
Compatibilidad de cifrado consultable
Las siguientes secciones describen los requisitos de compatibilidad para usar el cifrado consultable con MongoDB Server y el controlador seleccionado.
Compatibilidad de MongoDB
Puedes utilizar la Queryable Encryption en un conjunto de réplicas o clúster fragmentado de MongoDB Server 7.0 o posterior, pero no en una instancia independiente. La siguiente tabla muestra qué productos de MongoDB Server admiten mecanismos de Queryable Encryption:
Nombre del producto | Versión mínima | Admite Queryable Encryption con cifrado automático | Admite cifrado consultable con cifrado explícito |
|---|---|---|---|
MongoDB Atlas [1] | 7.0 | Sí | Sí |
MongoDB Enterprise Advanced | 7.0 | Sí | Sí |
MongoDB Community Edition | 7.0 | No | Sí |
| [1] | Queryable Encryption es compatible con MongoDB Atlas pero no con MongoDB Search. |
Compatibilidad del driver
Controlador | Versión requerida | Dependencies |
|---|---|---|
1.24.0 o posterior | libmongocrypt versión 1.8.0 o posterior | |
3.8.0 o posterior | libmongocrypt versión 1.8.0 o posterior | |
2.20.0 o posterior |
| |
1.12 o posterior | libmongocrypt versión 1.8.0 o posterior | |
4.10.0 o posterior | mongodb-crypt versión 1.8.0 o después | |
4.10.0 o posterior | mongodb-crypt versión 1.8.0 o después | |
5.5.0 o posterior | mongodb-cliente-cifrado versión 2.8.0 o después. Si está utilizando la versión 6.0 o posterior del controlador Node.js, también debe utilizar la versión 6.0 o posterior de | |
1.16 o posterior | (Ninguno) | |
4.4 o posterior | pymongocrypt versión 1.6 o posterior | |
2.19 o posterior | libmongocrypt-helper 18versión..0 o posterior | |
2.4.0 o posterior | libmongocrypt versión 1.8.0 o posterior | |
4.10.0 o posterior | mongodb-crypt versión 1.8.0 o después |
Importante
Soporte de cifrado automático
Para usar el cifrado consultable con cifrado automático, debe instalar un componente de análisis de consultas. Para obtener más información, consulte Instalar y configurar un componente de análisis de consultas.
Limitaciones de soporte de MongoDB
Al habilitar Queryable Encryption en una colección, se eliminan los campos de algunos comandos de diagnóstico y se omiten algunas operaciones del registro de las query. Esto limita los datos disponibles para los ingenieros de soporte de MongoDB, especialmente cuando analizan el rendimiento de las query. Para medir el impacto de las operaciones en las colecciones cifradas, utiliza una herramienta de supervisión de rendimiento de aplicaciones de terceros para recopilar métricas.
Compatibilidad de cifrado a nivel de campo del lado del cliente
Las siguientes secciones describen los requisitos de compatibilidad para usar el cifrado de nivel de campo del lado del cliente (CSFLE) con MongoDB Server y el controlador seleccionado.
Compatibilidad de MongoDB
Puede usar el cifrado a nivel de campo del lado del cliente en un conjunto de réplicas o un clúster fragmentado, pero no en una instancia independiente. La siguiente tabla muestra qué productos de MongoDB Server admiten distintos mecanismos de cifrado a nivel de campo del lado del cliente:
Nombre del producto | Versión mínima | Admite CSFLE con cifrado automático | Admite CSFLE con cifrado explícito |
|---|---|---|---|
MongoDB Atlas | Sí | Sí | |
MongoDB Enterprise Advanced | 4.2 | Sí | Sí |
MongoDB Community Edition | 4.2 | No | Sí |
Compatibilidad del driver
Para utilizar el cifrado a nivel de campo del lado del cliente y la API de rotación de claves con el controlador C, instala la versión 1.17.5 o posterior del controlador.
Para utilizar el cifrado a nivel de campo del lado del cliente y la API de rotación de claves con el controlador C++, instale la versión 3.6.0 o superior del controlador.
Para utilizar el cifrado a nivel de campo del lado del cliente con el driver .NET/C#, instala la versión 2.10.0 del driver o una posterior. Para utilizar la API de Rotación de Claves, instala la versión 2.17.1 del controlador o una posterior.
Si utiliza la versión del controlador 3.0 o posterior:
Instale el paquete MongoDB.Driver.Encryption desde NuGet. Este paquete permite el cifrado automático.
Si su aplicación se ejecuta en Linux, instale libmongocrypt manualmente. Luego, configure la variable de entorno
LIBMONGOCRYPT_PATHa la ruta absoluta del archivolibmongocrypt.Si tu aplicación se ejecuta en un Linux de 64bits y estás utilizando la versión 3.4.3 o anterior del controlador, agrega el siguiente XML a tu archivo
.csproj.Reemplaza
<MongoDriverEncryptionVersion>con la versión instalada del paqueteMongoDB.Driver.Encryption:<PropertyGroup> <!-- replace the version here with your package version --> <MongoDriverEncryptionVersion>3.4.2</MongoDriverEncryptionVersion> <MongoDriverEncryptionPath>$(NuGetPackageRoot)mongodb.driver.encryption\$(MongoDriverEncryptionVersion)</MongoDriverEncryptionPath> </PropertyGroup> <PropertyGroup> <!-- Suppresses the duplicate file error --> <ErrorOnDuplicatePublishOutputFiles>false</ErrorOnDuplicatePublishOutputFiles> </PropertyGroup> <!-- Ensures the correct library after build or publish --> <Target Name="EnsureCorrectMongoEncryption" AfterTargets="Build;Publish" Condition="'$(RuntimeIdentifier)' != ''"> <!-- Determine paths based on current operation --> <PropertyGroup> <_TargetDir Condition="Exists('$(PublishDir)')">$(PublishDir)</_TargetDir> <_TargetDir Condition="'$(_TargetDir)' == ''">$(OutputPath)</_TargetDir> </PropertyGroup> <!-- Copy the correct library based on runtime identifier (RID) --> <ItemGroup> <_CorrectMongoLib Include="$(MongoDriverEncryptionPath)/runtimes/linux/native/x64/libmongocrypt.so" Condition="'$(RuntimeIdentifier)' == 'linux-x64'" /> <_CorrectMongoLib Include="$(MongoDriverEncryptionPath)/runtimes/linux/native/arm64/libmongocrypt.so" Condition="'$(RuntimeIdentifier)' == 'linux-arm64'" /> <_CorrectMongoLib Include="$(MongoDriverEncryptionPath)/runtimes/linux/native/alpine/libmongocrypt.so" Condition="'$(RuntimeIdentifier)' == 'linux-musl-arm64'" /> </ItemGroup> <!-- Copy with overwrite --> <Copy SourceFiles="@(_CorrectMongoLib)" DestinationFolder="$(_TargetDir)" Condition="'@(_CorrectMongoLib)' != ''" OverwriteReadOnlyFiles="true" /> <Message Text="Fixed MongoDB encryption library for $(RuntimeIdentifier)" Condition="'@(_CorrectMongoLib)' != ''" /> </Target>
Para utilizar el cifrado a nivel de campo del lado del cliente con el driver Go, instala el driver versión 1.2 o posterior. Para utilizar la API de rotación de claves, instala la libmongocrypt versión 1.5.2 o posterior.
Para usar el cifrado a nivel de campo del lado del cliente con el controlador Java Reactive Streams, instale 1.12.0 la versión o posterior. Para usar la API de rotación de claves, instale la mongodb-crypt versión 1.7.3 o posterior.
Para usar el cifrado a nivel de campo del lado del cliente con el driver Java Sync o Java Reactive Streams, instala la versión 3.10.0 o superior del driver. Para utilizar la API de rotación de claves, instala mongodb-crypt versión 1.7.3 o posterior.
Para usar el cifrado de nivel de campo del lado del 3.4.0 cliente con el controlador de Node.js, instale la versión o posterior. Para usar la API de rotación de claves, instale mongodb-client-encryption 2 2versión..0 2-.x.
Si está utilizando la versión 6.0 o posterior del controlador Node.js, también debe utilizar la versión 6.0 o posterior de mongodb-client-encryption.
Para utilizar el cifrado a nivel de campo del lado del cliente y la API de rotación de claves con el driver PHP, instala la versión 1.6.0 o posterior del driver.
Para usar el cifrado a nivel de campo del lado del cliente con PyMongo, instala la versión del controlador 3.10.0 o posterior. Para usar la API de rotación de claves, instala la versión pymongocrypt 1.3.1 o posterior.
Para utilizar el cifrado a nivel de campo del lado del cliente y la API de rotación de claves con el driver de Ruby, instala la versión 2.12.1 del driver o posterior.
Para utilizar el cifrado del lado del cliente a nivel de campo con el controlador Rust, instala la versión del controlador 2.4.0 o posterior. Para usar la API de rotación de claves, instala libmongocrypt versión 1.8.0 o posterior.
Para utilizar el cifrado a nivel de campo del lado del cliente y la API de rotación de claves con el driver de Scala, instala la versión del driver 2.7.0 o posterior.
Para obtener más información sobre la API de rotación de claves, consulte Rotar y volver a envolver las claves de cifrado.
Importante
Soporte de cifrado automático
Para utilizar el cifrado a nivel de campo del lado del cliente con cifrado automático, debes instalar un componente de análisis de consultas. Para aprender más, consulta Instalar y configurar un componente de análisis de consultas CSFLE.