Docs Menu
Docs Home
/ /

Instalar y configurar mongocryptd para CSFLE

Nota

Característica de la empresa

La función automática de cifrado a nivel de campo solo es compatible con MongoDB Enterprise 6.0 o posterior, y MongoDB Atlas 6.0 o posterior.

mongocryptd se instala con Servidor empresarial MongoDB.

Cuando crea un cliente MongoDB habilitado para CSFLE, el proceso mongocryptd se inicia automáticamente de forma predeterminada.

El proceso mongocryptd:

  • 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 admitidas en campos cifrados.

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

mongocryptd sólo realiza las funciones anteriores y no realiza ninguna de las siguientes:

  • mongocryptd No realiza cifrado ni descifrado

  • mongocryptd no accede a ninguna llave de cifrado

  • mongocryptd no escucha a través de la red

Para realizar el cifrado a nivel de campo del lado del cliente y el descifrado automático, los controladores utilizan libmongocrypt con licencia Apache. Biblioteca

Los controladores oficiales de MongoDB,, mongosh y el shell heredado requieren acceso mongo al mongocryptd proceso en el host del cliente. Estos clientes buscan el mongocryptd proceso en la ruta del sistema de forma predeterminada.

Para sistemas operativos Linux compatibles, instale el paquete Server siguiendo el tutorial de instalación en Linux, siga las instrucciones de instalación documentadas e instale el mongodb-enterprise paquete Server. Como alternativa, especifique mongodb-enterprise-cryptd para instalar solo el mongocryptd binario. El administrador de paquetes instala los binarios en una ubicación en la ruta del sistema (p. ej.,). /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.

En Windows, instale el paquete Server siguiendo el tutorial de instalación en Windows. Debe agregar el paquete a la ruta del mongocryptd sistema después de la instalación. Consulte las prácticas recomendadas documentadas para su instalación en Windows para obtener instrucciones sobre cómo agregar el mongocryptd binario a la ruta del sistema.

Para instalaciones a través de un archivo tarball o ZIP oficial, siga las mejores prácticas documentadas para su sistema operativo para agregar el binario mongocryptd a la RUTA de su sistema.

Si el controlador tiene acceso al proceso mongocryptd, lo genera por defecto. Su aplicación debe tener permisos de escritura en el directorio de trabajo para crear el archivo mongocryptd.pid.

Nota

Puerto mongocryptd en uso

Si un proceso mongocryptd ya se está ejecutando en el puerto especificado por el controlador, este podría registrar una advertencia y continuar 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.

Configure cómo se inicia el controlador mongocryptd a través de los siguientes parámetros:

Nombre
Descripción

Puerto

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

Tiempo de espera de apagado inactivo en segundos

Number of idle seconds the mongocryptd process waits before exiting.
Default: 60

URI de mongocryptd

The URI on which to run the mongocryptd process.
Default: "mongodb://localhost:27020"

MongocryptdBypassSpawn

When true, prevents the driver from automatically spawning mongocryptd.
Default: false

Ruta de aparición de mongocryptd

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

Importante

Iniciar en el arranque

Si es posible, inicie mongocryptd en el arranque, en lugar de iniciarlo a pedido.

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

El siguiente fragmento de código 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 fragmento de código 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 fragmento de código 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 fragmento de código establece la configuración del puerto de escucha de mongocryptd:

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

Nota

En el controlador NodeJS, mongocryptdURI debe coincidir 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 fragmento de código 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

Biblioteca compartida

En esta página