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

Instalar y configurar mongocryptd para CSFLE

Nota

Característica de la empresa

La funcionalidad automática de encriptación a nivel de campo solo está disponible en MongoDB Enterprise 6.0 o posterior, y en las clusters de MongoDB Atlas 6.0 o posterior.

mongocryptd está instalado con MongoDB Enterprise Server (versión 4.2 y posteriores).

Cuando se crea un cliente de MongoDB habilitado para CSFLE, el proceso mongocryptd se inicia automáticamente por defecto y gestiona las siguientes responsabilidades:

  • Utiliza las reglas de cifrado automático especificadas para marcar campos en operaciones de lectura y escritura para el cifrado.

  • Evita que se ejecuten operaciones no permitidas en campos cifrados.

  • Analiza el esquema de cifrado especificado para la conexión a la base de datos. Las reglas de encriptación automática utilizan un subconjunto estricto de la sintaxis de JSON schema. Si las reglas de cifrado automáticas contienen una sintaxis de cifrado automático no válida o cualquier sintaxis del document validation, mongocryptd devuelve un error.

mongocryptd es responsable únicamente de las funciones anteriores, y no realiza ninguna de las siguientes:

  • mongocryptd no realiza cifrado ni descifrado por sí mismo

  • mongocryptd no accede a ningún material de llave de cifrado

  • mongocryptd no escucha a través de la red

Los controladores compatibles con MongoDB 4.2 y posteriores utilizan la biblioteca libmongocrypt con licencia Apache. Biblioteca para realizar cifrado a nivel de campo del lado del cliente y descifrado automático.

Los drivers oficiales de MongoDB, mongosh, y el shell heredado mongo requieren acceso al proceso mongocryptd en la máquina cliente host. Estos clientes buscan el proceso mongocryptd en la PATH del sistema por defecto.

Para los sistemas operativos Linux compatibles, instala el paquete del servidor siguiendo el tutorial de instalación en Linux , sigue las instrucciones de instalación documentadas e instala el paquete de servidores mongodb-enterprise. Alternativamente, especifique mongodb-enterprise-cryptd en su lugar para instalar solo el binario mongocryptd. El gestor de paquetes instala los binarios en una ubicación del PATH del sistema (por ejemplo, /usr/bin/)

Para OSX, instale el paquete Server siguiendo el tutorial de instalación en macOS. El administrador de paquetes instala los binarios en una ubicación en la ruta del sistema.

Para Windows, instala el paquete del servidor siguiendo el tutorial de instalación en Windows. Debes agregar el paquete mongocryptd al PATH de tu sistema después de la instalación. Consulta las mejores prácticas documentadas para tu instalación de Windows para obtener instrucciones sobre cómo agregar el archivo binario mongocryptd a la variable PATH del sistema.

Para instalaciones a través de un fichero comprimido oficial o un fichero ZIP, siga las mejores prácticas documentadas para su sistema operativo para agregar el binario mongocryptd al PATH de su sistema.

Si el controlador compatible con 4.2+ tiene acceso al proceso mongocryptd, de manera predeterminada el controlador administra el inicio del proceso mongocryptd.

Nota

Puerto mongocryptd en uso

Si un proceso mongocryptd ya se está ejecutando en el puerto especificado por el controlador, este puede registrar una advertencia y continuar funcionando sin generar un nuevo proceso. La configuración especificada por el controlador solo se aplica una vez que el proceso existente finaliza y un nuevo cliente cifrado intenta conectarse.

Puedes configurar cómo tu driver inicia mongocryptd mediante los siguientes parámetros:

Nombre
Descripción

Puerto

The port from which mongocryptd listens for messages.
Default: 27020

idleShutdownTimeoutSecs

Number of idle seconds in which the mongocryptd process should wait before exiting.
Default: 60

URI de mongocryptd

The URI from which to run a mongocryptd process.
Default: "mongodb://localhost:27020"

mongocryptdBypassSpawn

Set to true to prevent the driver from automatically spawning mongocryptd.
Default: false

monogocryptdSpawnPath

The full path to mongocryptd.
Default: Defaults to empty string and spawns from the system path.

Importante

Iniciar al arrancar

Si es posible, recomendamos que mongocryptd se inicie al arrancar el sistema en lugar de lanzarlo on-demand.

Para ver ejemplos de cómo configurar su proceso mongocryptd, haga clic en la pestaña correspondiente al driver que está utilizando en su aplicación:

El siguiente snippet establece la configuración del puerto de escucha de mongocryptd:

var extraOptions = new Dictionary<string, object>()
{
{ "mongocryptdSpawnArgs", new [] { "--port=30000" } },
};
autoEncryptionOptions.With(extraOptions: extraOptions);

El siguiente fragmento de código establece la configuración de tiempo de espera predeterminada de mongocryptd:

var extraOptions = new Dictionary<string, object>()
{
{ "idleShutdownTimeoutSecs", 60 },
};
autoEncryptionOptions.With(extraOptions: extraOptions);

El siguiente snippet establece la configuración del puerto de escucha de mongocryptd:

extraOptions := map[string]interface{}{
"mongocryptdSpawnArgs": []string{
"--port=30000",
},
}

El siguiente fragmento de código establece la configuración de tiempo de espera predeterminada de mongocryptd:

extraOptions := map[string]interface{}{
"mongocryptdSpawnArgs": []string{
"--idleShutdownTimeoutSecs=75",
},
}

El siguiente snippet establece la configuración del puerto de escucha de mongocryptd:

List<String> spawnArgs = new ArrayList<String>();
spawnArgs.add("--port=30000");
Map<String, Object> extraOpts = new HashMap<String, Object>();
extraOpts.put("mongocryptdSpawnArgs", spawnArgs);
AutoEncryptionSettings autoEncryptionSettings = AutoEncryptionSettings.builder()
...
.extraOptions(extraOpts);

El siguiente fragmento de código establece la configuración de tiempo de espera predeterminada de mongocryptd:

List<String> spawnArgs = new ArrayList<String>();
spawnArgs.add("--idleShutdownTimeoutSecs")
.add("60");
Map<String, Object> extraOpts = new HashMap<String, Object>();
extraOpts.put("mongocryptdSpawnArgs", spawnArgs);
AutoEncryptionSettings autoEncryptionSettings = AutoEncryptionSettings.builder()
...
.extraOptions(extraOpts);

El siguiente snippet establece la configuración del puerto de escucha de mongocryptd:

autoEncryption: {
...
extraOptions: {
mongocryptdSpawnArgs: ["--port", "30000"],
mongocryptdURI: 'mongodb://localhost:30000',
}

Nota

En la versión actual (3.3.4) del controlador NodeJS, debe especificar el mongocryptdURI para que coincida con el puerto de escucha.

El siguiente fragmento de código establece la configuración de tiempo de espera predeterminada de mongocryptd:

autoEncryption: {
...
extraOptions: {
mongocryptdSpawnArgs: ["--idleShutdownTimeoutSecs", "75"]
}

El siguiente snippet establece la configuración del puerto de escucha de mongocryptd:

auto_encryption_opts = AutoEncryptionOpts(mongocryptd_spawn_args=['--port=30000'])

El siguiente fragmento de código establece la configuración de tiempo de espera predeterminada de mongocryptd:

auto_encryption_opts = AutoEncryptionOpts(mongocryptd_spawn_args=['--idleShutdownTimeoutSecs=75'])

Volver

Librería compartida

En esta página