Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /

Instalar y configurar mongocryptd para Queryable Encryption

Tip

Usa la librería compartida de cifrado automático

Si estás empezando un nuevo proyecto, utiliza el crypt_shared asistente de cifrado, denominado librería Compartida. La Librería Compartida de cifrado automático reemplaza mongocryptd y no requiere la creación de un nuevo proceso.

mongocryptd se instala con MongoDB Enterprise servidor.

Cuando creas un cliente de MongoDB habilitado para Queryable Encryption, el proceso mongocryptd se inicia automáticamente por defecto.

El proceso mongocryptd:

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

  • Impide que se ejecuten operaciones no compatibles 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 JSON schema. Si las reglas contienen una sintaxis de cifrado automático inválida o cualquier sintaxis de schema validation, mongocryptd devolverá un error.

mongocryptd solo 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 la descifrado automática, los controladores utilizan la libmongocryptlicenciada por Apache Librería

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, instala el paquete del servidor siguiendo el tutorial de instalación en MacOS. El gestor 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 driver tiene acceso al proceso mongocryptd, lo inicia 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 ya se está ejecutando un proceso mongocryptd en el puerto especificado por el driver, es posible que el driver registre un registro y continúe sin iniciar un nuevo proceso. Cualquier configuración especificada por el driver solo se aplica una vez que el proceso existente sale y un nuevo cliente cifrado intenta conectarse.

Configura cómo el controlador 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 the mongocryptd process waits before exiting.
Default: 60

mongocryptdURI

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

mongocryptdSpawnPath

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

Importante

Iniciar al arrancar

Si es posible, iniciar mongocryptd al arrancar, en lugar de ejecutarlo 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 por defecto 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 por defecto 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 por defecto 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 el controlador NodeJS, el mongocryptdURI debe coincidir con el puerto de escucha.

El siguiente fragmento de código establece la configuración de tiempo de espera por defecto 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 por defecto de mongocryptd:

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

Volver

Librería compartida

En esta página