Docs Menu
Docs Home
/ /

Opciones de archivos de configuración autogestionados

En la siguiente página, se describen las opciones de configuración disponibles en MongoDB 7.0. Para opciones de archivos de configuración para otras versiones de MongoDB, consulta la versión adecuada del Manual de MongoDB.

Nota

Si usa MongoDB Atlas para administrar sus implementaciones de MongoDB en la nube, no necesita crear un archivo de configuración. Para aprender a configurar los ajustes de su implementación de MongoDB Atlas, consulte Configurar ajustes adicionales.

Además de utilizar las opciones del archivo de configuración, la configuración por defecto de los binarios de MongoDB también utiliza las variables de entorno del sistema operativo.

Puedes configurar Instancias mongodymongosal inicio mediante un archivo de configuración. Este archivo contiene opciones equivalentes a las opciones de línea de comandosmongodymongos. Consulte Ajustes del archivo de configuración autoadministrado y asignación de opciones de línea de comandos.

El uso de un archivo de configuración facilita la gestión de las opciones de mongod y mongos, especialmente para implementaciones a gran escala. También puede agregar comentarios al archivo de configuración para explicar los ajustes del servidor.

  • Si ha instalado MongoDB con un administrador de paquetes como yum o apt en Linux o brew en macOS, o con el instalador MSI en Windows, se ha proporcionado un archivo de configuración por defecto como parte de su instalación:

    Plataforma
    Método
    archivo de configuración

    Linux

    aptAdministrador de paquetes yum o zypper.

    /etc/mongod.conf

    macOS

    brew Gestor de paquetes

    /usr/local/etc/mongod.conf (en procesadores Intel), o

    /opt/homebrew/etc/mongod.conf (en procesadores Apple M1 )

    Windows

    Instalador MSI

    <install directory>\bin\mongod.cfg

  • Si se instaló MongoDB a través de un archivo descargado de TGZ o ZIP, se debe crear un archivo propio de configuración. La configuración básica de ejemplo es un buen punto de partida.

Los archivos de configuración de MongoDB utilizan el formato YAML [1].

El siguiente archivo de configuración de muestra contiene varias mongod configuraciones que se pueden adaptar a la configuración local:

Nota

YAML no admite caracteres de pestaña para la sangría: utilice espacios en su lugar.

systemLog:
destination: file
path: "/var/log/mongodb/mongod.log"
logAppend: true
processManagement:
fork: true
net:
bindIp: 127.0.0.1
port: 27017
setParameter:
enableLocalhostAuthBypass: false
...

Los scripts de inicio de paquetes de Linux incluidos en los paquetes oficiales de MongoDB dependen de valores específicos systemLog.path para, y. Sistorage.dbPath modifica estos ajustes en el archivo processManagement.forkmongod de configuración predeterminado, es posible que no se inicie.

[1] YAML es un superconjunto de JSON.

Nota

MongoDB soporta el uso de directivas de expansión en archivos de configuración para cargar valores de fuentes externas. Las directivas de expansión pueden cargar valores para opciones de archivos de configuración específicas o cargar el archivo de configuración completo.

Están disponibles las siguientes directivas de expansión:

Directiva de Expansión
Descripción

Permite a los usuarios especificar un endpoint de REST como fuente externa para las opciones del archivo de configuración o el archivo de configuración completo.

Si el archivo de configuración incluye la expansión __rest, en Linux/macOS, el acceso de lectura al archivo de configuración debe limitarse al usuario que ejecuta el proceso mongod / mongos solamente.

Permite a los usuarios especificar un comando de shell o terminal como fuente externa para las opciones del archivo de configuración o el archivo de configuración completo.

Si el archivo de configuración incluye la expansión __exec, en Linux/macOS, el acceso de escritura al archivo de configuración debe limitarse al usuario que ejecuta el proceso mongod / mongos solamente.

Para obtener la documentación completa,consulte Valores de archivos de configuración de origen externo para implementaciones autoadministradas.

Para configurar mongod o mongos usando un archivo de configuración, especifique el archivo de configuración con la opción --config o la opción -f, como en los siguientes ejemplos:

Por ejemplo, el siguiente utiliza mongod --config <configuration file> mongos --config <configuration file>:

mongod --config /etc/mongod.conf
mongos --config /etc/mongos.conf

También puede utilizar el alias -f para especificar el archivo de configuración, como en el siguiente ejemplo:

mongod -f /etc/mongod.conf
mongos -f /etc/mongos.conf

Si instaló desde un paquete e inició MongoDB usando el script de inicio de su sistema, ya está utilizando un archivo de configuración.

Si está utilizando directivas de expansión en el archivo de configuración, debe incluir la opción --configExpand al iniciar el mongod o mongos. Por ejemplo:

mongod --config /etc/mongod.conf --configExpand "rest,exec"
mongos --config /etc/mongos.conf --configExpand "rest,exec"

Si el archivo de configuración incluye una directiva de expansión y se inicia el mongod / mongos sin especificar esa directiva en la opción --configExpand, el mongod / mongos no se iniciará.

Para obtener la documentación completa,consulte Valores de archivos de configuración de origen externo para implementaciones autoadministradas.

systemLog:
verbosity: <int>
quiet: <boolean>
traceAllExceptions: <boolean>
syslogFacility: <string>
path: <string>
logAppend: <boolean>
logRotate: <string>
destination: <string>
timeStampFormat: <string>
component:
accessControl:
verbosity: <int>
command:
verbosity: <int>
# COMMENT additional component verbosity settings omitted for brevity
systemLog.verbosity

Tipo: entero

Por defecto: 0

El nivel de verbosidad por defecto de los mensajes de registro para los componentes. El nivel de verbosidad determina la cantidad de mensajes informativos y de depuración que MongoDB emite. [2]

El nivel de verbosidad puede variar de 0 a 5:

  • 0 es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.

  • 1 a 5 aumenta el nivel de verbosidad para incluir mensajes de depuración.

Para utilizar un nivel de verbosidad diferente para un componente nombrado, usa la configuración de verbosidad del componente. Por ejemplo, utiliza el systemLog.component.accessControl.verbosity para establecer el nivel de verbosidad específicamente para los componentes ACCESS.

Consulte la configuración de systemLog.component.<name>.verbosity para los ajustes específicos del nivel de verbosidad de los componentes.

Para conocer las diversas formas de establecer el nivel de verbosidad del registro, consulta Configurar los niveles de verbosidad del registro.

[2] A partir de la versión 4.2, MongoDB incluye el nivel de verbosidad de depuración (1-5) en los mensajes de registro. Por ejemplo, si el nivel de verbosidad es 2, MongoDB registra D2. En versiones anteriores, los mensajes de registro de MongoDB solo especificaban D para el nivel de depuración.
systemLog.quiet

Tipo: booleano

Por defecto: false

Ejecute mongos o mongod en un modo silencioso que intente limitar la cantidad de salida.

systemLog.quiet no se recomienda para sistemas de producción, ya que puede dificultar mucho el seguimiento de problemas durante conexiones específicas.

systemLog.traceAllExceptions

Tipo: booleano

Por defecto: false

Imprima información detallada para la depuración. Utilícelo para el registro adicional en la resolución de problemas relacionados con el soporte técnico.

systemLog.syslogFacility

Tipo: string

Por defecto: usuario

El nivel de instalación utilizado al registrar mensajes en syslog. El valor que se especifique debe ser compatible con la implementación de syslog del sistema operativo. Para usar esta opción, se debe configurar systemLog.destination en syslog.

systemLog.path

Tipo: string

La ruta de la entrada de registro a la que mongod o mongos debe enviar toda la información de registro de diagnóstico, en lugar de la salida estándar o el syslog del host. MongoDB crea la entrada de registro en la ruta especificada.

Los scripts de inicio del paquete Linux no esperan que systemLog.path cambien de los valores por defecto. Si utilizas los paquetes de Linux y cambias systemLog.path, deberás utilizar tus propios scripts de inicio y desactivar los scripts incorporados.

systemLog.logAppend

Tipo: booleano

Por defecto: false

Cuando true, mongos o mongod agrega nuevas entradas al final del archivo de registro existente cuando se reinicia la instancia. Sin esta opción, mongod o mongos realiza una copia de seguridad del registro existente y crea un nuevo archivo.

systemLog.logRotate

Tipo: string

Por defecto: renombrar

Determina el comportamiento del comando logRotate al rotar el registro del servidor y/o el registro para auditoría. Especifique ya searename o reopen:

  • rename Renombra la entrada de registro.

  • reopen Cierra y vuelve a abrir la entrada de registro siguiendo el comportamiento típico de rotación de registros en Linux/Unix. Utilice reopen cuando use la utilidad de rotación de registros en Linux/Unix logrotate para evitar la pérdida de registros.

    Si especificas reopen, también debes establecer systemLog.logAppend a true.

systemLog.destination

Tipo: string

El destino al que MongoDB envía todos los registros de salida. Especifica file o syslog. Si especificas file, también debes especificar systemLog.path.

Si no especificas systemLog.destination, MongoDB envía toda la salida de registro a la salida estándar.

Advertencia

El demoniosyslog genera marcas de tiempo cuando registra un mensaje, no cuando MongoDB emite el mensaje. Esto puede llevar a marcas de tiempo engañosas en las entradas de registro, especialmente cuando el sistema está bajo una carga pesada. Recomendamos utilizar la opción file para los sistemas de producción a fin de asegurar marcas de tiempo precisas.

systemLog.timeStampFormat

Tipo: string

Default: iso8601-local

El formato de hora para las marcas de tiempo en los mensajes de registro. Especifique uno de los siguientes valores:

Valor
Descripción

iso8601-utc

Muestra las marcas de tiempo en Tiempo Universal Coordinado (UTC) en el formato ISO-8601. Por ejemplo, para Nueva York al inicio del Epoch: 1970-01-01T00:00:00.000Z

iso8601-local

Muestra las marcas de tiempo en la hora local en el formato ISO-8601. Por ejemplo, para Nueva York al inicio del Epoch: 1969-12-31T19:00:00.000-05:00

Nota

systemLog.timeStampFormat ya no es compatible con ctime. Un ejemplo de una fecha con formato ctime es: Wed Dec 31 18:17:54.811.

systemLog:
component:
accessControl:
verbosity: <int>
command:
verbosity: <int>
# COMMENT some component verbosity settings omitted for brevity
replication:
verbosity: <int>
election:
verbosity: <int>
heartbeats:
verbosity: <int>
initialSync:
verbosity: <int>
rollback:
verbosity: <int>
storage:
verbosity: <int>
journal:
verbosity: <int>
recovery:
verbosity: <int>
write:
verbosity: <int>

Nota

A partir de la versión 4.2, MongoDB incluye el nivel de verbosidad de depuración (1-5) en los mensajes de registro. Por ejemplo, si el nivel de verbosidad es 2, MongoDB registra D2. En versiones anteriores, los mensajes de registro de MongoDB solo especificaban D para el nivel de depuración.

systemLog.component.assert.verbosity

Tipo: entero

Por defecto: 0

El nivel de verbosidad del mensaje de registro para las aserciones encontradas por las operaciones de usuario en MongoDB. Normalmente, se activa una aserción cuando una operación devuelve un error. Consulta los componentes de ASSERT.

systemLog.component.accessControl.verbosity

Tipo: entero

Por defecto: 0

El nivel de verbosidad de los mensajes de registro para los componentes relacionados con el control de acceso. Consulte los componentes de ACCESS.

El nivel de verbosidad puede variar de 0 a 5:

  • 0 es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.

  • 1 a 5 aumenta el nivel de verbosidad para incluir mensajes de depuración.

systemLog.component.command.verbosity

Tipo: entero

Por defecto: 0

El nivel de verbosidad de los mensajes de registro para los componentes relacionados con los comandos. Consulte los componentes de COMMAND.

El nivel de verbosidad puede variar de 0 a 5:

  • 0 es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.

  • 1 a 5 aumenta el nivel de verbosidad para incluir mensajes de depuración.

systemLog.component.control.verbosity

Tipo: entero

Por defecto: 0

El nivel de verbosidad de los mensajes de registro para los componentes relacionados con las operaciones de control. Consulte los componentes de CONTROL.

El nivel de verbosidad puede variar de 0 a 5:

  • 0 es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.

  • 1 a 5 aumenta el nivel de verbosidad para incluir mensajes de depuración.

systemLog.component.ftdc.verbosity

Tipo: entero

Por defecto: 0

El nivel de verbosidad de los mensajes de registro para los componentes relacionados con las operaciones de colección de datos de diagnóstico. Consulte los componentes de FTDC.

El nivel de verbosidad puede variar de 0 a 5:

  • 0 es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.

  • 1 a 5 aumenta el nivel de verbosidad para incluir mensajes de depuración.

systemLog.component.geo.verbosity

Tipo: entero

Por defecto: 0

El nivel de verbosidad de los mensajes de registro para componentes relacionados con operaciones de análisis geoespacial. Consulte los componentes de GEO.

El nivel de verbosidad puede variar de 0 a 5:

  • 0 es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.

  • 1 a 5 aumenta el nivel de verbosidad para incluir mensajes de depuración.

systemLog.component.index.verbosity

Tipo: entero

Por defecto: 0

El nivel de verbosidad de los mensajes de registro para los componentes relacionados con las operaciones de indexación. Consulte los componentes de INDEX.

El nivel de verbosidad puede variar de 0 a 5:

  • 0 es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.

  • 1 a 5 aumenta el nivel de verbosidad para incluir mensajes de depuración.

systemLog.component.network.verbosity

Tipo: entero

Por defecto: 0

El nivel de verbosidad de los mensajes de registro para los componentes relacionados con las operaciones de red. Consulte los componentes de NETWORK.

El nivel de verbosidad puede variar de 0 a 5:

  • 0 es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.

  • 1 a 5 aumenta el nivel de verbosidad para incluir mensajes de depuración.

systemLog.component.query.verbosity

Tipo: entero

Por defecto: 0

El nivel de verbosidad de los mensajes de registro para los componentes relacionados con operaciones del query. Consulte los componentes de QUERY.

El nivel de verbosidad puede variar de 0 a 5:

  • 0 es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.

  • 1 a 5 aumenta el nivel de verbosidad para incluir mensajes de depuración.

systemLog.component.queryStats.verbosity

Tipo: entero

Por defecto: 0

El nivel de verbosidad de los mensajes de registro para los componentes relacionados con las invocaciones de $queryStats. Consulte los componentes de QUERYSTATS.

El nivel de verbosidad puede variar de 0 a 5:

  • 0 es el nivel de verbosidad de registro por defecto, y solo incluye mensajes informativos. No se registran llamadas de$queryStats en este nivel.

  • 1 a 2 incrementa el nivel de verbosidad para incluir llamadas a $queryStats donde algorithm es "hmac-sha-256". Cualquier clave HMAC está redactada.

  • 3 a 5 incrementa el nivel de verbosidad para incluir llamadas $queryStats donde algorithm es "hmac-sha-256", y los resultados correspondientes. Cada resultado es una entrada propia y hay una entrada final con el string "we finished".

systemLog.component.replication.verbosity

Tipo: entero

Por defecto: 0

El nivel de verbosidad de los mensajes de registro para los componentes relacionados con la replicación. Consulte los componentes de REPL.

El nivel de verbosidad puede variar de 0 a 5:

  • 0 es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.

  • 1 a 5 aumenta el nivel de verbosidad para incluir mensajes de depuración.

systemLog.component.replication.election.verbosity

Tipo: entero

Por defecto: 0

El nivel de verbosidad de los mensajes de registro para los componentes relacionados con la elección. Consulte los componentes de ELECTION.

Si systemLog.component.replication.election.verbosity no está configurado, el nivel de systemLog.component.replication.verbosity también se aplica a los componentes de elección.

El nivel de verbosidad puede variar de 0 a 5:

  • 0 es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.

  • 1 a 5 aumenta el nivel de verbosidad para incluir mensajes de depuración.

systemLog.component.replication.heartbeats.verbosity

Tipo: entero

Por defecto: 0

El nivel de verbosidad de los mensajes de registro para los componentes relacionados con los latidos del sistema. Consulte los componentes de REPL_HB.

Si systemLog.component.replication.heartbeats.verbosity no está configurado, el nivel de systemLog.component.replication.verbosity también se aplica a los componentes de latidos cardíacos.

El nivel de verbosidad puede variar de 0 a 5:

  • 0 es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.

  • 1 a 5 aumenta el nivel de verbosidad para incluir mensajes de depuración.

systemLog.component.replication.initialSync.verbosity

Tipo: entero

Por defecto: 0

El nivel de verbosidad de los mensajes de registro para los componentes relacionados con initialSync. Consulte los componentes de INITSYNC.

Si systemLog.component.replication.initialSync.verbosity no está establecido, el nivel de systemLog.component.replication.verbosity también se aplica a los componentes de initialSync.

El nivel de verbosidad puede variar de 0 a 5:

  • 0 es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.

  • 1 a 5 aumenta el nivel de verbosidad para incluir mensajes de depuración.

systemLog.component.replication.rollback.verbosity

Tipo: entero

Por defecto: 0

El nivel de verbosidad de los mensajes de registro para los componentes relacionados con el rollback. Consulte los componentes de ROLLBACK.

Si systemLog.component.replication.rollback.verbosity no está establecido, el nivel systemLog.component.replication.verbosity también se aplica a los componentes de rollback.

El nivel de verbosidad puede variar de 0 a 5:

  • 0 es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.

  • 1 a 5 aumenta el nivel de verbosidad para incluir mensajes de depuración.

systemLog.component.sharding.verbosity

Tipo: entero

Por defecto: 0

El nivel de verbosidad de los mensajes de registro para los componentes relacionados con la fragmentación. Consulte los componentes de SHARDING.

El nivel de verbosidad puede variar de 0 a 5:

  • 0 es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.

  • 1 a 5 aumenta el nivel de verbosidad para incluir mensajes de depuración.

systemLog.component.storage.verbosity

Tipo: entero

Por defecto: 0

El nivel de verbosidad de los mensajes de registro para los componentes relacionados con el almacenamiento. Consulte los componentes de STORAGE.

Si systemLog.component.storage.journal.verbosity no está configurado, el nivel de systemLog.component.storage.verbosity también se aplica a los componentes de bitácora.

El nivel de verbosidad puede variar de 0 a 5:

  • 0 es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.

  • 1 a 5 aumenta el nivel de verbosidad para incluir mensajes de depuración.

systemLog.component.storage.journal.verbosity

Tipo: entero

Por defecto: 0

El nivel de verbosidad de los mensajes de registro para los componentes relacionados con el registro en la bitácora. Consulte los componentes de JOURNAL.

Si systemLog.component.storage.journal.verbosity no está configurado, los componentes de registro tienen el mismo nivel de verbosidad que los componentes de almacenamiento principales: es decir, el nivel de systemLog.component.storage.verbosity si está configurado o el nivel de verbosidad por defecto.

El nivel de verbosidad puede variar de 0 a 5:

  • 0 es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.

  • 1 a 5 aumenta el nivel de verbosidad para incluir mensajes de depuración.

systemLog.component.storage.recovery.verbosity

Tipo: entero

Por defecto: 0

El nivel de verbosidad de los mensajes de registro para los componentes relacionados con la recuperación. Consulte los componentes de RECOVERY.

Si systemLog.component.storage.recovery.verbosity no está configurado, el nivel de systemLog.component.storage.verbosity también se aplica a los componentes de recuperación.

El nivel de verbosidad puede variar de 0 a 5:

  • 0 es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.

  • 1 a 5 aumenta el nivel de verbosidad para incluir mensajes de depuración.

systemLog.component.storage.wt.verbosity

Tipo: entero

Por defecto: -1

Novedades en la versión 5.3.

El nivel de verbosidad de los mensajes de registro para los componentes relacionados con el motor de almacenamiento WiredTiger. Consulte los WT componentes.

El nivel de verbosidad puede variar de 0 a 5:

  • 0 es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.

  • 1 a 5 aumenta el nivel de verbosidad para incluir mensajes de depuración.

systemLog.component.storage.wt.wtBackup.verbosity

Tipo: entero

Por defecto: -1

Novedades en la versión 5.3.

El nivel de verbosidad de los mensajes de registro para los componentes relacionados con las operaciones de copia de seguridad realizadas por el motor de almacenamiento WiredTiger. Consulte los componentes de WTBACKUP.

El nivel de verbosidad puede variar de 0 a 5:

  • 0 es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.

  • 1 a 5 aumenta el nivel de verbosidad para incluir mensajes de depuración.

systemLog.component.storage.wt.wtCheckpoint.verbosity

Tipo: entero

Por defecto: -1

Novedades en la versión 5.3.

El nivel de verbosidad de los mensajes de registro para los componentes relacionados con las operaciones de punto de control realizadas por el motor de almacenamiento WiredTiger. Consulte los componentes de WTCHKPT.

El nivel de verbosidad puede variar de 0 a 5:

  • 0 es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.

  • 1 a 5 aumenta el nivel de verbosidad para incluir mensajes de depuración.

systemLog.component.storage.wt.wtCompact.verbosity

Tipo: entero

Por defecto: -1

Novedades en la versión 5.3.

El nivel de verbosidad de los mensajes de registro para los componentes relacionados con las operaciones de compactación realizadas por el motor de almacenamiento WiredTiger. Consulte los componentes de WTCMPCT.

El nivel de verbosidad puede variar de 0 a 5:

  • 0 es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.

  • 1 a 5 aumenta el nivel de verbosidad para incluir mensajes de depuración.

systemLog.component.storage.wt.wtEviction.verbosity

Tipo: entero

Por defecto: -1

Novedades en la versión 5.3.

El nivel de verbosidad de los mensajes de registro para los componentes relacionados con las operaciones de desalojo realizadas por el motor de almacenamiento WiredTiger. Consulte los componentes de WTEVICT.

El nivel de verbosidad puede variar de 0 a 5:

  • 0 es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.

  • 1 a 5 aumenta el nivel de verbosidad para incluir mensajes de depuración.

systemLog.component.storage.wt.wtHS.verbosity

Tipo: entero

Por defecto: -1

Novedades en la versión 5.3.

El nivel de verbosidad de los mensajes de registro para los componentes relacionados con las operaciones del almacén de historiales realizadas por el motor de almacenamiento WiredTiger. Consulte los componentes de WTHS.

El nivel de verbosidad puede variar de 0 a 5:

  • 0 es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.

  • 1 a 5 aumenta el nivel de verbosidad para incluir mensajes de depuración.

systemLog.component.storage.wt.wtRecovery.verbosity

Tipo: entero

Por defecto: -1

Novedades en la versión 5.3.

El nivel de verbosidad de los mensajes de registro para los componentes relacionados con las operaciones de recuperación realizadas por el motor de almacenamiento WiredTiger. Consulte los componentes de WTRECOV.

El nivel de verbosidad puede variar de 0 a 5:

  • 0 es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.

  • 1 a 5 aumenta el nivel de verbosidad para incluir mensajes de depuración.

systemLog.component.storage.wt.wtRTS.verbosity

Tipo: entero

Por defecto: -1

Novedades en la versión 5.3.

El nivel de verbosidad de los mensajes de registro para los componentes relacionados con las operaciones de rollback a estable (RTS) realizadas por el motor de almacenamiento WiredTiger. Consulte los componentes de WTRTS.

El nivel de verbosidad puede variar de 0 a 5:

  • 0 es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.

  • 1 a 5 aumenta el nivel de verbosidad para incluir mensajes de depuración.

systemLog.component.storage.wt.wtSalvage.verbosity

Tipo: entero

Por defecto: -1

Novedades en la versión 5.3.

El nivel de verbosidad de los mensajes de registro para los componentes relacionados con las operaciones de salvamento realizadas por el motor de almacenamiento WiredTiger. Consulte los componentes de WTSLVG.

El nivel de verbosidad puede variar de 0 a 5:

  • 0 es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.

  • 1 a 5 aumenta el nivel de verbosidad para incluir mensajes de depuración.

systemLog.component.storage.wt.wtTimestamp.verbosity

Tipo: entero

Por defecto: -1

Novedades en la versión 5.3.

El nivel de verbosidad de los mensajes de registro para los componentes relacionados con las marcas de tiempo utilizadas por el motor de almacenamiento WiredTiger. Consulte los componentes de WTTS.

El nivel de verbosidad puede variar de 0 a 5:

  • 0 es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.

  • 1 a 5 aumenta el nivel de verbosidad para incluir mensajes de depuración.

systemLog.component.storage.wt.wtTransaction.verbosity

Tipo: entero

Por defecto: -1

Novedades en la versión 5.3.

El nivel de verbosidad del registro para los componentes relacionados con las operaciones de transacción realizadas por el motor de almacenamiento WiredTiger. Consulte los componentes de WTTXN.

El nivel de verbosidad puede variar de 0 a 5:

  • 0 es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.

  • 1 a 5 aumenta el nivel de verbosidad para incluir mensajes de depuración.

systemLog.component.storage.wt.wtVerify.verbosity

Tipo: entero

Por defecto: -1

Novedades en la versión 5.3.

El nivel de verbosidad de los mensajes de registro para los componentes relacionados con las operaciones de verificación realizadas por el motor de almacenamiento WiredTiger. Consulte los componentes de WTVRFY.

El nivel de verbosidad puede variar de 0 a 5:

  • 0 es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.

  • 1 a 5 aumenta el nivel de verbosidad para incluir mensajes de depuración.

systemLog.component.storage.wt.wtWriteLog.verbosity

Tipo: entero

Por defecto: -1

Novedades en la versión 5.3.

El nivel de verbosidad de los mensajes de registro para los componentes relacionados con las operaciones de escritura de registros realizadas por el motor de almacenamiento WiredTiger. Consulte los componentes de WTWRTLOG.

El nivel de verbosidad puede variar de 0 a 5:

  • 0 es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.

  • 1 a 5 aumenta el nivel de verbosidad para incluir mensajes de depuración.

systemLog.component.transaction.verbosity

Tipo: entero

Por defecto: 0

El nivel de verbosidad de los mensajes de registro para los componentes relacionados con transacciones. Consulte los componentes de TXN.

El nivel de verbosidad puede variar de 0 a 5:

  • 0 es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.

  • 1 a 5 aumenta el nivel de verbosidad para incluir mensajes de depuración.

systemLog.component.write.verbosity

Tipo: entero

Por defecto: 0

El nivel de verbosidad de los mensajes de registro para los componentes relacionados con las operaciones de escritura. Consulte los componentes de WRITE.

El nivel de verbosidad puede variar de 0 a 5:

  • 0 es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.

  • 1 a 5 aumenta el nivel de verbosidad para incluir mensajes de depuración.

processManagement:
fork: <boolean>
pidFilePath: <string>
timeZoneInfo: <string>
processManagement.fork

Tipo: booleano

Por defecto: false

Activa el modo demonio que ejecuta el proceso mongos o mongod en segundo plano. Por defecto, mongos o mongod no se ejecuta como un demonio. Para usar mongos o mongod como un demonio, configura processManagement.fork o usa un proceso de control que gestione el proceso de demonización (por ejemplo, systemd).

La opción processManagement.fork no es compatible con Windows.

Los scripts de inicio del paquete Linux no esperan que processManagement.fork cambien de los valores por defecto. Si utilizas los paquetes de Linux y cambias processManagement.fork, deberás utilizar tus propios scripts de inicio y desactivar los scripts incorporados.

processManagement.pidFilePath

Tipo: string

Especifica una ubicación de archivo para almacenar el ID de proceso (PID) del proceso mongos o mongod. El usuario que ejecuta el proceso mongod o mongos debe poder guardar en esta ruta. Si no se especifica la opción processManagement.pidFilePath, el proceso no crea un archivo PID. Esta opción generalmente solo es útil en combinación con la configuración processManagement.fork.

Nota

Linux

En Linux, la gestión de archivos PID generalmente es responsabilidad del sistema de inicialización de la distribución: usualmente un archivo de servicio en el directorio /etc/init.d, o un archivo de unidad systemd registrado con systemctl. Se debe usar solo la opción processManagement.pidFilePath si no se usa uno de estos sistemas de inicialización. Para obtener más información, se debe consultar la Guía de instalación correspondiente al sistema operativo.

Nota

macOS

En macOS, la gestión de archivos PID generalmente está a cargo de brew. Se debe usar solo la opción processManagement.pidFilePath si no se usa brew en el sistema macOS. Para obtener más información, se debe consultar la Guía de instalación correspondiente al sistema operativo.

processManagement.timeZoneInfo

Tipo: string

La ruta completa desde la cual cargar la base de datos de la zona horaria. Si no se proporciona esta opción, MongoDB utiliza su base de datos de zona horaria incorporada.

El archivo de configuración incluido con los paquetes de Linux y macOS establece la ruta de la base de datos de la zona horaria en /usr/share/zoneinfo por defecto.

La base de datos de zonas horarias incorporada es una copia de la base de datos de zonas horarias Olson/IANA. Se actualiza junto con las versiones de MongoDB, pero el ciclo de lanzamiento de la base de datos de zonas horarias es diferente al ciclo de lanzamiento de MongoDB. La versión más reciente de la base de datos de zonas horarias está disponible en nuestro sitio de descarga.

Advertencia

MongoDB utiliza la biblioteca de terceros timelib para proporcionar conversiones precisas entre zonas horarias. Debido a una actualización reciente, timelib podía crear conversiones de zonas horarias inexactas en las versiones anteriores de MongoDB.

Para vincular explícitamente a la base de datos de zona horaria en versiones de MongoDB anteriores a 5.0, descarga la base de datos de zona horaria. y utilice el parámetro timeZoneInfo.

Cambiado en la versión 5.0: MongoDB elimina la opción de configuración net.serviceExecutor y la correspondiente opción de línea de comandos --serviceExecutor.

net:
port: <int>
bindIp: <string>
bindIpAll: <boolean>
maxIncomingConnections: <int>
wireObjectCheck: <boolean>
ipv6: <boolean>
unixDomainSocket:
enabled: <boolean>
pathPrefix: <string>
filePermissions: <int>
tls:
certificateSelector: <string>
clusterCertificateSelector: <string>
mode: <string>
certificateKeyFile: <string>
certificateKeyFilePassword: <string>
clusterFile: <string>
clusterPassword: <string>
CAFile: <string>
clusterCAFile: <string>
clusterAuthX509:
attributes: <string>
extensionValue: <string>
CRLFile: <string>
allowConnectionsWithoutCertificates: <boolean>
allowInvalidCertificates: <boolean>
allowInvalidHostnames: <boolean>
disabledProtocols: <string>
FIPSMode: <boolean>
logVersions: <string>
compression:
compressors: <string>
net.port

Tipo: entero

Por defecto:

El puerto TCP en el que la instancia de MongoDB escucha las conexiones de los clientes.

Modificado en la 7.0.3 versión: La net.port opción acepta un rango de valores entre 0 y.65535 Al establecer el puerto en,0 o mongos mongod se configuran para usar un puerto arbitrario asignado por el sistema operativo.

net.bindIp

Tipo: string

Por defecto: localhost

Los nombres de host y/o direcciones IP y/o rutas completas de socket de dominio Unix en las que mongos o mongod deben escuchar para conexiones de clientes. Puede adjuntar mongos o mongod a cualquier interfaz. Para vincularse a varias direcciones, introduzca una lista de valores separados por comas.

Ejemplo

localhost,/tmp/mongod.sock

Se puede especificar tanto direcciones IPv4 como IPv6, o nombres de host que se resuelvan en una dirección IPv4 o IPv6.

Ejemplo

localhost, 2001:0DB8:e132:ba26:0d5c:2774:e7f9:d513

Nota

Si especificas una dirección IPv6 o un nombre de host que se resuelva a una dirección IPv6 en net.bindIp, debes iniciar mongos o mongod con net.ipv6 : true para activar el soporte IPv6. Especificar una dirección IPv6 para net.bindIp no activa el soporte para IPv6.

Si especificas una dirección IPv6 de enlace local (fe80::/10), debe añadir el índice de zona a esa dirección (es decir, fe80::<address>%<adapter-name>).

Ejemplo

localhost,fe80::a00:27ff:fee0:1fcf%enp0s3

Importante

Para evitar actualizaciones de configuración debido a cambios en las direcciones IP, utilice nombres de host DNS en lugar de direcciones IP. Es particularmente importante usar un nombre de host DNS en lugar de una dirección IP al configurar miembros de set de réplicas o miembros de clústeres particionados.

Utiliza nombres de host en lugar de direcciones IP para configurar clústeres en un horizonte de red dividido. A partir de MongoDB 5.0, los nodos que solo están configurados con una dirección IP no pasan la validación de inicio y no se inician.

Advertencia

Antes de vincular la instancia a una dirección IP de acceso público, se debe asegurar el clúster contra accesos no autorizados. Para obtener una lista completa de recomendaciones de seguridad, se debe consultar Checklist de seguridad para implementaciones autogestionadas. Como mínimo, se debe considerar habilitar la autenticación y reforzar la infraestructura de red.

Para obtener más información sobre la vinculación de IP, consulta la documentación de Vinculación de IP en implementaciones autogestionadas.

Para vincularse a todas las direcciones IPv4, introduzca 0.0.0.0.

Para vincularse a todas las direcciones IPv4 e IPv6, ingresa ::,0.0.0.0 o un asterisco "*" (encierre el asterisco entre comillas para distinguirlo de nodos de alias YAML). Alternativamente, usa la configuraciónnet.bindIpAll.

Nota

  • net.bindIp y net.bindIpAll son mutuamente excluyentes. Es decir, puede especificar uno u otro, pero no ambos.

  • La opción de línea de comandos --bind_ip sobrescribe la configuración del archivo de configuración net.bindIp.

Para configurar los nodos del clúster para DNS de horizonte dividido, utiliza nombres de host en lugar de direcciones IP.

A partir de MongoDB v5.0, replSetInitiate y replSetReconfig rechazarán las configuraciones que utilicen direcciones IP en lugar de nombres de host.

Utilice disableSplitHorizonIPCheck para modificar los nodos que no se pueden actualizar para usar nombres de host. El parámetro solo se aplica a los comandos de configuración.

mongod y mongos no dependen de disableSplitHorizonIPCheck para la validación al inicio. Las instancias heredadas mongod y mongos que utilizan direcciones IP en lugar de nombres de host pueden iniciarse después de una actualización.

Las instancias configuradas con direcciones IP generan un registro de advertencia para que se usen nombres de host en lugar de direcciones IP.

net.bindIpAll

Tipo: booleano

Por defecto: false

Si es verdadero, la instancia mongos o la instancia mongod se vincula a todas las direcciones IPv4 (es decir, 0.0.0.0). Si mongos o mongod comienza con net.ipv6 : true, net.bindIpAll también se enlaza a todas las direcciones IPv6 (es decir, ::).

mongos o mongod solo ofrecen soporte para IPv6 si se inician con net.ipv6 : true. Especificar net.bindIpAll por sí solo no habilita el soporte de IPv6.

Advertencia

Antes de vincular la instancia a una dirección IP de acceso público, se debe asegurar el clúster contra accesos no autorizados. Para obtener una lista completa de recomendaciones de seguridad, se debe consultar Checklist de seguridad para implementaciones autogestionadas. Como mínimo, se debe considerar habilitar la autenticación y reforzar la infraestructura de red.

Para obtener más información sobre la vinculación de IP, consulta la documentación de Vinculación de IP en implementaciones autogestionadas.

Alternativamente, configura net.bindIp a ::,0.0.0.0 o a un asterisco "*" (coloca el asterisco entre comillas para distinguirlo de los nodos de alias YAML) para enlazar a todas las direcciones IP.

Nota

net.bindIp y net.bindIpAll son mutuamente excluyentes. Especificar ambas opciones provoca que mongos o mongod generen un error y se detengan.

net.maxIncomingConnections

Tipo: entero

Cambiado en la versión 7.0.27.

Default (Windows): 1,000,000
Default (Linux): (RLIMIT_NOFILE) * 0.8

La cantidad máxima de conexiones simultáneas que mongos o mongod acepta. Esta configuración no tiene efecto si es superior al umbral máximo de seguimiento de conexión configurado por el sistema operativo.

No asignes un valor demasiado bajo para esta opción, o podrías encontrarte con errores durante la operación normal de la aplicación.

Esto es especialmente útil para un mongos si hay un cliente que crea múltiples conexiones y permite que expiren en lugar de cerrarlas.

En este caso, configura maxIncomingConnections a un valor ligeramente superior al número máximo de conexiones que el cliente crea, o al tamaño máximo del pool de conexiones.

Esta configuración evita que mongos cause picos de conexión en las particiones individuales. Picos como estos pueden interrumpir la operación y la asignación de memoria del clúster particionado.

net.wireObjectCheck

Tipo: booleano

Por defecto: true

Cuando true, la instancia mongod o mongos valida todas las solicitudes de los clientes tras su recepción para evitar que los clientes inserten BSON malformado o inválido en una base de datos de MongoDB.

Para objetos con un alto grado de anidamiento de subdocumentos, net.wireObjectCheck puede causar un pequeño impacto en el rendimiento.

net.ipv6

Tipo: booleano

Por defecto: false

Establece net.ipv6 en true para habilitar el soporte de IPv6. mongos/mongod desactiva el soporte de IPv6 por defecto.

Configurar net.ipv6 no dirige a mongos/mongod a escuchar en ninguna dirección o interfaz local de IPv6. Para configurar el mongos/mongod para escuchar en una interfaz IPv6, debes:

  • Configura net.bindIp con una o más direcciones IPv6 o nombres de host que se resuelvan en direcciones IPv6, o

  • Establece net.bindIpAll en true.

net:
unixDomainSocket:
enabled: <boolean>
pathPrefix: <string>
filePermissions: <int>
net.unixDomainSocket.enabled

Tipo: booleano

Por defecto: true

Habilita o deshabilita la escucha en el socket de dominio UNIX. net.unixDomainSocket.enabled solo se aplica a sistemas basados en Unix.

Cuando net.unixDomainSocket.enabled está true, mongos u mongod escucha en el socket UNIX.

El proceso mongos o mongod siempre escucha en el socket UNIX a menos que una de las siguientes condiciones sea verdadera:

  • net.unixDomainSocket.enabled es false

  • --nounixsocket está establecido. La opción de línea de comandos tiene prioridad sobre la configuración del archivo de configuración.

  • net.bindIp no está configurado

  • net.bindIp no especifica localhost ni su dirección IP asociada

mongos o mongod instalados desde los paquetes oficiales Instalar MongoDB Community Edition en Debian e Instalar MongoDB Community Edition en Red Hat o CentOS tienen la configuración bind_ip establecida en 127.0.0.1 por defecto.

net.unixDomainSocket.pathPrefix

Tipo: string

Por defecto: /tmp

La ruta para el socket UNIX. net.unixDomainSocket.pathPrefix se aplica únicamente a sistemas basados en Unix.

Si esta opción no tiene valor, el proceso mongos o el proceso mongod crea un socket con /tmp como prefijo. MongoDB crea y escucha en un socket UNIX a menos que se cumpla una de las siguientes condiciones:

net.unixDomainSocket.filePermissions

Tipo: int

Por defecto: 0700

Establece los permisos para el archivo de socket de dominio UNIX.

net.unixDomainSocket.filePermissions se aplica únicamente a sistemas basados en Unix.

Nota

Las opciones tls ofrecen la misma funcionalidad que las opciones ssl anteriores.

net:
tls:
mode: <string>
certificateKeyFile: <string>
certificateKeyFilePassword: <string>
certificateSelector: <string>
clusterCertificateSelector: <string>
clusterFile: <string>
clusterPassword: <string>
clusterAuthX509:
attributes: <string>
extensionValue: <string>
CAFile: <string>
clusterCAFile: <string>
CRLFile: <string>
allowConnectionsWithoutCertificates: <boolean>
allowInvalidCertificates: <boolean>
allowInvalidHostnames: <boolean>
disabledProtocols: <string>
FIPSMode: <boolean>
logVersions: <string>
net.tls.mode

Tipo: string

Permite el uso de TLS en todas las conexiones de red. El argumento para la opción net.tls.mode puede ser uno de los siguientes:

Valor
Descripción

disabled

El servidor no usa TLS.

allowTLS

Las conexiones entre servidores no emplean TLS. Para las conexiones entrantes, el servidor acepta tanto TLS como conexiones no TLS.

preferTLS

Las conexiones entre servidores utilizan TLS. Para las conexiones entrantes, el servidor acepta tanto TLS como conexiones no TLS.

requireTLS

El servidor utiliza y acepta únicamente conexiones cifradas mediante TLS.

Si no se especifica --tlsCAFile o tls.CAFile, y no estás utilizando la autenticación X.509, debes establecer el parámetro tlsUseSystemCA en true. Esto hace que MongoDB utilice el almacén de certificados de CA de todo el sistema al conectarse a un servidor con TLS activado.

Si se utiliza la autenticación X.509, --tlsCAFile o tls.CAFile deben especificarse a menos que se utilice --tlsCertificateSelector.

Para obtener más información sobre TLS y MongoDB, consulta Configurar instancias de MongoDB para TLS/SSL en implementaciones autogestionadas y Configuración de TLS/SSL para clientes .

net.tls.certificateKeyFile

Tipo: string

El archivo .pem que contiene tanto el certificado como la llave TLS.

En macOS o Windows, puedes utilizar la opción net.tls.certificateSelector para especificar un certificado del almacén de certificados del sistema operativo en lugar de un archivo de clave PEM. certificateKeyFile y net.tls.certificateSelector son mutuamente excluyentes. Solo puedes especificar uno.

Para obtener más información sobre TLS y MongoDB, consulta Configurar instancias de MongoDB para TLS/SSL en implementaciones autogestionadas y Configuración de TLS/SSL para clientes .

net.tls.certificateKeyFilePassword

Tipo: string

La contraseña para descifrar el archivo de clave del certificado (es decir, certificateKeyFile). Utilice la opción net.tls.certificateKeyFilePassword solo si el archivo de clave del certificado está cifrado. En todos los casos, mongos o mongod elimina la contraseña de todos los registros y reportes de salida.

En Linux/BSD, si la llave privada en el archivo PEM está cifrada y no especifica la opción net.tls.certificateKeyFilePassword, MongoDB pedirá una frase de contraseña.

Para obtener más información, consulta Contraseña de certificado TLS/SSL

En macOS, si la llave privada del archivo PEM está cifrada, debes especificar explícitamente la opción net.tls.certificateKeyFilePassword. Alternativamente, puedes utilizar un certificado del almacenamiento seguro del sistema (consulta net.tls.certificateSelector) en lugar de un archivo de clave PEM o utilizar un archivo PEM sin cifrar.

En Windows, MongoDB no admite certificados cifrados. El mongod falla si encuentra un archivo PEM cifrado. Utiliza net.tls.certificateSelector en su lugar.

Para obtener más información sobre TLS y MongoDB, consulta Configurar instancias de MongoDB para TLS/SSL en implementaciones autogestionadas y Configuración de TLS/SSL para clientes .

net.tls.certificateSelector

Tipo: string

Especifica una propiedad de certificado para seleccionar un certificado coincidente del almacén de certificados del sistema operativo para usar en TLS/SSL. Disponible en Windows y macOS como alternativa a net.tls.certificateKeyFile.

net.tls.certificateKeyFile y net.tls.certificateSelector son opciones mutuamente excluyentes. Solo puedes especificar uno.

net.tls.certificateSelector acepta un argumento en el formato <property>=<value> donde la propiedad puede ser una de las siguientes:

Propiedad
Tipo de valor
Descripción

subject

string ASCII

Nombre del sujeto o nombre común en el certificado

thumbprint

cadena hexadecimal

Una secuencia de bytes, expresada en hexadecimal, utilizada para identificar una llave pública mediante su resumen SHA-1.

El thumbprint a veces se conoce como fingerprint.

Al utilizar el almacén de certificados SSL del sistema, se emplea OCSP (Protocolo de estado de certificados en línea) para validar el estado de revocación de los certificados.

El mongod busca en el almacén seguro de certificados del sistema operativo los certificados de CA necesarios para validar toda la cadena de certificados del certificado TLS indicado. Específicamente, el almacén seguro de certificados debe incluir la CA raíz y cualquier certificado de CA intermedio necesario para compilar toda la cadena de certificados hasta el certificado TLS.

Advertencia

Si utilizas net.tls.certificateSelector y/o net.tls.clusterCertificateSelector, no recomendamos utilizar net.tls.CAFile o net.tls.clusterFile para especificar el certificado raíz e intermedio de la Autoridad de Certificación

Por ejemplo, si el certificado TLS se firmó con un certificado de CA raíz única, el almacén seguro de certificados debe contener ese certificado de CA raíz. Si el certificado TLS se firmó con un certificado de CA intermedia, el almacén de certificados seguro debe contener el certificado de CA intermedia y el certificado de CA raíz.

Nota

No puedes usar el comando rotateCertificates ni el método de shell db.rotateCertificates() cuando utilizas net.tls.certificateSelector o --tlsCertificateSelector configurado en thumbprint

net.tls.clusterCertificateSelector

Tipo: string

Especifica una propiedad de certificado para seleccionar un certificado que coincida en los almacenes seguros de certificados del sistema operativo y usarlo en la autenticación interna de membresía X.509.

Disponible en Windows y macOS como alternativa a net.tls.clusterFile.

net.tls.clusterFile y net.tls.clusterCertificateSelector son opciones mutuamente excluyentes. Solo puedes especificar uno.

net.tls.clusterCertificateSelector acepta un argumento en el formato <property>=<value> donde la propiedad puede ser una de las siguientes:

Propiedad
Tipo de valor
Descripción

subject

string ASCII

Nombre del sujeto o nombre común en el certificado

thumbprint

cadena hexadecimal

Una secuencia de bytes, expresada en hexadecimal, utilizada para identificar una llave pública mediante su resumen SHA-1.

El thumbprint a veces se conoce como fingerprint.

El mongod busca en el almacén seguro de certificados del sistema operativo de los certificados de CA necesarios para validar toda la cadena de certificados del certificado de clúster indicado. Específicamente, el almacén seguro de certificados debe incluir la CA raíz y cualquier certificado de CA intermedio necesario para compilar toda la cadena de certificados hasta el certificado del clúster.

Advertencia

Si utilizas net.tls.certificateSelector y/o net.tls.clusterCertificateSelector, no recomendamos utilizar net.tls.CAFile o net.tls.clusterCAFile para especificar el certificado raíz e intermedio de la Autoridad de Certificación.

Por ejemplo, si el certificado del clúster se firmó con un certificado de CA raíz única, el almacén seguro de certificados debe contener ese certificado de CA raíz. Si el certificado del clúster se firmó con un certificado de CA intermedia, el almacén seguro de certificados debe contener el certificado de CA intermedia y el certificado de CA raíz.

mongod / mongos genera un registro de advertencia en la conexión si el certificado X.509 presentado caduca dentro de 30 días a partir de la hora del sistema host mongod/mongos.

net.tls.clusterFile

Tipo: string

El archivo .pem que contiene el archivo de clave de certificado X.509 para la autenticación de membresía del clúster o el set de réplicas.

En macOS o Windows, puedes utilizar la opción net.tls.clusterCertificateSelector para especificar un certificado de los almacenes de certificados del sistema operativo en lugar de un archivo de clave PEM. net.tls.clusterFile y net.tls.clusterCertificateSelector son opciones mutuamente excluyentes. Solo puedes especificar uno.

Si net.tls.clusterFile no especifica el archivo .pem para la autenticación interna del clúster o la alternativa net.tls.clusterCertificateSelector, el clúster utiliza el archivo .pem especificado en la configuración certificateKeyFile o el certificado devuelto por el net.tls.certificateSelector.

Si se utiliza la autenticación X.509, --tlsCAFile o tls.CAFile deben especificarse a menos que se utilice --tlsCertificateSelector.

mongod / mongos genera un registro de advertencia en la conexión si el certificado X.509 presentado caduca dentro de 30 días a partir de la hora del sistema host mongod/mongos.

Para obtener más información sobre TLS y MongoDB, consulta Configurar instancias de MongoDB para TLS/SSL en implementaciones autogestionadas y Configuración de TLS/SSL para clientes .

Importante

Solo para Windows, MongoDB no brinda soporte a archivos PEM cifrados. El mongod no se inicia si se encuentra con un archivo PEM cifrado. Para almacenar y acceder de forma segura a un certificado para su uso con la autenticación de membresía en Windows, utiliza net.tls.clusterCertificateSelector.

net.tls.clusterPassword

Tipo: string

La contraseña para descifrar el archivo de clave del certificado X.509 especificado con --sslClusterFile. Utiliza la opción net.tls.clusterPassword solo si el archivo de clave de certificado está cifrado. En todos los casos, mongos o mongod censura la contraseña de todos los registros y reportes.

En Linux/BSD, si la llave privada en el archivo X.509 está cifrada y no especificas la opción net.tls.clusterPassword, MongoDB solicita una frase de contraseña.

Para obtener más información, consulta Contraseña de certificado TLS/SSL

En macOS, si la llave privada del archivo X.509 está cifrada, debes especificar explícitamente la opción net.tls.clusterPassword. Alternativamente, también puedes usar un certificado del almacén seguro del sistema (consulta net.tls.clusterCertificateSelector) en lugar de un archivo PEM del clúster o usar un archivo PEM sin cifrar.

En Windows, MongoDB no admite certificados cifrados. El mongod falla si encuentra un archivo PEM cifrado. Utiliza net.tls.clusterCertificateSelector.

Para obtener más información sobre TLS y MongoDB, consulta Configurar instancias de MongoDB para TLS/SSL en implementaciones autogestionadas y Configuración de TLS/SSL para clientes .

net.tls.clusterAuthX509

Nuevo en la versión 7.0.

net:
tls:
clusterAuthX509:
attributes: <string>
extensionValue: <string>
net.tls.clusterAuthX509.attributes

Tipo: string

Nuevo en la versión 7.0.

Especifica un conjunto de atributos y valores de nombre distinguido (DN) X.509 que el servidor espera que los nodos miembros del clúster contengan en sus nombres de sujeto de certificado. Esto permite usar certificados que no contengan los valores DC, O ni OU para autenticar a los miembros del clúster.

Cuando se establece attributes, MongoDB compara los certificados utilizando el nombre distinguido e ignora los valores de las extensiones.

net.tls.clusterAuthX509.extensionValue

Tipo: string

Nuevo en la versión 7.0.

Especifica un valor de extensión que corresponde a la extensión de membresía del clúster MongoDB OID,. 1.3.6.1.4.1.34601.2.1.2El servidor espera que los nodos miembros del clúster incluyan esta extensión en sus certificados. Esto permite usar certificados DC sinO los OU valores, y para autenticar a los miembros del clúster.

Cuando configuras extensionValue, MongoDB empareja los certificados con valores de extensión de certificado e ignora el nombre distinguido (ND).

Cuando crees un certificado con OID 1.3.6.1.4.1.34601.2.1.2, considera las siguientes directrices:

  • Manten el valor de la extensión por debajo de 128 bytes.

  • Utiliza una única UTF8String como valor interno de la extensión. mongod no acepta otros tipos de string.

  • Si utilizas OpenSSL, debes especificar explícitamente el tipo ASN.1, para que codifique una UTF8String. Por ejemplo:

    • En la línea de comandos, especifica -addext: 1.3.6.1.4.1.34601.2.1.2=ASN1:UTF8String:<your-value>.

    • En un archivo de configuración de OpenSSL, especifica 1.3.6.1.4.1.34601.2.1.2 = ASN1:UTF8String:<your-value>.

    Advertencia

    Si omites ASN1:UTF8String:, OpenSSL podría elegir una codificación diferente u octetos sin formato, que mongod rechaza con una etiqueta "no compatible" o una etiqueta de "DER desconocido".

net.tls.CAFile

Tipo: string

El archivo .pem que contiene la cadena de certificados raíz de la Autoridad de Certificación. Especifique el nombre del archivo .pem utilizando rutas relativas o absolutas.

Solo para Windows/macOS
Si utilizas net.tls.certificateSelector y/o net.tls.clusterCertificateSelector, no utiliza net.tls.CAFile para especificar los certificados CA raíz e intermedios. Almacena todos los certificados de CA necesarios para validar la cadena de confianza completa de los certificados net.tls.certificateSelector y/o net.tls.clusterCertificateSelector en el almacén seguro de certificados.

Para obtener más información sobre TLS y MongoDB, consulta Configurar instancias de MongoDB para TLS/SSL en implementaciones autogestionadas y Configuración de TLS/SSL para clientes .

net.tls.clusterCAFile

Tipo: string

El archivo .pem que contiene la cadena de certificados raíz de la Autoridad de Certificación utilizada para validar el certificado presentado por un cliente que establece una conexión. Especifique el nombre del archivo .pem utilizando rutas relativas o absolutas. net.tls.clusterCAFile requiere que net.tls.CAFile esté configurado.

Si net.tls.clusterCAFile no especifica el archivo .pem para validar el certificado de un cliente que establece una conexión, el clúster utiliza el archivo .pem especificado en la opción net.tls.CAFile.

net.tls.clusterCAFile le permite utilizar autoridades de certificación independientes para verificar las partes del protocolo de enlace TLS de cliente a servidor y de servidor a cliente.

A partir de 4.0, en macOS o Windows, puedes usar un certificado del almacén seguro del sistema operativo en lugar de un archivo de clave PEM. Consulta net.tls.clusterCertificateSelector. Cuando utilices el almacén seguro, no es necesario, pero puedes especificar también el net.tls.clusterCAFile.

Solo para Windows/macOS
Si utilizas net.tls.certificateSelector y/o net.tls.clusterCertificateSelector, no utiliza net.tls.clusterCAFile para especificar los certificados CA raíz e intermedios. Almacena todos los certificados de CA necesarios para validar la cadena de confianza completa de los certificados net.tls.certificateSelector y/o net.tls.clusterCertificateSelector en el almacén seguro de certificados.

Para obtener más información sobre TLS y MongoDB, consulta Configurar instancias de MongoDB para TLS/SSL en implementaciones autogestionadas y Configuración de TLS/SSL para clientes .

net.tls.CRLFile

Tipo: string

El archivo .pem que contiene la Lista de revocación de certificados. Especifique el nombre del archivo .pem utilizando rutas relativas o absolutas.

Nota

  • No puedes especificar net.tls.CRLFile en macOS. En su lugar, puedes utilizar el almacén de certificados SSL del sistema, que emplea OCSP (Protocolo de Estado de Certificados en linea) para validar el estado de revocación de los certificados. Consulta net.tls.certificateSelector para usar el almacén de certificados SSL del sistema.

  • Para verificar la revocación de certificados, MongoDB enables utiliza OCSP (Protocolo de Estado de Certificados en línea) por defecto como alternativa a especificar un archivo CRL o usar los almacenes de certificados SSL del sistema.

Para obtener más información sobre TLS y MongoDB, consulta Configurar instancias de MongoDB para TLS/SSL en implementaciones autogestionadas y Configuración de TLS/SSL para clientes .

net.tls.allowConnectionsWithoutCertificates

Tipo: booleano

Por defecto: false

Si es false, todos los clientes deben proporcionar certificados TLS de cliente. Si es true, los clientes no necesitan proporcionar certificados de cliente, pero mongod o mongos cifra la conexión TLS/SSL.

Si un cliente proporciona un certificado de cliente, independientemente del valor que establezcas para net.tls.allowConnectionsWithoutCertificates, mongos o mongod realiza la validación de certificados con la cadena de certificados raíz especificada por CAFile, o el almacén de CA del sistema si tlsUseSystemCA es true, y rechaza a los clientes con certificados no válidos.

Utiliza la opción net.tls.allowConnectionsWithoutCertificates si tienes una implementación mixta que incluye clientes que no presentan o no pueden presentar certificados al mongos o al mongod.

Para obtener más información sobre TLS y MongoDB, consulta Configurar instancias de MongoDB para TLS/SSL en implementaciones autogestionadas y Configuración de TLS/SSL para clientes .

net.tls.allowInvalidCertificates

Tipo: booleano

Por defecto: false

Active o desactive las comprobaciones de validación de certificados TLS en otros servidores del clúster y permita el uso de certificados no válidos para conectarse.

Nota

Si especificas --tlsAllowInvalidCertificates o tls.allowInvalidCertificates: true al utilizar la autenticación X.509, un certificado no válido es suficiente solo para establecer una conexión TLS, pero es insuficiente para la autenticación.

Al utilizar la configuración net.tls.allowInvalidCertificates, MongoDB registra una advertencia sobre el uso de un certificado inválido.

Para obtener más información sobre TLS y MongoDB, consulta Configurar instancias de MongoDB para TLS/SSL en implementaciones autogestionadas y Autenticación autogestionada interna y de miembros.

net.tls.allowInvalidHostnames

Tipo: booleano

Por defecto: false

Cuando net.tls.allowInvalidHostnames es true, MongoDB desactiva la validación de los nombres de host en los certificados TLS. Esto permite que mongod o mongos se conecten a otras instancias de MongoDB en el clúster, incluso si el nombre de host de sus certificados no coincide con el nombre de host especificado.

Para obtener más información sobre TLS y MongoDB, consulte Configurar instancias de MongoDB para TLS/SSL en implementaciones autogestionadas.

net.tls.disabledProtocols

Tipo: string

Impide que un servidor MongoDB que se ejecute con TLS acepte conexiones entrantes que utilicen un protocolo o protocolos específicos. Para especificar varios protocolos, utilice una lista de protocolos separada por comas, pero no utilice espacios después de las comas. Si incluye un espacio antes de un nombre de protocolo, el servidor lo interpreta como un protocolo no reconocido y no se inicia.

net.tls.disabledProtocols reconoce los siguientes protocolos: TLS1_0, TLS1_1, TLS1_2 y TLS1_3.

  • En macOS, no puedes desactivar TLS1_1 y dejar TLS1_0 y TLS1_2 activados. Debes desactivar al menos uno de los otros dos, por ejemplo, TLS1_0,TLS1_1.

  • Para listar varios protocolos, especifique como una lista separada por comas de protocolos sin espacios después de las comas. Por ejemplo TLS1_0,TLS1_1.

  • Especificar un protocolo no reconocido o incluir un espacio después de una coma impide que el servidor se inicie.

  • Los protocolos deshabilitados especificados anulan cualquier protocolo deshabilitado por defecto.

MongoDB desactiva el uso de TLS 1.0, si TLS 1.1+ está disponible en el sistema. Para habilitar TLS 1.0, especifica none en net.tls.disabledProtocols.

Los nodos de los sets de réplicas y los clústeres fragmentados deben tener al menos un protocolo en común.

Tip

net.tls.FIPSMode

Tipo: booleano

Por defecto: false

Se debe activar o desactivar el uso del modo FIPS de la biblioteca TLS para mongos o mongod. El sistema debe tener una biblioteca compatible con FIPS para usar la opción net.tls.FIPSMode.

Nota

TLS/SSL compatible con FIPS está disponible solo en MongoDB Enterprise. Ve Configurar MongoDB para FIPS si deseas obtener más información.

net.tls.logVersions

Tipo: string

Instruye a mongos o mongod para que registre un mensaje cuando un cliente se conecte utilizando una versión TLS especificada.

Especifique una única versión de TLS o una lista separada por comas de múltiples versiones de TLS.

Ejemplo

Para instruir a mongos o a mongod para que hagan un registro de un mensaje cuando un cliente se conecte usando TLS 1.2 o TLS 1.3, configure net.tls.logVersions a "TLS1_2,TLS1_3".

net:
compression:
compressors: <string>
net.compression.compressors

Default: snappy,zstd,zlib

Especifica el(los) compresor(es) por defecto que se utilizarán para la comunicación entre esta instancia mongod o mongos y:

  • otros miembros de la implementación si la instancia es parte de un set de réplicas o un clúster

  • mongosh

  • controladores con soporte para el formato de mensaje OP_COMPRESSED.

MongoDB es compatible con los siguientes compresores:

Para desactivar la compresión de red, establezca el valor en disabled.

Importante

Los mensajes se comprimen cuando ambas partes permiten la compresión de red. De lo contrario, los mensajes entre las partes no se comprimen.

Si especificas varios compresores, el orden en el que enumeres los compresores importa, al igual que el iniciador de la comunicación. Por ejemplo, si mongosh especifica los siguientes compresores de red zlib,snappy y mongod especifica snappy,zlib, los mensajes entre mongosh y mongod utiliza zlib.

Si las partes no comparten al menos un compresor común, los mensajes entre las partes no se comprimen. Por ejemplo, si mongosh especifica el compresor de red zlib y mongod especifica snappy, los mensajes entre mongosh y mongod no se comprimen.

security:
keyFile: <string>
clusterAuthMode: <string>
authorization: <string>
transitionToAuth: <boolean>
javascriptEnabled: <boolean>
redactClientLogData: <boolean>
clusterIpSourceAllowlist:
- <string>
sasl:
hostName: <string>
serviceName: <string>
saslauthdSocketPath: <string>
enableEncryption: <boolean>
encryptionCipherMode: <string>
encryptionKeyFile: <string>
kmip:
keyIdentifier: <string>
rotateMasterKey: <boolean>
serverName: <string>
port: <string>
clientCertificateFile: <string>
clientCertificatePassword: <string>
clientCertificateSelector: <string>
serverCAFile: <string>
connectRetries: <int>
connectTimeoutMS: <int>
ldap:
servers: <string>
bind:
method: <string>
saslMechanisms: <string>
queryUser: <string>
queryPassword: <string | array>
useOSDefaults: <boolean>
transportSecurity: <string>
timeoutMS: <int>
userToDNMapping: <string>
authz:
queryTemplate: <string>
validateLDAPServerConfig: <boolean>
security.keyFile

Tipo: string

La ruta a un archivo de claves que almacena el secreto compartido que las instancias de MongoDB utilizan para autenticarse entre sí en un clúster particionado o set de réplicas. keyFile implica security.authorization. Consulta Autenticación interna/autogestionada de miembros para obtener más información.

Los archivos de claves para la autenticación interna de miembros utilizan el formato YAML para permitir múltiples claves en un archivo de claves. El formato YAML acepta:

  • Una string de clave única (igual que en versiones anteriores)

  • Una secuencia de cadenas clave

El formato YAML es compatible con los archivos de claves de una sola clave existentes que utilizan el formato de archivo de texto.

security.clusterAuthMode

Tipo: string

Por defecto: archivo de clave

El modo de autenticación utilizado para la autenticación del clúster. Si utilizas autenticación interna de X.509, especifícalo aquí. Esta opción puede tener uno de los siguientes valores:

Valor
Descripción

keyFile

Utilice un archivo de clave para la autenticación. Acepte únicamente archivos de clave.

sendKeyFile

Para actualizaciones continuas. Envía un archivo de claves para la autenticación, pero acepta tanto archivos de claves como certificados X.509.

sendX509

Para actualizaciones continuas. Envía el certificado X.509 para la autenticación, pero acepta tanto archivos de claves como certificados X.509.

x509

Opción recomendada. Envía el certificado X.509 para la autenticación y acepta solo certificados X.509.

Si no se especifica --tlsCAFile o tls.CAFile, y no estás utilizando la autenticación X.509, debes establecer el parámetro tlsUseSystemCA en true. Esto hace que MongoDB utilice el almacén de certificados de CA de todo el sistema al conectarse a un servidor con TLS activado.

Si se utiliza la autenticación X.509, --tlsCAFile o tls.CAFile deben especificarse a menos que se utilice --tlsCertificateSelector.

Para obtener más información sobre TLS y MongoDB, consulta Configurar instancias de MongoDB para TLS/SSL en implementaciones autogestionadas y Configuración de TLS/SSL para clientes .

security.authorization

Tipo: string

Por defecto: desactivado

Active o desactive el control de acceso basado en roles (RBAC) para gestionar el acceso de cada usuario a los recursos y operaciones de la base de datos.

Establezca esta opción en una de las siguientes:

Valor
Descripción

enabled

Un usuario solo puede acceder a los recursos de la base de datos y a las acciones para las cuales se le han otorgado privilegios.

disabled

Un usuario puede acceder a cualquier base de datos y realizar cualquier acción.

Consulta Control de acceso basado en roles en implementaciones autogestionadas para obtener más información.

La configuración desecurity.authorization está disponible solo para mongod.

security.transitionToAuth

Tipo: booleano

Por defecto: false

Permite que el mongod o el mongos acepte y cree conexiones autenticadas y no autenticadas hacia y desde otras instancias de mongod y mongos en la implementación. Se utiliza para realizar la transición gradual de sets de réplicas o clústeres fragmentados de una configuración sin autenticación a una autenticación interna. Requiere especificar un mecanismo de autenticación interna como security.keyFile.

Por ejemplo, si se utilizan archivos de claves para la autenticación interna, el mongod o el mongos crea una conexión autenticada con cualquier mongod o mongos en la implementación utilizando un archivo de claves coincidente. Si los mecanismos de seguridad no coinciden, el mongod o mongos utilizará una conexión no autenticada.

Un mongod o mongos ejecutándose con security.transitionToAuth no aplica controles de acceso de usuarios. Los usuarios pueden conectarse a la implementación sin ninguna verificación de control de acceso y realizar operaciones de lectura, escritura y administrativas.

Nota

Un mongod o mongos que funciona con autenticación interna y sin security.transitionToAuth requiere que los clientes se conecten con los controles de acceso de usuario. Actualiza a los clientes para que se conecten a mongod o mongos con el usuario correspondiente antes de reiniciar mongod o mongos sin security.transitionToAuth.

security.javascriptEnabled

Tipo: booleano

Por defecto: true

Activa o desactiva la ejecución de JavaScript del lado del servidor. Cuando está desactivado, no puede utilizar operaciones que realicen la ejecución del código JavaScript del lado del servidor, como el operador del query $where, el comando mapReduce, $accumulator y $function.

Si no utiliza estas operaciones, desactive el script del lado del servidor.

El security.javascriptEnabled está disponible tanto para mongod como para mongos. En versiones anteriores, la configuración solo está disponible para mongod.

security.redactClientLogData

Tipo: booleano

Disponible solamente en MongoDB Enterprise.

Un mongod o mongos que se ejecuta con security.redactClientLogData redacta cualquier mensaje que acompañe a un evento de registro determinado antes de registrarlo. Esto impide que el mongod o el mongos escriban datos potencialmente sensibles almacenados en la base de datos en el registro de diagnóstico. Los metadatos, como los códigos de error u operación, las cantidades de líneas y los nombres de los archivos fuente, siguen siendo visibles en los registros.

Utilice security.redactClientLogData en conjunto con Cifrado en Reposo y TLS/SSL (Cifrado de Transporte) para ayudar al cumplimiento de los requisitos regulatorios.

Por ejemplo, una implementación de MongoDB podría almacenar Información Personal Identificable (PII) en una o más colecciones. El mongod o mongos registra eventos como los relacionados con operaciones CRUD, metadatos de fragmentación, etc. Es posible que el mongod o mongos puedan exponer PII como parte de estas operaciones de registro. Un mongod o mongos que se ejecuta con security.redactClientLogData remueve cualquier mensaje que acompañe a estos eventos antes de enviarse al registro, y elimina efectivamente la PII.

El diagnóstico en un mongod o mongos que funciona con security.redactClientLogData puede ser más complicado debido a la falta de datos relacionados con un evento de registro. Consulte la página del manual de registro de procesos para ver un ejemplo del efecto de security.redactClientLogData en la salida de los registros.

En un mongod o mongos en ejecución, utilice setParameter con el parámetro redactClientLogData para configurar esta opción.

security.clusterIpSourceAllowlist

Tipo: lista

Nuevo en la versión 5.0.

Cambiado en la versión 5.2.

Una lista de direcciones IP/CIDR (Classless Inter-Domain Routing) contra las cuales mongod valida las solicitudes de autenticación de otros miembros del set de réplicas y, si forma parte de un clúster, las instancias de mongos. mongod verifica que la IP de origen esté explícitamente en la lista o pertenezca a un rango CIDR de la lista. Si la dirección IP no está presente, el servidor no autentica el mongod ni el mongos.

security.clusterIpSourceAllowlist no tiene ningún efecto en un mongod iniciado sin autenticación.

A partir de MongoDB 5.2, puedes configurar security.clusterIpSourceAllowlist en un mongod o mongos en ejecución usando setParameter.

Este ejemplo actualiza security.clusterIpSourceAllowlist durante el tiempo de ejecución para incluir las direcciones IP "1.1.1.1/24", "2.2.2.2/16" y "3.3.3.3".

db.adminCommand( {
setParameter: 1,
"clusterIpSourceAllowlist": ["1.1.1.1/24", "2.2.2.2/16", "3.3.3.3"]
} );

Este ejemplo actualiza security.clusterIpSourceAllowlist en tiempo de ejecución para excluir todas las direcciones IP:

db.adminCommand( {
setParameter: 1,
"clusterIpSourceAllowlist": null
} );

security.clusterIpSourceAllowlist no tiene ningún efecto en un mongod iniciado sin autenticación.

security.clusterIpSourceAllowlist requiere especificar cada dirección IPv4/6 o el rango de enrutamiento entre dominios sin clases (CIDR) como una lista YAML:

security:
clusterIpSourceAllowlist:
- 192.0.2.0/24
- 127.0.0.1
- ::1

Importante

Asegúrate de que security.clusterIpSourceAllowlist incluya la dirección IP o los rangos CIDR que contienen la dirección IP de cada set de réplicas o mongos en la implementación para asegurar una comunicación saludable entre los componentes del clúster.

security:
enableEncryption: <boolean>
encryptionCipherMode: <string>
encryptionKeyFile: <string>
kmip:
keyIdentifier: <string>
rotateMasterKey: <boolean>
serverName: <string>
port: <int>
clientCertificateFile: <string>
clientCertificatePassword: <string>
clientCertificateSelector: <string>
serverCAFile: <string>
connectRetries: <int>
connectTimeoutMS: <int>
activateKeys: <boolean>
keyStatePollingSeconds: <int>
useLegacyProtocol: <boolean>
security.enableEncryption

Tipo: booleano

Por defecto: false

Permite el cifrado para el motor de almacenamiento WiredTiger. Debe configurarlo en true para pasar las llaves de cifrado y las configuraciones.

Nota

Característica de la empresa

Disponible solamente en MongoDB Enterprise.

security.encryptionCipherMode

Tipo: string

Por defecto: AES256-CBC

El modo de cifrado a utilizar para el cifrado en reposo:

Modo
Descripción

AES256-CBC

Estándar de cifrado avanzado de 256 bits en modo de encadenamiento de bloques de cifrado

AES256-GCM

Estándar de cifrado avanzado de 256 bits en modo Galois/Counter

Disponible solo en Linux.

MongoDB Enterprise en Windows ya no admite AES256-GCM como un cifrado de bloques para el cifrado en reposo. Este uso solo es compatible con Linux.

Nota

Característica de la empresa

Disponible solamente en MongoDB Enterprise.

security.encryptionKeyFile

Tipo: string

La ruta al archivo de clave local cuando se gestionan las claves mediante un proceso distinto al KMIP. Solo se configura cuando gestiones claves a través de un proceso distinto a KMIP. Si los datos ya están cifrados con KMIP, MongoDB genera un error.

Requiere que security.enableEncryption sea true.

Nota

Característica de la empresa

Disponible solamente en MongoDB Enterprise.

security.kmip.keyIdentifier

Tipo: string

Identificador único de KMIP para una clave existente dentro del servidor KMIP. Incluido para utilizar la clave asociada con el identificador como clave del sistema. Solo puedes usar la configuración la primera vez que actives el cifrado para la instancia mongod. Requiere que security.enableEncryption sea verdadero.

Si no se especifica, MongoDB hace una solicitud de que el servidor KMIP cree una nueva clave para usar como clave del sistema.

Si el servidor KMIP no puede localizar una clave con el identificador especificado o los datos ya están cifrados con una clave, MongoDB genera un error.

Nota

Característica de la empresa

Disponible solamente en MongoDB Enterprise.

security.kmip.rotateMasterKey

Tipo: booleano

Por defecto: false

Si es verdadero, rote la clave maestra y vuelva a cifrar el almacén de claves interno.

Nota

Característica de la empresa

Disponible solamente en MongoDB Enterprise.

security.kmip.serverName

Tipo: string

Nombre de host o dirección IP del servidor KMIP al que conectarse. Requiere que security.enableEncryption sea verdadero.

Puede especificar varios servidores KMIP como una lista separada por comas; por ejemplo, server1.example.com,server2.example.com. Al iniciar, el mongod intenta establecer una conexión con cada servidor en el orden listado y selecciona el primer servidor con el que logra establecer una conexión con éxito. La selección del servidor KMIP solo ocurre al inicio.

mongod verifica la conexión al servidor KMIP al inicio.

El nombre del servidor especificado en security.kmip.serverName debe coincidir con el nombre alternativo del sujeto SAN o el nombre común CN en el certificado presentado por el servidor KMIP. SAN puede ser un nombre de sistema o una dirección IP.

Si SAN está presente, mongod no intenta coincidir con CN.

Si el nombre de host o la dirección IP del servidor KMIP no coincide con SAN ni con CN, mongod no se iniciará.

A partir de MongoDB 4.2, al realizar una comparación de SAN, MongoDB admite la comparación de nombres DNS o direcciones IP. En versiones anteriores, MongoDB solo admitía comparaciones de nombres DNS.

Nota

Característica de la empresa

Disponible solamente en MongoDB Enterprise.

security.kmip.port

Tipo: int

por defecto: 5696

Número de puerto que se debe usar para comunicarse con el servidor KMIP. Requiere security.kmip.serverName. Requiere que security.enableEncryption sea verdadero.

Si especificas varios servidores KMIP con security.kmip.serverName, el mongod usará el puerto especificado con security.kmip.port para todos los servidores KMIP proporcionados.

Nota

Característica de la empresa

Disponible solamente en MongoDB Enterprise.

security.kmip.clientCertificateFile

Tipo: string

Ruta al archivo .pem utilizado para autenticar MongoDB en el servidor KMIP. El archivo .pem especificado debe contener tanto el certificado TLS/SSL como la clave.

Para usar esta configuración, también debes especificar la configuración security.kmip.serverName.

Nota

A partir de 4.0, en macOS o Windows, puedes usar un certificado del almacén seguro del sistema operativo en lugar de un archivo de clave PEM. Consulta security.kmip.clientCertificateSelector.

Nota

Característica de la empresa

Disponible solamente en MongoDB Enterprise.

security.kmip.clientCertificatePassword

Tipo: string

La contraseña para descifrar la llave privada del certificado del cliente que se conecta al servidor KMIP. Esta opción autentica MongoDB al servidor KMIP y requiere que proporciones un --kmipClientCertificateFile.

Nota

Característica de la empresa

Disponible solamente en MongoDB Enterprise.

security.kmip.clientCertificateSelector

Tipo: string

Nuevo en la versión 5.0: Disponible en Windows y macOS como una alternativa a security.kmip.clientCertificateFile.

security.kmip.clientCertificateFile y security.kmip.clientCertificateSelector son opciones mutuamente excluyentes. Solo puedes especificar uno.

Especifica una propiedad del certificado para seleccionar un certificado coincidente de los almacenes de certificados del sistema operativo para autenticar MongoDB ante el servidor KMIP.

security.kmip.clientCertificateSelector acepta un argumento en el formato <property>=<value> donde la propiedad puede ser una de las siguientes:

Propiedad
Tipo de valor
Descripción

subject

string ASCII

Nombre del sujeto o nombre común en el certificado

thumbprint

cadena hexadecimal

Una secuencia de bytes, expresada en hexadecimal, utilizada para identificar una llave pública mediante su resumen SHA-1.

El thumbprint a veces se conoce como fingerprint.

Nota

Característica de la empresa

Disponible solamente en MongoDB Enterprise.

security.kmip.serverCAFile

Tipo: string

Ruta al archivo de CA. Se utiliza para validar la conexión segura del cliente al servidor KMIP.

Nota

A partir de 4.0, en macOS o Windows, puedes usar un certificado del almacén seguro del sistema operativo en lugar de un archivo de clave PEM. Consulta security.kmip.clientCertificateSelector. Cuando utilices el almacén seguro, no es necesario, pero puedes especificar también el security.kmip.serverCAFile.

Nota

Característica de la empresa

Disponible solamente en MongoDB Enterprise.

security.kmip.connectRetries

Tipo: int

Por defecto: 0

Cuántas veces se debe reintentar la conexión inicial al servidor KMIP. Utilice junto con connectTimeoutMS para controlar cuánto tiempo el mongod espera una respuesta entre cada reintento.

Nota

Característica de la empresa

Disponible solamente en MongoDB Enterprise.

security.kmip.connectTimeoutMS

Tipo: int

Por defecto: 5000

Tiempo de espera en milisegundos para recibir una respuesta del servidor KMIP. Si se especifica el connectRetries, el mongod espera hasta el valor especificado con connectTimeoutMS para cada reintento.

El valor debe ser 1000 o mayor.

Nota

Característica de la empresa

Disponible solamente en MongoDB Enterprise.

security.kmip.activateKeys

Tipo: booleano

Por defecto: true

Novedades en la versión 5.3.

Activa todas las claves KMIP recién creadas al momento de su creación y luego verifica periódicamente que dichas claves estén en estado activo.

Cuando security.kmip.activateKeys es true y hay claves existentes en un servidor KMIP, primero debe activar la clave o el nodo mongod no se iniciará.

Si la clave que está utilizando el mongod pasa a un estado no activo, el nodo mongod se apaga a menos que kmipActivateKeys sea falso. Para asegurarse de que tiene una clave activa, rota la clave maestra KMIP usando security.kmip.rotateMasterKey.

security.kmip.keyStatePollingSeconds

Tipo: int

Por defecto: 900 segundos

Novedades en la versión 5.3.

Frecuencia en segundos a la que mongod sondea el servidor KMIP para obtener claves activas.

Para desactivar la función de sondeo, establezca el valor en -1.

security.kmip.useLegacyProtocol

Tipo: booleano

Por defecto: false

Nuevo en la versión 7.0: (y 6.0.6)

Cuando true, mongod utiliza la versión 1.0 o 1.1 del protocolo KMIP en lugar de la versión por defecto. El protocolo KMIP por defecto es la versión 1.2.

Para usar el cifrado de registros de auditoría con KMIP versión 1.0 o 1.1, debes especificar auditEncryptKeyWithKMIPGet al inicio.

Para utilizar la versión 1.0 o 1.1 del protocolo KMIP, sustituya sus valores locales y agregue una entrada como esta a su archivo de configuración mongod:

security:
enableEncryption: true
kmip:
serverName: "mdbhost.somecompany.com"
serverCAFile: "security/libs/trusted-ca.pem"
clientCertificateFile: "security/libs/trusted-client.pem"
useLegacyProtocol: true
security:
sasl:
hostName: <string>
serviceName: <string>
saslauthdSocketPath: <string>
security.sasl.hostName

Tipo: string

Un nombre de dominio de servidor completamente calificado para el propósito de configurar la autenticación SASL y Kerberos. El nombre de host de SASL reemplaza el nombre de host solo para la configuración de SASL y Kerberos.

security.sasl.serviceName

Tipo: string

Nombre registrado del servicio que utiliza SASL. Esta opción le permite sobrescribir el componente de nombre de servicio por defecto de Kerberos del nombre principal de Kerberos, por instancia. Si no se especifica, el valor es por defecto mongodb.

MongoDB permite configurar esta opción solo al inicio. El setParameter no puede cambiar esta configuración.

Esta opción solo está disponible en MongoDB Enterprise.

Importante

Asegúrese de que su controlador tenga soporte para nombres de servicios alternativos. Para mongosh y otras herramientas de MongoDB para conectarse al nuevo serviceName, consulte la opción gssapiServiceName.

security.sasl.saslauthdSocketPath

Tipo: string

La ruta al archivo de socket del dominio UNIX para saslauthd.

security:
ldap:
servers: <string>
bind:
method: <string>
saslMechanisms: <string>
queryUser: <string>
queryPassword: <string | array>
useOSDefaults: <boolean>
transportSecurity: <string>
timeoutMS: <int>
retryCount: <int>
userToDNMapping: <string>
authz:
queryTemplate: <string>
validateLDAPServerConfig: <boolean>
security.ldap.servers

Tipo: string

Disponible solamente en MongoDB Enterprise.

El servidor LDAP contra el cual mongod o mongos autentica a los usuarios o determina qué acciones está autorizado a realizar un usuario en una base de datos dada. Si el servidor LDAP especificado tiene instancias replicadas, puede especificar el host y el puerto de cada servidor replicado en una lista delimitada por comas.

Si su infraestructura LDAP particiona el directorio LDAP entre varios servidores LDAP, especifique un servidor LDAP o cualquiera de sus instancias replicadas en. MongoDB admite las siguientes security.ldap.servers referencias LDAP, tal como se define en RFC..4511 4.110 No utilice para listar todos los servidores LDAP de su security.ldap.servers infraestructura.

Puedes anteponer a los servidores LDAP los prefijos srv: y srv_raw:.

Si la cadena de conexión especifica "srv:<DNS_NAME>", mongod verifica que "_ldap._tcp.gc._msdcs.<DNS_NAME>" existe para que SRV sea compatible con Active Directory. Si no se encuentra, mongod verifica que "_ldap._tcp.<DNS_NAME>" existe para SRV. Si no se encuentra un registro SRV, mongod advierte que se use "srv_raw:<DNS_NAME>" en cambio.

Si su cadena de conexión especifica "srv_raw:<DNS_NAME>", mongod realiza una búsqueda de un registro SRV para "<DNS NAME>".

Este ajuste se puede configurar en un mongod o mongos en ejecución usando setParameter.

Si no se configura, mongod o mongos no podrán usar autenticación o autorización por LDAP.

security.ldap.bind.queryUser

Tipo: string

Disponible solamente en MongoDB Enterprise.

La identidad con la que mongod o mongos se vincula al conectarse o realizar consultas en un servidor LDAP.

Solo es necesario si alguna de las siguientes condiciones es verdadera:

Debe utilizar queryUser con queryPassword.

Si no se configura, mongod o mongos no intenta vincularse al servidor LDAP.

Este ajuste se puede configurar en un mongod o mongos en ejecución usando setParameter.

Nota

Las implementaciones de MongoDB en Windows pueden usar useOSDefaults en lugar de queryUser y queryPassword. No puedes especificar queryUser y useOSDefaults al mismo tiempo.

security.ldap.bind.queryPassword

Tipo: string o arreglo

Disponible solamente en MongoDB Enterprise.

La contraseña utilizada para enlazarse a un servidor LDAP al usar queryUser. Debes utilizar queryPassword con queryUser.

Si no está configurado, mongod o mongos no intenta conectarse al servidor LDAP.

Se puede configurar esta opción en un mongod o mongos en ejecución usando setParameter.

El comando ldapQueryPassword setParameter acepta una string o un arreglo de strings. Si ldapQueryPassword se establece en un arreglo, MongoDB intenta cada contraseña en orden hasta que una funcione. Utiliza un arreglo de contraseñas para cambiar la contraseña de la cuenta LDAP sin tiempo de inactividad.

Nota

Las implementaciones de MongoDB en Windows pueden usar useOSDefaults en lugar de queryUser y queryPassword. No puedes especificar queryPassword y useOSDefaults al mismo tiempo.

security.ldap.bind.useOSDefaults

Tipo: booleano

Por defecto: false

Disponible solo en MongoDB Enterprise para la plataforma Windows.

Permite que mongod o mongos se autentiquen o se vinculen utilizando sus credenciales de inicio de sesión de Windows al conectarse al servidor LDAP.

Solo es requerido si:

Utiliza useOSDefaults para reemplazar queryUser y queryPassword.

security.ldap.bind.method

Tipo: string

Por defecto: simple

Disponible solamente en MongoDB Enterprise.

El método mongod o mongos utiliza para autenticarse en un servidor LDAP. Utilízalo con queryUser y queryPassword para conectarse al servidor LDAP.

method admite los siguientes valores:

  • simple - mongod o mongos utiliza autenticación simple.

  • sasl - mongod o mongos utiliza el protocolo SASL para la autenticación

Si especificas sasl, puedes configurar los mecanismos SASL disponibles mediante security.ldap.bind.saslMechanisms. mongod o mongos usa el mecanismo DIGEST-MD5 por defecto.

security.ldap.bind.saslMechanisms

Tipo: string

Por defecto: DIGEST-MD5

Disponible solamente en MongoDB Enterprise.

Una lista separada por comas de mecanismos SASL mongod o mongos que puede usar al autenticarse en el servidor LDAP. El mongod o mongos y el servidor LDAP deben estar de acuerdo en al menos un mecanismo. El mongod o mongos carga dinámicamente cualquier biblioteca de mecanismos SASL instalada en el equipo host en tiempo de ejecución.

Instale y configure las bibliotecas adecuadas para el(los) mecanismo(s) SASL seleccionado(s) tanto en el host mongod como en el host mongos y en el host del servidor LDAP remoto. Su sistema operativo puede incluir ciertas bibliotecas SASL por defecto. Consulte la documentación asociada con cada mecanismo SASL para obtener orientación sobre la instalación y configuración.

Si utiliza el mecanismo SASL GSSAPI para usar con Autenticación con Kerberos en Implementaciones Autogestionadas, verifica lo siguiente para la máquina host mongod o mongos:

Linux
Windows
Si se conecta a un servidor de Active Directory, la configuración de Windows Kerberos genera automáticamente un Ticket-Granting-Ticket cuando el usuario inicia sesión en el sistema. Configure useOSDefaults en true para permitir que mongod o mongos usen las credenciales generadas al conectarse al servidor de Active Directory y ejecutar queries.

Establece method en sasl para usar esta opción.

Nota

Para obtener una lista completa de los mecanismos SASL, se debe consultar el listado de IANA. Se debe consultar la documentación del servicio LDAP o Active Directory para identificar los mecanismos SASL compatibles con el servicio.

MongoDB no es una fuente de bibliotecas de mecanismos SASL, ni la documentación de MongoDB es una fuente definitiva para instalar o configurar cualquier mecanismo SASL. Para obtener documentación y soporte, consulte al proveedor o propietario de la biblioteca de mecanismos SASL.

Para obtener más información sobre SASL, consulte los siguientes recursos:

security.ldap.transportSecurity

Tipo: string

Por defecto: tls

Disponible solamente en MongoDB Enterprise.

Por defecto, mongod o mongos crea una conexión segura TLS/SSL al servidor LDAP.

Para las implementaciones de Linux, se debe configurar las opciones de TLS adecuadas en el archivo /etc/openldap/ldap.conf. El administrador de paquetes del sistema operativo crea este archivo como parte de la instalación de MongoDB Enterprise, a través de la dependencia libldap. Se debe consultar la documentación de TLS Options en la documentación ldap.conf de OpenLDAP para obtener instrucciones más completas.

Para la implementación de Windows, debe agregar los certificados CA del servidor LDAP a la herramienta de gestión de certificados de Windows. El nombre exacto y la funcionalidad de la herramienta pueden variar según la versión del sistema operativo. Consulte la documentación de su versión de Windows para obtener más información sobre la gestión de certificados.

Configura transportSecurity en none para desactivar TLS/SSL entre mongod o mongos y el servidor LDAP.

Advertencia

Configurar transportSecurity en none transmite información en texto plano y posiblemente credenciales entre mongod o mongos y el servidor LDAP.

security.ldap.timeoutMS

Tipo: int

Por defecto: 10000

Disponible solamente en MongoDB Enterprise.

La cantidad de tiempo en milisegundos que mongod o mongos debería esperar para que un servidor LDAP responda a una solicitud.

Incrementar el valor de timeoutMS puede evitar la falla de conexión entre el servidor MongoDB y el servidor LDAP, si la causa de la falla es un tiempo de espera de conexión. Disminuir el valor de timeoutMS reduce el tiempo que MongoDB espera una respuesta del servidor LDAP.

Este ajuste se puede configurar en un mongod o mongos en ejecución usando setParameter.

security.ldap.retryCount

Nuevo en la versión 6.1.

Tipo: int

Por defecto: 0

Disponible solamente en MongoDB Enterprise.

Cantidad de reintentos de operación por el administrador del servidor LDAP después de un error de red.

Este ajuste se puede configurar en un mongod o mongos en ejecución usando setParameter.

security.ldap.userToDNMapping

Tipo: string

Disponible solamente en MongoDB Enterprise.

Asocia el nombre de usuario proporcionado a mongod o mongos para la autenticación con un nombre distinguido (DN) de LDAP. Es posible que necesites utilizar userToDNMapping para transformar un nombre de usuario en un nombre distinguido LDAP en los siguientes casos:

  • Realizar autenticación LDAP con enlace simple de LDAP, donde los usuarios se autentican en MongoDB con nombres de usuario que no son nombres distinguidos completos de LDAP.

  • Utilizando un LDAP authorization query template que requiere un nombre distinguido.

  • Transforma los nombres de usuario de los clientes que se autentican en Mongo DB mediante diferentes mecanismos de autenticación (por ejemplo, X.509, kerberos) a un nombre distinguido LDAP completo para la autorización.

userToDNMapping espera una cadena JSON entre comillas que represente un arreglo ordenado de documentos. Cada documento contiene una expresión regular match y una plantilla substitution o ldapQuery utilizada para transformar el nombre de usuario entrante.

Cada documento en el arreglo tiene la siguiente forma:

{
match: "<regex>"
substitution: "<LDAP DN>" | ldapQuery: "<LDAP Query>"
}
Campo
Descripción
Ejemplo

match

Una expresión regular (regex) con formato ECMAScript para hacer coincidir con un nombre de usuario proporcionado. Cada sección entre paréntesis representa un grupo de captura de regex utilizado por substitution o ldapQuery.

"(.+)ENGINEERING" "(.+)DBA"

substitution

Una plantilla de formato de nombre distinguido (DN) de LDAP que convierte el nombre de autenticación que coincide con la expresión regular match en un DN de LDAP. Cada valor numérico encerrado entre llaves se reemplaza por el grupo de captura de regex correspondiente extraído del nombre de usuario de autenticación mediante el regex match.

El resultado de la sustitución debe ser una string escapada RFC4514.

"cn={0},ou=engineering, dc=example,dc=com"

ldapQuery

Una plantilla de formato de query LDAP que inserta el nombre de autenticación que coincide con la expresión regular match en un URI de query LDAP codificado respetando el RFC4515 y el RFC4516. Cada valor numérico encerrado entre llaves se reemplaza por el grupo de captura de regex correspondiente extraído del nombre de usuario de autenticación mediante la expresión match. mongod o mongos ejecuta la query contra el servidor LDAP para recuperar el nombre distinguido LDAP para el usuario autenticado. mongod o mongos requiere exactamente un resultado devuelto para que la transformación sea exitosa, o mongod o mongos omite esta transformación.

"ou=engineering,dc=example, dc=com??one?(user={0})"

Nota

Una explicación de RFC4514, RFC4515, RFC4516, o las consultas LDAP están excluidas de la documentación de MongoDB. Se debe revisar el RFC directamente o usar el recurso LDAP preferido.

Para cada documento del arreglo, debe usar substitution o ldapQuery. No puede especificar ambos en el mismo documento.

Al realizar la autenticación o autorización, mongod o mongos procesa cada documento del arreglo en el orden dado, verificando el nombre de usuario de autenticación contra el filtro match. Si se encuentra una coincidencia, mongod o mongos aplica la transformación y utiliza el resultado para autenticar al usuario. mongod o mongos no verifica los documentos restantes en el arreglo.

Si el documento proporcionado no coincide con el nombre de autenticación dado, mongod o mongos continúa revisando la lista de documentos para encontrar más coincidencias. Si no se encuentran coincidencias en ningún documento, o la transformación que describe el documento falla, mongod o mongos devolverá un error.

mongod o mongos también devuelve un error si una de las transformaciones no puede evaluarse debido a fallos de red o de autenticación en el servidor LDAP. mongod o mongos rechaza la solicitud de conexión y no verifica los documentos restantes en el arreglo.

A partir de MongoDB 5.0, userToDNMapping acepta un string vacío "" o un arreglo vacío [ ] en lugar de un documento de mapeo. Si proporcionas un string vacío o un arreglo vacío a userToDNMapping, MongoDB asigna el nombre de usuario autenticado como el nombre distinguido de LDAP. Anteriormente, proporcionar un documento de mapeo vacío provocaba que el mapeo fallara.

Ejemplo

A continuación, se muestran dos documentos de transformación. El primer documento coincide con cualquier string que termine en @ENGINEERING, colocando todo lo que preceda al sufijo en un grupo de captura de expresiones regulares. El segundo documento coincide con cualquier string que termine en @DBA, colocando todo lo que preceda al sufijo en un grupo de captura de expresiones regulares.

Importante

Debe pasar el arreglo a userToDNMapping como un string.

"[
{
match: "(.+)@ENGINEERING.EXAMPLE.COM",
substitution: "cn={0},ou=engineering,dc=example,dc=com"
},
{
match: "(.+)@DBA.EXAMPLE.COM",
ldapQuery: "ou=dba,dc=example,dc=com??one?(user={0})"
}
]"

Un usuario con el nombre de usuario alice@ENGINEERING.EXAMPLE.COM coincide con el primer documento. El grupo de captura de regex {0} corresponde al string alice. La salida resultante es el nombre distinguido "cn=alice,ou=engineering,dc=example,dc=com".

Un usuario con el nombre de usuario bob@DBA.EXAMPLE.COM coincide con el segundo documento. El grupo de captura de expresiones regulares {0} corresponde al string bob. La salida resultante es la query LDAP "ou=dba,dc=example,dc=com??one?(user=bob)". mongod o mongos ejecuta esta query contra el servidor LDAP, devolviendo el resultado "cn=bob,ou=dba,dc=example,dc=com".

Si userToDNMapping no está configurado, mongod o mongos no aplican ninguna transformación al nombre de usuario al intentar autenticar o autorizar a un usuario contra el servidor LDAP.

Esta configuración se puede establecer en un mongod o mongos en ejecución utilizando el comando de base de datos setParameter.

security.ldap.authz.queryTemplate

Tipo: string

Disponible solamente en MongoDB Enterprise.

Una URL de query LDAP relativa con formato conforme a RFC4515 y RFC4516 que mongod ejecuta para obtener los grupos LDAP a los que pertenece el usuario autenticado. La query es relativa al host o los hosts especificados en security.ldap.servers.

Nota

Para un mejor rendimiento, considera colocar los grupos LDAP utilizados para la autorización de MongoDB en su propia unidad organizativa (OU).

En la URL, puede utilizar los siguientes tokens de sustitución:

Token de sustitución
Descripción

{USER}

Sustituye el nombre de usuario autenticado o el nombre de usuario transformed si se especifica un userToDNMapping.

{PROVIDED_USER}

Sustituye el nombre de usuario proporcionado, es decir, antes de la autenticación o LDAP transformation.

Al crear la URL de consulta, asegúrese de que el orden de los parámetros LDAP respete RFC4516:

[ dn [ ? [attributes] [ ? [scope] [ ? [filter] [ ? [Extensions] ] ] ] ] ]

Si su consulta incluye un atributo, mongod asume que la consulta recupera una lista de nombres distinguidos de los que esta entidad es un nodo.

Si su consulta no incluye un atributo, mongod asume que la consulta recupera todas las entidades de las que el usuario es un nodo.

Para cada nombre distinguido de LDAP devuelto por la consulta, mongod asigna al usuario autorizado un rol correspondiente en la base de datos admin. Si un rol en la base de datos admin coincide exactamente con el nombre distinguido, mongod otorga al usuario los roles y privilegios asignados a ese rol. Consulte el método db.createRole() para obtener más información sobre cómo crear roles.

Ejemplo

Esta query LDAP devuelve cualquier grupo listado en el atributo memberOf del objeto de usuario LDAP.

"{USER}?memberOf?base"

Su configuración LDAP puede no incluir el atributo memberOf como parte del esquema de usuario, puede poseer un atributo diferente para el reporte de la pertenencia a grupos, o puede no rastrear la pertenencia a grupos a través de los atributos. Configure su query con respecto a su propia configuración única de LDAP.

Si no se establece, mongod no puede autorizar a los usuarios usando LDAP.

Aunque puedas modificar el valor del parámetro ldapAuthzQueryTemplate en un mongod en ejecución mediante el comando de base de datos setParameter, no puedes habilitarlo ni deshabilitarlo durante el tiempo de ejecución. Para activar esta configuración, debes configurar security.ldap.authz.queryTemplate en su archivo de configuración durante la iniciación.

Nota

Una explicación de RFC4515, RFC4516 o de las queries LDAP está fuera del alcance de la documentación de MongoDB. Se debe revisar el RFC directamente o usar el recurso LDAP preferido.

security.ldap.validateLDAPServerConfig

Tipo: booleano

Por defecto: true

Disponible en MongoDB Enterprise

Una bandera que determina si la instancia mongod o mongos comprueba la disponibilidad de LDAP server(s) como parte de su iniciación:

  • Si true, la instancia mongod o mongos realiza la verificación de disponibilidad y solo continúa iniciándose si el servidor LDAP está disponible.

  • Si false, la instancia mongod o mongos omite la verificación de disponibilidad; es decir, la instancia se inicia incluso si el servidor LDAP no está disponible.

setParameter

Configure el parámetro o los parámetros de MongoDB descritos en Parametros de MongoDB Server para una implementación autogestionada

Para establecer parámetros en el archivo de configuración YAML, utilice el siguiente formato:

setParameter:
<parameter1>: <value1>
<parameter2>: <value2>

Por ejemplo, para especificar el enableLocalhostAuthBypass en el archivo de configuración:

setParameter:
enableLocalhostAuthBypass: false
setParameter.ldapUserCacheInvalidationInterval

Tipo: int

Por defecto: 30

Para su uso con servidores mongod que utilizan autorización LDAP en Implementaciones Autogestionadas.

El intervalo (en segundos) mongod espera entre los vaciados de caché de usuarios externos. Después de que mongod vacíe la caché de usuario externo, MongoDB vuelve a adquirir los datos de autorización del servidor LDAP la siguiente vez que un usuario autorizado por LDAP realice una operación.

Al aumentar el valor especificado, se incrementa el tiempo mongod y el servidor LDAP puede dejar de sincronizar, pero se reduce la carga en el servidor LDAP. Por el contrario, al disminuir el valor especificado, se reduce el tiempo mongod y el servidor LDAP puede dejar de sincronizar, aumentando la carga en el servidor LDAP.

setParameter:
ldapUserCacheInvalidationInterval: <int>

Cambiado en la versión 6.1:

  • MongoDB siempre permite registrar en la bitácora. Como resultado, MongoDB remueve la opción storage.journal.enabled y las opciones de línea de comandos --journal y --nojournal correspondientes.

storage:
dbPath: <string>
journal:
commitIntervalMs: <num>
directoryPerDB: <boolean>
syncPeriodSecs: <int>
engine: <string>
wiredTiger:
engineConfig:
cacheSizeGB: <number>
journalCompressor: <string>
directoryForIndexes: <boolean>
maxCacheOverflowFileSizeGB: <number>
collectionConfig:
blockCompressor: <string>
indexConfig:
prefixCompression: <boolean>
inMemory:
engineConfig:
inMemorySizeGB: <number>
oplogMinRetentionHours: <double>
storage.dbPath

Tipo: string

Por defecto:

  • /data/db en Linux y macOS

  • \data\db en Windows

El directorio donde la instancia mongod almacena sus datos.

La configuración destorage.dbPath está disponible solo para mongod.

Nota

Archivos de configuración

El archivo de configuración por defecto mongod.conf incluido con las instalaciones del administrador de paquetes utiliza los siguientes valores por defecto específicos de la plataforma para storage.dbPath:

Plataforma
Gestor de paquetes
predeterminado storage.dbPath

RHEL / CentOS y Amazon

yum

/var/lib/mongo

SUSE

zypper

/var/lib/mongo

Ubuntu y Debian

apt

/var/lib/mongodb

macOS

brew

/usr/local/var/mongodb

Los scripts de inicio del paquete Linux no esperan que storage.dbPath cambien de los valores por defecto. Si utilizas los paquetes de Linux y cambias storage.dbPath, deberás utilizar tus propios scripts de inicio y desactivar los scripts incorporados.

storage.journal.commitIntervalMs

Tipo: número

Por defecto: 100

La cantidad máxima de tiempo en milisegundos que el proceso mongod permite entre operaciones de registro en la bitácora. Los valores pueden variar de 1 a 500 milisegundos. Los valores más bajos aumentan la durabilidad de la bitácora, a expensas del rendimiento del disco.

En WiredTiger, el intervalo de confirmación por defecto de la bitácora es de 100 milisegundos. Además, una escritura que incluya o implique j:true provoca una sincronización inmediata de la bitácora. Para obtener más detalles o condiciones adicionales que afectan la frecuencia de la sincronización, consulta el Proceso de registro en la bitácora.

La configuración destorage.journal.commitIntervalMs está disponible solo para mongod.

No está disponible para las instancias de mongod que utilizan el motor de almacenamiento en memoria.

storage.directoryPerDB

Tipo: booleano

Por defecto: false

Cuando true, MongoDB utiliza un directorio separado para almacenar los datos de cada base de datos. Los directorios están en el directorio storage.dbPath, y cada nombre de subdirectorio corresponde al nombre de la base de datos.

La configuración destorage.directoryPerDB está disponible solo para mongod.

No está disponible para las instancias de mongod que utilizan el motor de almacenamiento en memoria.

A partir de MongoDB 5.0, al eliminar la última colección de una base de datos (o la base de datos misma) cuando storage.directoryPerDB está habilitada, se elimina el subdirectorio recién vaciado de esa base de datos.

Para cambiar la opción storage.directoryPerDB para las implementaciones existentes:

  • Para instancias autónomas:

    1. Utiliza mongodump en la instancia mongod existente para generar una copia de seguridad.

    2. Detenga la instancia mongod.

    3. Agrega el valor storage.directoryPerDB y configura un directorio de datos nuevo

    4. Reinicie la instancia de mongod.

    5. Utiliza mongorestore para poblar el nuevo directorio de datos.

  • Para set de réplicas:

    1. Detén un miembro secundario.

    2. Agrega el valor storage.directoryPerDB y configura un nuevo directorio de datos para ese miembro secundario.

    3. Reinicia ese secundario.

    4. Utiliza sincronización inicial para poblar el nuevo directorio de datos.

    5. Actualiza los secundarios restantes de la misma manera.

    6. Despromueva el nodo primario y actualice el nodo despromovido de la misma manera.

storage.syncPeriodSecs

Tipo: número

Por defecto: 60

La cantidad de tiempo que puede transcurrir antes de que MongoDB vacíe los datos en los archivos de datos.

No establezca este valor en sistemas de producción. En casi todas las situaciones, debería utilizar la configuración por defecto.

El proceso mongod guarda datos muy rápidamente en la bitácora y lentamente en los archivos de datos. storage.syncPeriodSecs no tiene ningún efecto sobre el registro en la bitácora, pero si storage.syncPeriodSecs se establece en 0, la bitácora eventualmente consume todo el espacio disponible en disco.

La configuración destorage.syncPeriodSecs está disponible solo para mongod.

No está disponible para las instancias de mongod que utilizan el motor de almacenamiento en memoria.

Para proporcionar datos duraderos, WiredTiger utiliza puntos de control. Para obtener más detalles, consulta Registro en la bitácora y motor de almacenamiento WiredTiger.

storage.engine

Por defecto: wiredTiger

El motor de almacenamiento para la base de datos mongod. Los valores disponibles incluyen:

Valor
Descripción

wiredTiger

inMemory

Para especificar el Motor de almacenamiento en memoria para implementaciones autogestionadas.

Disponible solamente en MongoDB Enterprise.

Si intentas iniciar mongod con un storage.dbPath que contiene archivos de datos producidos por un motor de almacenamiento distinto al especificado por storage.engine, mongod no se iniciará.

storage.oplogMinRetentionHours

Tipo: doble

Especifica el número mínimo de horas para preservar una entrada de OpLog, donde los valores decimales representan las fracciones de una hora. Por ejemplo, un valor de 1.5 representa una hora y treinta minutos.

El valor debe ser mayor o igual a 0. Un valor de 0 indica que el mongod debe truncar el oplog comenzando con las entradas más antiguas para mantener el tamaño máximo de oplog configurado.

Se establece por defecto en 0.

Un mongod iniciado con oplogMinRetentionHours solo remueve una entrada de oplog si:

  • El oplog ha alcanzado el tamaño de oplog máximo configurado y

  • La entrada del oplog es más antigua que el número de horas configurado según el reloj del sistema del host.

El mongod tiene el siguiente comportamiento cuando se configura con un período mínimo de retención de oplog:

  • El oplog puede crecer sin restricciones para retener las entradas del oplog durante el número de horas configurado. Esto puede resultar en la reducción o el agotamiento del espacio en disco del sistema debido a una combinación de un alto volumen de guardado y un largo período de retención.

  • Si el oplog crece más allá de su tamaño máximo, el mongod puede continuar ocupando ese espacio en disco incluso si el oplog regresa a su tamaño máximo o se configura para un tamaño máximo menor. Consulte La reducción del tamaño del Oplog no devuelve inmediatamente el espacio en disco.

  • El mongod compara el reloj de pared del sistema con el tiempo de creación del reloj de pared de una entrada de oplog al aplicar la retención de entradas de oplog. La deriva de reloj entre los componentes del clúster puede dar lugar a un comportamiento inesperado de retención de oplog. Consulta la sincronización del reloj para obtener más información sobre esta sincronización entre los miembros del clúster.

Para cambiar el período mínimo de retención del OpLog después de iniciar el mongod, utilice replSetResizeOplog. replSetResizeOplog le permite redimensionar el oplog dinámicamente sin reiniciar el proceso de mongod. Para que los cambios realizados usando replSetResizeOplog persistan tras un reinicio, actualice el valor de oplogMinRetentionHours.

storage:
wiredTiger:
engineConfig:
cacheSizeGB: <number>
journalCompressor: <string>
directoryForIndexes: <boolean>
maxCacheOverflowFileSizeGB: <number>
collectionConfig:
blockCompressor: <string>
indexConfig:
prefixCompression: <boolean>
storage.wiredTiger.engineConfig.cacheSizeGB

Tipo: float

Define el tamaño máximo de la caché interna que WiredTiger utiliza para todos los datos. La memoria que consume la creación de índices (consulte maxIndexBuildMemoryUsageMegabytes) es independiente de la memoria caché de WiredTiger.

Los valores pueden variar entre 0.25 GB y 10000 GB.

El tamaño de caché interno por defecto de WiredTiger es el mayor de los siguientes:

  • 50% de (RAM - 1GB), o

  • 0.256 GB.

Por ejemplo, en un sistema con un total de 4GB de RAM, la caché de WiredTiger usa 1.5GB de RAM (0.5 * (4GB - 1GB) = 1.5 GB). Al proporcionar un tamaño de caché específico, asegúrese de que la RAM no supere los límites de 0.256GB a 10000GB.

Evite aumentar el tamaño de la caché interna de WiredTiger por encima de su valor predeterminado. Si su caso lo requiere, puede usar --wiredTigerCacheSizePct para tener en cuenta los cambios en la memoria debidos a la vertical. Debe especificar un porcentaje de hasta el 80% de la memoria disponible. Los valores calculados pueden variar entre 0.256GB y 10000GB. Por ejemplo, en un sistema con 2GB de RAM, --wiredTigerCacheSizePct no se puede establecer en 10 porque el 10% de 2GB es 0.2 GB, que es menor que 0.256GB.

Nota

En algunos casos, como al ejecutarse en un contenedor configurado para usar menos RAM que la memoria asignada al host, es necesario tener en cuenta los límites. Es posible que deba configurar la caché de WiredTiger con un valor adecuado, ya que WiredTiger podría no tener en cuenta los límites de memoria del contenedor específico en ciertos casos.

Para ver, el valor que WiredTiger utiliza como memory limit hostInfo la cantidad máxima de RAM disponible, utilice el comando.

Se debe evitar aumentar el tamaño de la caché interna de WiredTiger por encima de su valor por defecto.

Con WiredTiger, MongoDB utiliza tanto la caché interna de WiredTiger como la caché del sistema de archivos.

Con la caché del sistema de archivos, MongoDB utiliza automáticamente toda la memoria libre que no está siendo utilizada por la caché de WiredTiger ni por otros procesos.

Nota

El storage.wiredTiger.engineConfig.cacheSizeGB limita el tamaño de la caché interna de WiredTiger. El sistema operativo utiliza la memoria libre disponible para la caché del sistema de archivos, lo que permite que los archivos de datos comprimidos de MongoDB permanezcan en la memoria. Además, el sistema operativo utiliza cualquier RAM libre para almacenar en búfer los bloques del sistema de archivos y la caché del sistema de archivos.

Para acomodar a los consumidores adicionales de RAM, es posible que debas reducir el tamaño de la caché interna de WiredTiger.

El valor predeterminado del tamaño de la caché interna de WiredTiger asume que hay una sola mongod instancia por máquina. Si una sola máquina contiene varias instancias de MongoDB, debe reducir el valor para acomodar las otras instancias.mongod

Si ejecuta mongod en un contenedor (por ejemplo, lxc, cgroups, Docker, etc.) que no tiene acceso a toda la RAM disponible en un sistema, debe establecer storage.wiredTiger.engineConfig.cacheSizeGB en un valor inferior a la cantidad de RAM disponible en el contenedor. La cantidad exacta depende de los otros procesos que se ejecutan en el contenedor. Vea memLimitMB.

storage.wiredTiger.engineConfig.journalCompressor

Por defecto: snappy

Especifica el tipo de compresión que se debe usar para comprimir los datos de registro en la bitácora de WiredTiger.

Los compresores disponibles son:

storage.wiredTiger.engineConfig.directoryForIndexes

Tipo: booleano

Por defecto: false

Cuando storage.wiredTiger.engineConfig.directoryForIndexes es true, mongod almacena índices y colecciones en subdirectorios separados dentro de la carpeta de datos (es decir, el directorio storage.dbPath). Específicamente, mongod almacena los índices en un subdirectorio llamado index y los datos de la colección en un subdirectorio llamado collection.

Al utilizar un enlace simbólico, puedes especificar una ubicación diferente para los índices. Específicamente, cuando la instancia de mongod no esté en ejecución, mueve el subdirectorio index al destino y crea un enlace simbólico llamado index en el directorio de datos hacia el nuevo destino.

storage.wiredTiger.engineConfig.zstdCompressionLevel

Tipo: entero

Por defecto: 6

Especifica el nivel de compresión aplicado al usar el compresor zstd.

Los valores pueden variar entre 1 y 22.

Cuanto mayor sea el valor especificado para zstdCompressionLevel, mayor será la compresión que se aplicará.

Solo es aplicable cuando blockCompressor o journalCompressor (o ambos) están configurados en zstd.

Disponible a partir de MongoDB 5.0

storage.wiredTiger.collectionConfig.blockCompressor

Por defecto: snappy

Especifica la compresión por defecto para los datos de la colección. Puede anular esto por colección al crear colecciones.

Los compresores disponibles son:

storage.wiredTiger.collectionConfig.blockCompressor afecta a todas las colecciones creadas. Si cambias el valor de storage.wiredTiger.collectionConfig.blockCompressor en una implementación existente de MongoDB, todas las colecciones nuevas usarán el compresor especificado. Las colecciones existentes continúan utilizando el compresor especificado cuando se crearon, o el compresor por defecto en ese momento.

storage.wiredTiger.indexConfig.prefixCompression

Por defecto: true

Habilita o deshabilita Reducción de prefijo para los datos de índice.

Especifica true para storage.wiredTiger.indexConfig.prefixCompression para activar la reducción de prefijos para los datos de índice, o false para desactivar la reducción de prefijos para los datos de índice.

La configuración de storage.wiredTiger.indexConfig.prefixCompression afecta a todos los índices creados. Si cambias el valor de storage.wiredTiger.indexConfig.prefixCompression en una implementación de MongoDB existente, todos los índices nuevos utilizan la reducción de prefijo. Los índices existentes no se ven afectados.

storage:
inMemory:
engineConfig:
inMemorySizeGB: <number>
storage.inMemory.engineConfig.inMemorySizeGB

Tipo: float

Por defecto: 50 % de la RAM física menos 1 GB

Los valores pueden estar en un rango de 256 MB a 10 TB y pueden ser de tipo flotante.

Cantidad máxima de memoria a asignar para los datos del motor de almacenamiento en memoria, incluidos los índices, el oplog si el mongod es parte de un set de réplicas, metadatos de set de réplicas o de clúster fragmentado, etc.

Por defecto, el motor de almacenamiento en memoria utiliza el 50% de la RAM física menos 1 GB.

Nota

Característica de la empresa

Disponible solamente en MongoDB Enterprise.

operationProfiling:
mode: <string>
slowOpThresholdMs: <int>
slowOpSampleRate: <double>
filter: <string>
operationProfiling.mode

Tipo: string

Por defecto: off

Especifica qué operaciones se deben perfilar. Los siguientes niveles de perfilador están disponibles:

Nivel
Descripción

off

El perfilador está desactivado y no recopila ningún dato. Este es el nivel de perfilador por defecto. Este nivel corresponde al nivel 0 del perfilador.

slowOp

El perfilador recopila datos para operaciones que tardan más tiempo que el valor de slowms. Este nivel corresponde al perfilador nivel 1.

all

El perfilador recopila datos de todas las operaciones. Este nivel corresponde al nivel 2 del perfilador.

Advertencia

El perfilado puede degradar el rendimiento y exponer datos de la consulta no cifrados en el registro del sistema. Considera detenidamente cualquier implicación de rendimiento y seguridad antes de configurar y activar el perfilador en una implementación de producción.

Consulte Sobrecarga del perfilador para obtener más información sobre la posible degradación del rendimiento.

operationProfiling.slowOpThresholdMs

Tipo: entero

Por defecto: 100

El umbral de tiempo de operación lenta, en milisegundos. Las operaciones que se ejecutan durante más tiempo que este umbral se consideran lentas.

Cuando logLevel se establece en 0, MongoDB registra las operaciones lentas en el registro de diagnóstico a una tasa determinada por slowOpSampleRate.

Con configuraciones más altas de logLevel, todas las operaciones aparecen en el registro de diagnóstico independientemente de su latencia, con la siguiente excepción: el registro de mensajes de entrada de oplog lentos por parte de los secundarios. Los secundarios solo registran las entradas de oplog lentas; aumentar el logLevel no registra todas las entradas de oplog.

Esta configuración está disponible para mongod y mongos.

  • Para las instancias mongod, la configuración afecta tanto al registro de diagnóstico como, si está activado, al perfilador.

  • Para las instancias de mongos, la configuración afecta únicamente al registro de diagnóstico y no al perfilador, ya que la creación de perfiles no está disponible en mongos.

operationProfiling.slowOpSampleRate

Tipo: doble

Por defecto: 1.0

La fracción de operaciones lentas que se deben perfilar o registrar. operationProfiling.slowOpSampleRate acepta valores entre 0 y 1, inclusive.

La configuración slowOpSampleRate está disponible para mongod y mongos.

  • Para las instancias mongod, la configuración afecta tanto al registro de diagnóstico como, si está activado, al perfilador.

  • Para las instancias de mongos, la configuración afecta únicamente al registro de diagnóstico y no al generador de perfiles, ya que la generación de perfiles no está disponible en mongos.

operationProfiling.filter

Tipo: representación en cadena de caracteres de un documento de consulta.

Una expresión de filtro que controla qué operaciones se perfilan y se registran.

Cuando el filter está configurado, slowOpThresholdMs y slowOpSampleRate no se utilizan para la creación de perfiles y las líneas de registro de queries lentas.

Cuando configuras un filtro de perfil en el archivo de configuración, el filtro se aplica a todas las bases de datos en la implementación. Para establecer un filtro de perfil para una base de datos específica, utiliza el método db.setProfilingLevel().

La opción toma una representación en forma de string de un documento de query del tipo:

{ <field1>: <expression1>, ... }

El <field> puede ser cualquier campo en la salida del perfilador. El <expression> es una expresión de condición de query.

Para especificar un filtro de perfilado en un archivo de configuración, debes:

  • Encierra el documento de filtro entre comillas simples para pasar el documento como un string.

  • Utilice el formato YAML del archivo de configuración.

Por ejemplo, el siguiente filter configura el perfilador para registrar las operaciones query que tarden más de 2 segundos:

operationProfiling:
mode: all
filter: '{ op: "query", millis: { $gt: 2000 } }'
replication:
oplogSizeMB: <int>
replSetName: <string>
enableMajorityReadConcern: <boolean>
replication.oplogSizeMB

Tipo: entero

El tamaño máximo en megabytes para el OpLog. La configuración oplogSizeMB establece el tamaño sin comprimir del oplog, no el tamaño en disco.

Nota

El oplog puede crecer más allá de su límite de tamaño configurado para evitar borrar el majority commit point.

Por defecto, el proceso mongod crea un OpLog basado en la cantidad máxima de espacio disponible. Para sistemas de 64bits, el oplog suele ser el 5% del espacio de disco disponible.

Una vez que mongod haya creado el oplog por primera vez, cambiar la opción replication.oplogSizeMB no afecta el tamaño del oplog. Para cambiar el tamaño máximo del oplog después de iniciar mongod, se debe usar replSetResizeOplog. replSetResizeOplog permite redimensionar el oplog dinámicamente sin reiniciar el proceso de mongod. Para que los cambios realizados mediante replSetResizeOplog persistan tras un reinicio, se debe actualizar el valor de oplogSizeMB.

Consulta Tamaño del Oplog para obtener más información.

La configuración dereplication.oplogSizeMB está disponible solo para mongod.

replication.replSetName

Tipo: string

El nombre del set de réplicas del que mongod forma parte. Todos los hosts en el set de réplicas deben tener el mismo nombre del conjunto.

Si la aplicación se conecta a más de un set de réplicas, cada set debe tener un nombre distinto. Algunos drivers agrupan las conexiones del set de réplicas por nombre del set de réplicas.

La configuración dereplication.replSetName está disponible solo para mongod.

replication.replSetName no puede utilizarse en conjunto con storage.indexBuildRetry.

replication.enableMajorityReadConcern

Por defecto: true

Configura el soporte para el nivel de consistencia de lectura "majority".

A partir de MongoDB 5.0, enableMajorityReadConcern no se puede cambiar y siempre se establece en true. Intentar iniciar un motor de almacenamiento que no admite el nivel de consistencia de lectura de la mayoría con la opción --enableMajorityReadConcern falla y devuelve un mensaje de error.

En versiones anteriores de MongoDB, enableMajorityReadConcern era configurable.

Advertencia

Si está utilizando una arquitectura de tres nodos de primario-secundario-árbitro (PSA), considere lo siguiente:

  • El nivel de confirmación de escritura "majority" puede causar problemas de rendimiento si un secundario no está disponible o está retrasado. Para obtener consejos sobre cómo mitigar estos problemas, consulta Mitigar problemas de rendimiento con un set de réplicas de PSA autogestionado.

  • Si estás utilizando un "majority" global por defecto y el nivel de confirmación de escritura es menor que el tamaño de la mayoría, tus consultas pueden devolver datos obsoletos (no completamente replicados).

sharding:
clusterRole: <string>
archiveMovedChunks: <boolean>
sharding.clusterRole

Tipo: string

El rol que la instancia de mongod tiene en el clúster fragmentado. Establezca esta configuración en una de las siguientes:

Valor
Descripción

configsvr

Inicia esta instancia como un servidor de configuración. La instancia se inicia en el puerto 27019 por defecto.

Cuando configure una instancia de MongoDB como clusterRole configsvr, también debe especificar un replSetName.

shardsvr

Inicie esta instancia como un fragmento. La instancia se inicia en el puerto 27018 por defecto.

Cuando configures una instancia de MongoDB como un clusterRole shardsvr, también debes especificar un replSetName.

Nota

Configurar sharding.clusterRole requiere que la instancia mongod esté en ejecución con replicación. Para implementar la instancia como miembro de un Set de réplicas, utiliza la configuración replSetName y especifica el nombre del Set de réplicas.

La configuración desharding.clusterRole está disponible solo para mongod.

sharding.archiveMovedChunks

Tipo: booleano

Por defecto: falso.

Durante la migración de fragmentos, una partición no guarda los documentos migrados desde sí misma.

Nota

Disponible solo en MongoDB Enterprise y MongoDB Atlas.

auditLog:
destination: <string>
format: <string>
path: <string>
filter: <string>
auditLog.auditEncryptionKeyIdentifier

Tipo: string

Novedades en la versión 6.0.

Especifica el identificador único de la clave del Protocolo de Interoperabilidad de Gestión de Claves (KMIP) para el cifrado del registro de auditoría.

No puede usar auditLog.auditEncryptionKeyIdentifier y auditLog.localAuditKeyFile al mismo tiempo.

Nota

Disponible solo en MongoDB Enterprise. MongoDB Enterprise y Atlas tienen diferentes requisitos de configuración.

auditLog.compressionMode

Tipo: string

Novedades en la versión 5.3.

Especifica el modo de compresión para el cifrado de registros de auditoría. Debes también habilitar el cifrado del registro de auditoría con auditLog.auditEncryptionKeyIdentifier o auditLog.localAuditKeyFile.

auditLog.compressionMode puede configurarse en uno de estos valores:

Valor
Descripción

zstd

Utiliza el algoritmo zstd para comprimir el registro de auditoría.

none (por defecto)

No comprimas el registro de auditoría.

Nota

Disponible solo en MongoDB Enterprise. MongoDB Enterprise y Atlas tienen diferentes requisitos de configuración.

auditLog.destination

Tipo: string

Cuando se establece, auditLog.destination habilita la auditoría y especifica dónde mongos o mongod envían todos los eventos de auditoría.

auditLog.destination puede tener uno de los siguientes valores:

Valor
Descripción

syslog

Registra los eventos de auditoría en syslog en formato JSON. No está disponible en Windows. Los mensajes de auditoría tienen un nivel de severidad syslog de info y un nivel de facilidad de user.

El límite de mensajes de syslog puede resultar en el truncamiento de los mensajes de auditoría. El sistema de auditoría no detecta ni el truncamiento ni los errores cuando ocurren.

console

Genera los eventos de auditoría en stdout en formato JSON.

file

Exporta los eventos de auditoría al archivo especificado en auditLog.path en el formato especificado en auditLog.format.

Nota

Disponible solo en MongoDB Enterprise y MongoDB Atlas.

auditLog.filter

Tipo: representación en cadena de caracteres de un documento

El filtro para limitar los tipos de operaciones que el sistema de auditoría registra. La opción toma una representación en forma de string de un documento de query del tipo:

{ <field1>: <expression1>, ... }

El <field> puede ser cualquier campo en el mensaje de auditoría, incluidos los campos devueltos en el documento param. La <expression> es una expresión de condición de query.

Para especificar un filtro de auditoría, encierre el documento del filtro entre comillas simples para pasarlo como un string.

Para especificar el filtro de auditoría en un archivo de configuración, debes usar el formato YAML del archivo de configuración.

Nota

Disponible solo en MongoDB Enterprise y MongoDB Atlas.

auditLog.format

Tipo: string

El formato del archivo de salida para auditoría si destination es file. La opción auditLog.format puede tener uno de los siguientes valores:

Valor
Descripción

JSON

Exporta los eventos de auditoría en formato JSON al archivo especificado en auditLog.path.

BSON

Exporta los eventos de auditoría en formato binario BSON en el archivo especificado en auditLog.path.

La impresión de eventos de auditoría en un archivo en formato JSON degrada el rendimiento del servidor más que imprimirlos en un archivo en formato BSON.

Nota

Disponible solo en MongoDB Enterprise y MongoDB Atlas.

auditLog.localAuditKeyFile

Tipo: string

Novedades en la versión 5.3.

Especifica la ruta y el nombre de archivo para un archivo de clave de auditoría local para el cifrado del registro de auditoría.

Nota

Utilice auditLog.localAuditKeyFile solo para pruebas porque la clave no está segura. Para asegurar la clave, utilice auditLog.auditEncryptionKeyIdentifier y un servidor externo del Protocolo de Interoperabilidad de Gestión de Claves (KMIP).

No puede usar auditLog.localAuditKeyFile y auditLog.auditEncryptionKeyIdentifier al mismo tiempo.

Nota

Disponible solo en MongoDB Enterprise. MongoDB Enterprise y Atlas tienen diferentes requisitos de configuración.

auditLog.path

Tipo: string

El archivo de salida para auditar si destination tiene un valor de file. La opción auditLog.path puede aceptar un nombre de ruta completo o un nombre de ruta relativa.

auditLog.runtimeConfiguration

Tipo: booleano

Especifica si un nodo permite la configuración en tiempo de ejecución de los filtros de auditoría y la variable auditAuthorizationSuccess. Si true, el nodo puede participar en la gestión de filtros de auditorías en línea.

replication:
localPingThresholdMs: <int>
sharding:
configDB: <string>
replication.localPingThresholdMs

Tipo: entero

Por defecto: 15

El tiempo de ping, en milisegundos, que mongos utiliza para determinar a qué miembros del set de réplicas secundarios pasar las operaciones de lectura de los clientes. El valor por defecto de 15 corresponde al valor por defecto en todos los controladores cliente.

Cuando mongos recibe una solicitud que permite lecturas a los miembros secundarios, el mongos:

  • Encuentra el nodo del conjunto con el tiempo de ping más bajo.

  • Construye una lista de nodos del set de réplicas que están dentro de un tiempo de ping de 15 milisegundos del nodo adecuado más cercano del set.

    Si especificas un valor para la opción replication.localPingThresholdMs, mongos construirá la lista de miembros de la réplica que están dentro de la latencia permitida por este valor.

  • Selecciona un nodo al azar de esta lista para leer.

El tiempo de ping utilizado para un nodo comparado por la configuración replication.localPingThresholdMs es un promedio móvil de los tiempos de ping recientes, calculado como máximo cada 10 segundos. Como resultado, algunas queries pueden llegar a nodos por encima del umbral hasta que mongos recalcule el promedio.

Consulta la sección Preferencia de lectura para sets de réplicas de la documentación sobre preferencia de lectura para obtener más información.

sharding.configDB

Tipo: string

Los servidores de configuración para el clúster compartido.

Los servidores de configuración para clústeres fragmentados se implementan como un set de réplicas. Los servidores de configuración del set de réplicas deben ejecutar el motor de almacenamiento WiredTiger.

Especifica el nombre del set de réplicas del servidor de configuración y el nombre de host y el puerto de al menos uno de los nodos del set de réplicas del servidor de configuración.

sharding:
configDB: <configReplSetName>/cfg1.example.net:27019, cfg2.example.net:27019,...

Las instancias mongos para el clúster fragmentado deben especificar el mismo nombre del set de réplicas del servidor de configuración, pero pueden especificar el nombre de host y el puerto de diferentes nodos del set de réplicas.

processManagement:
windowsService:
serviceName: <string>
displayName: <string>
description: <string>
serviceUser: <string>
servicePassword: <string>
processManagement.windowsService.serviceName

Tipo: string

Por defecto: MongoDB

El nombre del servicio de mongos o mongod cuando se ejecuta como un servicio de Windows. Utiliza este nombre con las operaciones net start <name> y net stop <name>.

Debes usar processManagement.windowsService.serviceName en conjunto con la opción --install o --remove.

processManagement.windowsService.displayName

Tipo: string

Por defecto: MongoDB

El nombre listado para MongoDB en la aplicación administrativa de servicios.

processManagement.windowsService.description

Tipo: string

Por defecto: MongoDB Server

Ejecute mongos o la descripción del servicio mongod.

Debe usar processManagement.windowsService.description junto con la opción --install.

Para las descripciones que contienen espacios, debes encerrar la descripción entre comillas.

processManagement.windowsService.serviceUser

Tipo: string

El servicio mongos o mongod en el contexto de un usuario concreto. Este usuario debe tener privilegios de "Iniciar sesión como un servicio".

Debe usar processManagement.windowsService.serviceUser junto con la opción --install.

processManagement.windowsService.servicePassword

Tipo: string

La contraseña para <user> de mongos o mongod al ejecutarse con la opción processManagement.windowsService.serviceUser.

Debe usar processManagement.windowsService.servicePassword junto con la opción --install.

MongoDB borró el motor de almacenamiento MMAPv1 obsoleto y las opciones de configuración específicas de MMAPv1:

Ajustes eliminados del archivo de configuración
Opción de línea de comando eliminada

storage.mmapv1.journal.commitIntervalMs

storage.mmapv1.journal.debugFlags

mongod --journalOptions

storage.mmapv1.nsSize

mongod --nssize

storage.mmapv1.preallocDataFiles

mongod --noprealloc

storage.mmapv1.quota.enforced

mongod --quota

storage.mmapv1.quota.maxFilesPerDB

mongod --quotaFiles

storage.mmapv1.smallFiles

mongod --smallfiles

storage.repairPath

mongod --repairpath

replication.secondaryIndexPrefetch

mongod --replIndexPrefetch

Para versiones anteriores de MongoDB, consulta la documentación antigua.

Volver

Gestiona procesos de mongod

En esta página