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.
archivo de configuración
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
yumoapten Linux obrewen macOS, o con el instalador MSI en Windows, se ha proporcionado un archivo de configuración por defecto como parte de su instalación:PlataformaMétodoarchivo de configuraciónLinux
aptAdministrador de paquetesyumozypper./etc/mongod.confmacOS
brewGestor 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.cfgSi se instaló MongoDB a través de un archivo descargado de
TGZoZIP, se debe crear un archivo propio de configuración. La configuración básica de ejemplo es un buen punto de partida.
Formato de archivo
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. |
Valores obtenidos externamente
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 Si el archivo de configuración incluye la expansión | |
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 |
Para obtener la documentación completa,consulte Valores de archivos de configuración de origen externo para implementaciones autoadministradas.
Utilice el archivo de configuración
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.
Directrices de expansión y --configExpand
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.
Opciones principales
systemLog opciones
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.verbosityTipo: 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
0a5:0es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.1a5aumenta 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.verbositypara establecer el nivel de verbosidad específicamente para los componentesACCESS.Consulte la configuración de
systemLog.component.<name>.verbositypara 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 especificabanDpara el nivel de depuración.
systemLog.quietTipo: booleano
Por defecto: false
Ejecute
mongosomongoden un modo silencioso que intente limitar la cantidad de salida.systemLog.quietno se recomienda para sistemas de producción, ya que puede dificultar mucho el seguimiento de problemas durante conexiones específicas.
systemLog.traceAllExceptionsTipo: 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.syslogFacilityTipo: 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.destinationensyslog.
systemLog.pathTipo: string
La ruta de la entrada de registro a la que
mongodomongosdebe 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.pathcambien de los valores por defecto. Si utilizas los paquetes de Linux y cambiassystemLog.path, deberás utilizar tus propios scripts de inicio y desactivar los scripts incorporados.
systemLog.logAppendTipo: booleano
Por defecto: false
Cuando
true,mongosomongodagrega nuevas entradas al final del archivo de registro existente cuando se reinicia la instancia. Sin esta opción,mongodomongosrealiza una copia de seguridad del registro existente y crea un nuevo archivo.
systemLog.logRotateTipo: string
Por defecto: renombrar
Determina el comportamiento del comando
logRotateal rotar el registro del servidor y/o el registro para auditoría. Especifique ya searenameoreopen:renameRenombra la entrada de registro.reopenCierra y vuelve a abrir la entrada de registro siguiendo el comportamiento típico de rotación de registros en Linux/Unix. Utilicereopencuando 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 establecersystemLog.logAppendatrue.
systemLog.destinationTipo: string
El destino al que MongoDB envía todos los registros de salida. Especifica
fileosyslog. Si especificasfile, también debes especificarsystemLog.path.Si no especificas
systemLog.destination, MongoDB envía toda la salida de registro a la salida estándar.Advertencia
El demonio
sysloggenera 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ónfilepara los sistemas de producción a fin de asegurar marcas de tiempo precisas.
systemLog.timeStampFormatTipo: string
Default: iso8601-local
El formato de hora para las marcas de tiempo en los mensajes de registro. Especifique uno de los siguientes valores:
ValorDescripcióniso8601-utcMuestra 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.000Ziso8601-localMuestra 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:00Nota
systemLog.timeStampFormatya no es compatible conctime. Un ejemplo de una fecha con formatoctimees:Wed Dec 31 18:17:54.811.
systemLog.component opciones
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.verbosityTipo: 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.verbosityTipo: 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
0a5:0es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.1a5aumenta el nivel de verbosidad para incluir mensajes de depuración.
systemLog.component.command.verbosityTipo: 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
0a5:0es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.1a5aumenta el nivel de verbosidad para incluir mensajes de depuración.
systemLog.component.control.verbosityTipo: 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
0a5:0es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.1a5aumenta el nivel de verbosidad para incluir mensajes de depuración.
systemLog.component.ftdc.verbosityTipo: 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
0a5:0es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.1a5aumenta el nivel de verbosidad para incluir mensajes de depuración.
systemLog.component.geo.verbosityTipo: 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
0a5:0es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.1a5aumenta el nivel de verbosidad para incluir mensajes de depuración.
systemLog.component.index.verbosityTipo: 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
0a5:0es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.1a5aumenta el nivel de verbosidad para incluir mensajes de depuración.
systemLog.component.network.verbosityTipo: 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
0a5:0es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.1a5aumenta el nivel de verbosidad para incluir mensajes de depuración.
systemLog.component.query.verbosityTipo: 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
0a5:0es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.1a5aumenta el nivel de verbosidad para incluir mensajes de depuración.
systemLog.component.queryStats.verbosityTipo: 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 deQUERYSTATS.El nivel de verbosidad puede variar de
0a5:0es el nivel de verbosidad de registro por defecto, y solo incluye mensajes informativos. No se registran llamadas de$queryStatsen este nivel.1a2incrementa el nivel de verbosidad para incluir llamadas a$queryStatsdondealgorithmes"hmac-sha-256". Cualquier clave HMAC está redactada.3a5incrementa el nivel de verbosidad para incluir llamadas$queryStatsdondealgorithmes"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.verbosityTipo: 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
0a5:0es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.1a5aumenta el nivel de verbosidad para incluir mensajes de depuración.
systemLog.component.replication.election.verbosityTipo: 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.verbosityno está configurado, el nivel desystemLog.component.replication.verbositytambién se aplica a los componentes de elección.El nivel de verbosidad puede variar de
0a5:0es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.1a5aumenta el nivel de verbosidad para incluir mensajes de depuración.
systemLog.component.replication.heartbeats.verbosityTipo: 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.verbosityno está configurado, el nivel desystemLog.component.replication.verbositytambién se aplica a los componentes de latidos cardíacos.El nivel de verbosidad puede variar de
0a5:0es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.1a5aumenta el nivel de verbosidad para incluir mensajes de depuración.
systemLog.component.replication.initialSync.verbosityTipo: 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.verbosityno está establecido, el nivel desystemLog.component.replication.verbositytambién se aplica a los componentes de initialSync.El nivel de verbosidad puede variar de
0a5:0es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.1a5aumenta el nivel de verbosidad para incluir mensajes de depuración.
systemLog.component.replication.rollback.verbosityTipo: 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.verbosityno está establecido, el nivelsystemLog.component.replication.verbositytambién se aplica a los componentes de rollback.El nivel de verbosidad puede variar de
0a5:0es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.1a5aumenta el nivel de verbosidad para incluir mensajes de depuración.
systemLog.component.sharding.verbosityTipo: 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
0a5:0es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.1a5aumenta el nivel de verbosidad para incluir mensajes de depuración.
systemLog.component.storage.verbosityTipo: 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.verbosityno está configurado, el nivel desystemLog.component.storage.verbositytambién se aplica a los componentes de bitácora.El nivel de verbosidad puede variar de
0a5:0es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.1a5aumenta el nivel de verbosidad para incluir mensajes de depuración.
systemLog.component.storage.journal.verbosityTipo: 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.verbosityno está configurado, los componentes de registro tienen el mismo nivel de verbosidad que los componentes de almacenamiento principales: es decir, el nivel desystemLog.component.storage.verbositysi está configurado o el nivel de verbosidad por defecto.El nivel de verbosidad puede variar de
0a5:0es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.1a5aumenta el nivel de verbosidad para incluir mensajes de depuración.
systemLog.component.storage.recovery.verbosityTipo: 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.verbosityno está configurado, el nivel desystemLog.component.storage.verbositytambién se aplica a los componentes de recuperación.El nivel de verbosidad puede variar de
0a5:0es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.1a5aumenta el nivel de verbosidad para incluir mensajes de depuración.
systemLog.component.storage.wt.verbosityTipo: 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
WTcomponentes.El nivel de verbosidad puede variar de
0a5:0es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.1a5aumenta el nivel de verbosidad para incluir mensajes de depuración.
systemLog.component.storage.wt.wtBackup.verbosityTipo: 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
0a5:0es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.1a5aumenta el nivel de verbosidad para incluir mensajes de depuración.
systemLog.component.storage.wt.wtCheckpoint.verbosityTipo: 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
0a5:0es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.1a5aumenta el nivel de verbosidad para incluir mensajes de depuración.
systemLog.component.storage.wt.wtCompact.verbosityTipo: 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
0a5:0es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.1a5aumenta el nivel de verbosidad para incluir mensajes de depuración.
systemLog.component.storage.wt.wtEviction.verbosityTipo: 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
0a5:0es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.1a5aumenta el nivel de verbosidad para incluir mensajes de depuración.
systemLog.component.storage.wt.wtHS.verbosityTipo: 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
0a5:0es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.1a5aumenta el nivel de verbosidad para incluir mensajes de depuración.
systemLog.component.storage.wt.wtRecovery.verbosityTipo: 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
0a5:0es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.1a5aumenta el nivel de verbosidad para incluir mensajes de depuración.
systemLog.component.storage.wt.wtRTS.verbosityTipo: 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
0a5:0es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.1a5aumenta el nivel de verbosidad para incluir mensajes de depuración.
systemLog.component.storage.wt.wtSalvage.verbosityTipo: 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
0a5:0es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.1a5aumenta el nivel de verbosidad para incluir mensajes de depuración.
systemLog.component.storage.wt.wtTimestamp.verbosityTipo: 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
0a5:0es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.1a5aumenta el nivel de verbosidad para incluir mensajes de depuración.
systemLog.component.storage.wt.wtTransaction.verbosityTipo: 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
0a5:0es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.1a5aumenta el nivel de verbosidad para incluir mensajes de depuración.
systemLog.component.storage.wt.wtVerify.verbosityTipo: 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
0a5:0es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.1a5aumenta el nivel de verbosidad para incluir mensajes de depuración.
systemLog.component.storage.wt.wtWriteLog.verbosityTipo: 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
0a5:0es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.1a5aumenta el nivel de verbosidad para incluir mensajes de depuración.
systemLog.component.transaction.verbosityTipo: 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
0a5:0es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.1a5aumenta el nivel de verbosidad para incluir mensajes de depuración.
systemLog.component.write.verbosityTipo: 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
0a5:0es el nivel de verbosidad de registro por defecto de MongoDB, para incluir mensajes informativos.1a5aumenta el nivel de verbosidad para incluir mensajes de depuración.
processManagement opciones
processManagement: fork: <boolean> pidFilePath: <string> timeZoneInfo: <string>
processManagement.forkTipo: booleano
Por defecto: false
Activa el modo demonio que ejecuta el proceso
mongosomongoden segundo plano. Por defecto,mongosomongodno se ejecuta como un demonio. Para usarmongosomongodcomo un demonio, configuraprocessManagement.forko usa un proceso de control que gestione el proceso de demonización (por ejemplo,systemd).La opción
processManagement.forkno es compatible con Windows.Los scripts de inicio del paquete Linux no esperan que
processManagement.forkcambien de los valores por defecto. Si utilizas los paquetes de Linux y cambiasprocessManagement.fork, deberás utilizar tus propios scripts de inicio y desactivar los scripts incorporados.
processManagement.pidFilePathTipo: string
Especifica una ubicación de archivo para almacenar el ID de proceso (PID) del proceso
mongosomongod. El usuario que ejecuta el procesomongodomongosdebe poder guardar en esta ruta. Si no se especifica la opciónprocessManagement.pidFilePath, el proceso no crea un archivo PID. Esta opción generalmente solo es útil en combinación con la configuraciónprocessManagement.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 consystemctl. Se debe usar solo la opciónprocessManagement.pidFilePathsi 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ónprocessManagement.pidFilePathsi no se usabrewen el sistema macOS. Para obtener más información, se debe consultar la Guía de instalación correspondiente al sistema operativo.
processManagement.timeZoneInfoTipo: 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/zoneinfopor 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,
timelibpodí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.
net opciones
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.portTipo: entero
Por defecto:
27017 para
mongod(si no es un nodo del fragmento o un nodo del servidor de configuración) o instancia demongos27018 si
mongodes unshard member27019 si
mongodes unconfig server member
El puerto TCP en el que la instancia de MongoDB escucha las conexiones de los clientes.
net.bindIpTipo: string
Por defecto: localhost
Los nombres de host y/o direcciones IP y/o rutas completas de socket de dominio Unix en las que
mongosomongoddeben escuchar para conexiones de clientes. Puede adjuntarmongosomongoda cualquier interfaz. Para vincularse a varias direcciones, introduzca una lista de valores separados por comas.Ejemplo
localhost,/tmp/mongod.sockSe 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:d513Nota
Si especificas una dirección IPv6 o un nombre de host que se resuelva a una dirección IPv6 en
net.bindIp, debes iniciarmongosomongodconnet.ipv6 : truepara activar el soporte IPv6. Especificar una dirección IPv6 paranet.bindIpno 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%enp0s3Importante
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.0o un asterisco"*"(encierre el asterisco entre comillas para distinguirlo de nodos de alias YAML). Alternativamente, usa la configuraciónnet.bindIpAll.Nota
net.bindIpynet.bindIpAllson mutuamente excluyentes. Es decir, puede especificar uno u otro, pero no ambos.La opción de línea de comandos
--bind_ipsobrescribe la configuración del archivo de configuraciónnet.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,
replSetInitiateyreplSetReconfigrechazarán las configuraciones que utilicen direcciones IP en lugar de nombres de host.Utilice
disableSplitHorizonIPCheckpara 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.mongodymongosno dependen dedisableSplitHorizonIPCheckpara la validación al inicio. Las instancias heredadasmongodymongosque 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.bindIpAllTipo: booleano
Por defecto: false
Si es verdadero, la instancia
mongoso la instanciamongodse vincula a todas las direcciones IPv4 (es decir,0.0.0.0). Simongosomongodcomienza connet.ipv6 : true,net.bindIpAlltambién se enlaza a todas las direcciones IPv6 (es decir,::).mongosomongodsolo ofrecen soporte para IPv6 si se inician connet.ipv6 : true. Especificarnet.bindIpAllpor 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.bindIpa::,0.0.0.0o 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.bindIpynet.bindIpAllson mutuamente excluyentes. Especificar ambas opciones provoca quemongosomongodgeneren un error y se detengan.
net.maxIncomingConnectionsTipo: entero
Cambiado en la versión 7.0.27.
Default (Windows): 1,000,000Default (Linux): (RLIMIT_NOFILE) * 0.8La cantidad máxima de conexiones simultáneas que
mongosomongodacepta. 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
mongossi hay un cliente que crea múltiples conexiones y permite que expiren en lugar de cerrarlas.En este caso, configura
maxIncomingConnectionsa 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
mongoscause 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.wireObjectCheckTipo: booleano
Por defecto: true
Cuando
true, la instanciamongodomongosvalida 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.wireObjectCheckpuede causar un pequeño impacto en el rendimiento.
net.ipv6Tipo: booleano
Por defecto: false
Establece
net.ipv6entruepara habilitar el soporte de IPv6.mongos/mongoddesactiva el soporte de IPv6 por defecto.Configurar
net.ipv6no dirige amongos/mongoda escuchar en ninguna dirección o interfaz local de IPv6. Para configurar elmongos/mongodpara escuchar en una interfaz IPv6, debes:Configura
net.bindIpcon una o más direcciones IPv6 o nombres de host que se resuelvan en direcciones IPv6, oEstablece
net.bindIpAllentrue.
net.unixDomainSocket opciones
net: unixDomainSocket: enabled: <boolean> pathPrefix: <string> filePermissions: <int>
net.unixDomainSocket.enabledTipo: booleano
Por defecto: true
Habilita o deshabilita la escucha en el socket de dominio UNIX.
net.unixDomainSocket.enabledsolo se aplica a sistemas basados en Unix.Cuando
net.unixDomainSocket.enabledestátrue,mongosumongodescucha en el socket UNIX.El proceso
mongosomongodsiempre escucha en el socket UNIX a menos que una de las siguientes condiciones sea verdadera:net.unixDomainSocket.enabledesfalse--nounixsocketestá establecido. La opción de línea de comandos tiene prioridad sobre la configuración del archivo de configuración.net.bindIpno está configuradonet.bindIpno especificalocalhostni su dirección IP asociada
mongosomongodinstalados desde los paquetes oficiales Instalar MongoDB Community Edition en Debian e Instalar MongoDB Community Edition en Red Hat o CentOS tienen la configuraciónbind_ipestablecida en127.0.0.1por defecto.
net.unixDomainSocket.pathPrefixTipo: string
Por defecto: /tmp
La ruta para el socket UNIX.
net.unixDomainSocket.pathPrefixse aplica únicamente a sistemas basados en Unix.Si esta opción no tiene valor, el proceso
mongoso el procesomongodcrea un socket con/tmpcomo prefijo. MongoDB crea y escucha en un socket UNIX a menos que se cumpla una de las siguientes condiciones:net.unixDomainSocket.enabledesfalse--nounixsocketestá configuradonet.bindIpno está configuradonet.bindIpno especificalocalhostni su dirección IP asociada
net.unixDomainSocket.filePermissionsTipo: int
Por defecto:
0700Establece los permisos para el archivo de socket de dominio UNIX.
net.unixDomainSocket.filePermissionsse aplica únicamente a sistemas basados en Unix.
net.tls opciones
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.modeTipo: string
Permite el uso de TLS en todas las conexiones de red. El argumento para la opción
net.tls.modepuede ser uno de los siguientes:ValorDescripcióndisabledEl servidor no usa TLS.
allowTLSLas conexiones entre servidores no emplean TLS. Para las conexiones entrantes, el servidor acepta tanto TLS como conexiones no TLS.
preferTLSLas conexiones entre servidores utilizan TLS. Para las conexiones entrantes, el servidor acepta tanto TLS como conexiones no TLS.
requireTLSEl servidor utiliza y acepta únicamente conexiones cifradas mediante TLS.
Si no se especifica
--tlsCAFileotls.CAFile, y no estás utilizando la autenticación X.509, debes establecer el parámetrotlsUseSystemCAentrue. 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,
--tlsCAFileotls.CAFiledeben 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.certificateKeyFileTipo: string
El archivo
.pemque contiene tanto el certificado como la llave TLS.En macOS o Windows, puedes utilizar la opción
net.tls.certificateSelectorpara especificar un certificado del almacén de certificados del sistema operativo en lugar de un archivo de clave PEM.certificateKeyFileynet.tls.certificateSelectorson mutuamente excluyentes. Solo puedes especificar uno.En Linux/BSD, debes especificar
net.tls.certificateKeyFilecuando TLS está habilitado.En Windows o macOS, debes especificar
net.tls.certificateKeyFileonet.tls.certificateSelectorcuando TLS está activado.Importante
Solo para Windows, MongoDB no brinda soporte a archivos PEM cifrados. El
mongodno se inicia si se encuentra con un archivo PEM cifrado. Para almacenar y acceder de forma segura a un certificado para su uso con TLS en Windows, usanet.tls.certificateSelector.
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.certificateKeyFilePasswordTipo: string
La contraseña para descifrar el archivo de clave del certificado (es decir,
certificateKeyFile). Utilice la opciónnet.tls.certificateKeyFilePasswordsolo si el archivo de clave del certificado está cifrado. En todos los casos,mongosomongodelimina 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 (consultanet.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
mongodfalla si encuentra un archivo PEM cifrado. Utilizanet.tls.certificateSelectoren 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.certificateSelectorTipo: 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.certificateKeyFileynet.tls.certificateSelectorson opciones mutuamente excluyentes. Solo puedes especificar uno.net.tls.certificateSelectoracepta un argumento en el formato<property>=<value>donde la propiedad puede ser una de las siguientes:PropiedadTipo de valorDescripciónsubjectstring ASCII
Nombre del sujeto o nombre común en el certificado
thumbprintcadena hexadecimal
Una secuencia de bytes, expresada en hexadecimal, utilizada para identificar una llave pública mediante su resumen SHA-1.
El
thumbprinta veces se conoce comofingerprint.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
mongodbusca 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.certificateSelectory/onet.tls.clusterCertificateSelector, no recomendamos utilizarnet.tls.CAFileonet.tls.clusterFilepara especificar el certificado raíz e intermedio de la Autoridad de CertificaciónPor 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
rotateCertificatesni el método de shelldb.rotateCertificates()cuando utilizasnet.tls.certificateSelectoro--tlsCertificateSelectorconfigurado enthumbprint
net.tls.clusterCertificateSelectorTipo: 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.clusterFileynet.tls.clusterCertificateSelectorson opciones mutuamente excluyentes. Solo puedes especificar uno.net.tls.clusterCertificateSelectoracepta un argumento en el formato<property>=<value>donde la propiedad puede ser una de las siguientes:PropiedadTipo de valorDescripciónsubjectstring ASCII
Nombre del sujeto o nombre común en el certificado
thumbprintcadena hexadecimal
Una secuencia de bytes, expresada en hexadecimal, utilizada para identificar una llave pública mediante su resumen SHA-1.
El
thumbprinta veces se conoce comofingerprint.El
mongodbusca 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.certificateSelectory/onet.tls.clusterCertificateSelector, no recomendamos utilizarnet.tls.CAFileonet.tls.clusterCAFilepara 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/mongosgenera un registro de advertencia en la conexión si el certificado X.509 presentado caduca dentro de30días a partir de la hora del sistema hostmongod/mongos.
net.tls.clusterFileTipo: string
El archivo
.pemque 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.clusterCertificateSelectorpara especificar un certificado de los almacenes de certificados del sistema operativo en lugar de un archivo de clave PEM.net.tls.clusterFileynet.tls.clusterCertificateSelectorson opciones mutuamente excluyentes. Solo puedes especificar uno.Si
net.tls.clusterFileno especifica el archivo.pempara la autenticación interna del clúster o la alternativanet.tls.clusterCertificateSelector, el clúster utiliza el archivo.pemespecificado en la configuracióncertificateKeyFileo el certificado devuelto por elnet.tls.certificateSelector.Si se utiliza la autenticación X.509,
--tlsCAFileotls.CAFiledeben especificarse a menos que se utilice--tlsCertificateSelector.mongod/mongosgenera un registro de advertencia en la conexión si el certificado X.509 presentado caduca dentro de30días a partir de la hora del sistema hostmongod/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
mongodno 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, utilizanet.tls.clusterCertificateSelector.
net.tls.clusterPasswordTipo: string
La contraseña para descifrar el archivo de clave del certificado X.509 especificado con
--sslClusterFile. Utiliza la opciónnet.tls.clusterPasswordsolo si el archivo de clave de certificado está cifrado. En todos los casos,mongosomongodcensura 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 (consultanet.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
mongodfalla si encuentra un archivo PEM cifrado. Utilizanet.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.clusterAuthX509Nuevo en la versión 7.0.
net: tls: clusterAuthX509: attributes: <string> extensionValue: <string>
net.tls.clusterAuthX509.attributesTipo: 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,OniOUpara 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.extensionValueTipo: 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 certificadosDCsinOlosOUvalores, 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.
mongodno 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, quemongodrechaza con una etiqueta "no compatible" o una etiqueta de "DER desconocido".
net.tls.CAFileTipo: string
El archivo
.pemque contiene la cadena de certificados raíz de la Autoridad de Certificación. Especifique el nombre del archivo.pemutilizando rutas relativas o absolutas.- Solo para Windows/macOS
- Si utilizas
net.tls.certificateSelectory/onet.tls.clusterCertificateSelector, no utilizanet.tls.CAFilepara especificar los certificados CA raíz e intermedios. Almacena todos los certificados de CA necesarios para validar la cadena de confianza completa de los certificadosnet.tls.certificateSelectory/onet.tls.clusterCertificateSelectoren 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.clusterCAFileTipo: string
El archivo
.pemque 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.pemutilizando rutas relativas o absolutas.net.tls.clusterCAFilerequiere quenet.tls.CAFileesté configurado.Si
net.tls.clusterCAFileno especifica el archivo.pempara validar el certificado de un cliente que establece una conexión, el clúster utiliza el archivo.pemespecificado en la opciónnet.tls.CAFile.net.tls.clusterCAFilele 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 elnet.tls.clusterCAFile.- Solo para Windows/macOS
- Si utilizas
net.tls.certificateSelectory/onet.tls.clusterCertificateSelector, no utilizanet.tls.clusterCAFilepara especificar los certificados CA raíz e intermedios. Almacena todos los certificados de CA necesarios para validar la cadena de confianza completa de los certificadosnet.tls.certificateSelectory/onet.tls.clusterCertificateSelectoren 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.CRLFileTipo: string
El archivo
.pemque contiene la Lista de revocación de certificados. Especifique el nombre del archivo.pemutilizando rutas relativas o absolutas.Nota
No puedes especificar
net.tls.CRLFileen 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. Consultanet.tls.certificateSelectorpara usar el almacén de certificados SSL del sistema.Para verificar la revocación de certificados, MongoDB
enablesutiliza 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.allowConnectionsWithoutCertificatesTipo: booleano
Por defecto: false
Si es
false, todos los clientes deben proporcionar certificados TLS de cliente. Si estrue, los clientes no necesitan proporcionar certificados de cliente, peromongodomongoscifra la conexión TLS/SSL.Si un cliente proporciona un certificado de cliente, independientemente del valor que establezcas para
net.tls.allowConnectionsWithoutCertificates,mongosomongodrealiza la validación de certificados con la cadena de certificados raíz especificada porCAFile, o el almacén de CA del sistema sitlsUseSystemCAestrue, y rechaza a los clientes con certificados no válidos.Utiliza la opción
net.tls.allowConnectionsWithoutCertificatessi tienes una implementación mixta que incluye clientes que no presentan o no pueden presentar certificados almongoso almongod.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.allowInvalidCertificatesTipo: 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
--tlsAllowInvalidCertificatesotls.allowInvalidCertificates: trueal 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.allowInvalidHostnamesTipo: booleano
Por defecto: false
Cuando
net.tls.allowInvalidHostnamesestrue, MongoDB desactiva la validación de los nombres de host en los certificados TLS. Esto permite quemongodomongosse 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.disabledProtocolsTipo: 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.disabledProtocolsreconoce los siguientes protocolos:TLS1_0,TLS1_1,TLS1_2yTLS1_3.En macOS, no puedes desactivar
TLS1_1y dejarTLS1_0yTLS1_2activados. 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
noneennet.tls.disabledProtocols.Los nodos de los sets de réplicas y los clústeres fragmentados deben tener al menos un protocolo en común.
net.tls.FIPSModeTipo: booleano
Por defecto: false
Se debe activar o desactivar el uso del modo FIPS de la biblioteca TLS para
mongosomongod. El sistema debe tener una biblioteca compatible con FIPS para usar la opciónnet.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.logVersionsTipo: string
Instruye a
mongosomongodpara 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
mongoso amongodpara que hagan un registro de un mensaje cuando un cliente se conecte usando TLS 1.2 o TLS 1.3, configurenet.tls.logVersionsa"TLS1_2,TLS1_3".
net.compression Opción
net: compression: compressors: <string>
net.compression.compressorsDefault: snappy,zstd,zlib
Especifica el(los) compresor(es) por defecto que se utilizarán para la comunicación entre esta instancia
mongodomongosy:otros miembros de la implementación si la instancia es parte de un set de réplicas o un clúster
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
mongoshespecifica los siguientes compresores de redzlib,snappyymongodespecificasnappy,zlib, los mensajes entremongoshymongodutilizazlib.Si las partes no comparten al menos un compresor común, los mensajes entre las partes no se comprimen. Por ejemplo, si
mongoshespecifica el compresor de redzlibymongodespecificasnappy, los mensajes entremongoshymongodno se comprimen.
security opciones
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.keyFileTipo: 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.
keyFileimplicasecurity.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.clusterAuthModeTipo: 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:
ValorDescripciónkeyFileUtilice un archivo de clave para la autenticación. Acepte únicamente archivos de clave.
sendKeyFilePara actualizaciones continuas. Envía un archivo de claves para la autenticación, pero acepta tanto archivos de claves como certificados X.509.
sendX509Para actualizaciones continuas. Envía el certificado X.509 para la autenticación, pero acepta tanto archivos de claves como certificados X.509.
x509Opción recomendada. Envía el certificado X.509 para la autenticación y acepta solo certificados X.509.
Si no se especifica
--tlsCAFileotls.CAFile, y no estás utilizando la autenticación X.509, debes establecer el parámetrotlsUseSystemCAentrue. 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,
--tlsCAFileotls.CAFiledeben 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.authorizationTipo: 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:
ValorDescripciónenabledUn usuario solo puede acceder a los recursos de la base de datos y a las acciones para las cuales se le han otorgado privilegios.
disabledUn 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 de
security.authorizationestá disponible solo paramongod.
security.transitionToAuthTipo: booleano
Por defecto: false
Permite que el
mongodo elmongosacepte y cree conexiones autenticadas y no autenticadas hacia y desde otras instancias demongodymongosen 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 comosecurity.keyFile.Por ejemplo, si se utilizan archivos de claves para la autenticación interna, el
mongodo elmongoscrea una conexión autenticada con cualquiermongodomongosen la implementación utilizando un archivo de claves coincidente. Si los mecanismos de seguridad no coinciden, elmongodomongosutilizará una conexión no autenticada.Un
mongodomongosejecutándose consecurity.transitionToAuthno 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
mongodomongosque funciona con autenticación interna y sinsecurity.transitionToAuthrequiere que los clientes se conecten con los controles de acceso de usuario. Actualiza a los clientes para que se conecten amongodomongoscon el usuario correspondiente antes de reiniciarmongodomongossinsecurity.transitionToAuth.
security.javascriptEnabledTipo: 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 comandomapReduce,$accumulatory$function.Si no utiliza estas operaciones, desactive el script del lado del servidor.
El
security.javascriptEnabledestá disponible tanto paramongodcomo paramongos. En versiones anteriores, la configuración solo está disponible paramongod.
security.redactClientLogDataTipo: booleano
Disponible solamente en MongoDB Enterprise.
Un
mongodomongosque se ejecuta consecurity.redactClientLogDataredacta cualquier mensaje que acompañe a un evento de registro determinado antes de registrarlo. Esto impide que elmongodo elmongosescriban 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.redactClientLogDataen 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
mongodomongosregistra eventos como los relacionados con operaciones CRUD, metadatos de fragmentación, etc. Es posible que elmongodomongospuedan exponer PII como parte de estas operaciones de registro. Unmongodomongosque se ejecuta consecurity.redactClientLogDataremueve cualquier mensaje que acompañe a estos eventos antes de enviarse al registro, y elimina efectivamente la PII.El diagnóstico en un
mongodomongosque funciona consecurity.redactClientLogDatapuede 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 desecurity.redactClientLogDataen la salida de los registros.En un
mongodomongosen ejecución, utilicesetParametercon el parámetroredactClientLogDatapara configurar esta opción.
security.clusterIpSourceAllowlistTipo: 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
mongodvalida las solicitudes de autenticación de otros miembros del set de réplicas y, si forma parte de un clúster, las instancias demongos.mongodverifica 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 elmongodni elmongos.security.clusterIpSourceAllowlistno tiene ningún efecto en unmongodiniciado sin autenticación.A partir de MongoDB 5.2, puedes configurar
security.clusterIpSourceAllowlisten unmongodomongosen ejecución usandosetParameter.Este ejemplo actualiza
security.clusterIpSourceAllowlistdurante 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.clusterIpSourceAllowlisten tiempo de ejecución para excluir todas las direcciones IP:db.adminCommand( { setParameter: 1, "clusterIpSourceAllowlist": null } ); security.clusterIpSourceAllowlistno tiene ningún efecto en unmongodiniciado sin autenticación.security.clusterIpSourceAllowlistrequiere 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.clusterIpSourceAllowlistincluya la dirección IP o los rangos CIDR que contienen la dirección IP de cada set de réplicas omongosen la implementación para asegurar una comunicación saludable entre los componentes del clúster.
Opciones de configuración de gestión de claves
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.enableEncryptionTipo: booleano
Por defecto: false
Permite el cifrado para el motor de almacenamiento WiredTiger. Debe configurarlo en
truepara pasar las llaves de cifrado y las configuraciones.Nota
Característica de la empresa
Disponible solamente en MongoDB Enterprise.
security.encryptionCipherModeTipo: string
Por defecto:
AES256-CBCEl modo de cifrado a utilizar para el cifrado en reposo:
ModoDescripciónAES256-CBCEstándar de cifrado avanzado de 256 bits en modo de encadenamiento de bloques de cifrado
AES256-GCMEstándar de cifrado avanzado de 256 bits en modo Galois/Counter
Disponible solo en Linux.
MongoDB Enterprise en Windows ya no admite
AES256-GCMcomo 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.encryptionKeyFileTipo: 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.enableEncryptionseatrue.Nota
Característica de la empresa
Disponible solamente en MongoDB Enterprise.
security.kmip.keyIdentifierTipo: 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 quesecurity.enableEncryptionsea 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.rotateMasterKeyTipo: 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.serverNameTipo: string
Nombre de host o dirección IP del servidor KMIP al que conectarse. Requiere que
security.enableEncryptionsea verdadero.Puede especificar varios servidores KMIP como una lista separada por comas; por ejemplo,
server1.example.com,server2.example.com. Al iniciar, elmongodintenta 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.mongodverifica la conexión al servidor KMIP al inicio.El nombre del servidor especificado en
security.kmip.serverNamedebe coincidir con el nombre alternativo del sujetoSANo el nombre comúnCNen el certificado presentado por el servidor KMIP.SANpuede ser un nombre de sistema o una dirección IP.Si
SANestá presente,mongodno intenta coincidir conCN.Si el nombre de host o la dirección IP del servidor KMIP no coincide con
SANni conCN,mongodno 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.portTipo: int
por defecto: 5696
Número de puerto que se debe usar para comunicarse con el servidor KMIP. Requiere
security.kmip.serverName. Requiere quesecurity.enableEncryptionsea verdadero.Si especificas varios servidores KMIP con
security.kmip.serverName, elmongodusará el puerto especificado consecurity.kmip.portpara todos los servidores KMIP proporcionados.Nota
Característica de la empresa
Disponible solamente en MongoDB Enterprise.
security.kmip.clientCertificateFileTipo: string
Ruta al archivo
.pemutilizado para autenticar MongoDB en el servidor KMIP. El archivo.pemespecificado 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.clientCertificatePasswordTipo: 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.clientCertificateSelectorTipo: string
Nuevo en la versión 5.0: Disponible en Windows y macOS como una alternativa a
security.kmip.clientCertificateFile.security.kmip.clientCertificateFileysecurity.kmip.clientCertificateSelectorson 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.clientCertificateSelectoracepta un argumento en el formato<property>=<value>donde la propiedad puede ser una de las siguientes:PropiedadTipo de valorDescripciónsubjectstring ASCII
Nombre del sujeto o nombre común en el certificado
thumbprintcadena hexadecimal
Una secuencia de bytes, expresada en hexadecimal, utilizada para identificar una llave pública mediante su resumen SHA-1.
El
thumbprinta veces se conoce comofingerprint.Nota
Característica de la empresa
Disponible solamente en MongoDB Enterprise.
security.kmip.serverCAFileTipo: 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 elsecurity.kmip.serverCAFile.Nota
Característica de la empresa
Disponible solamente en MongoDB Enterprise.
security.kmip.connectRetriesTipo: int
Por defecto: 0
Cuántas veces se debe reintentar la conexión inicial al servidor KMIP. Utilice junto con
connectTimeoutMSpara controlar cuánto tiempo elmongodespera una respuesta entre cada reintento.Nota
Característica de la empresa
Disponible solamente en MongoDB Enterprise.
security.kmip.connectTimeoutMSTipo: int
Por defecto: 5000
Tiempo de espera en milisegundos para recibir una respuesta del servidor KMIP. Si se especifica el
connectRetries, elmongodespera hasta el valor especificado conconnectTimeoutMSpara cada reintento.El valor debe ser
1000o mayor.Nota
Característica de la empresa
Disponible solamente en MongoDB Enterprise.
security.kmip.activateKeysTipo: 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.activateKeysestruey hay claves existentes en un servidor KMIP, primero debe activar la clave o el nodomongodno se iniciará.Si la clave que está utilizando el mongod pasa a un estado no activo, el nodo
mongodse apaga a menos quekmipActivateKeyssea falso. Para asegurarse de que tiene una clave activa, rota la clave maestra KMIP usandosecurity.kmip.rotateMasterKey.
security.kmip.keyStatePollingSecondsTipo: 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.useLegacyProtocolTipo: booleano
Por defecto: false
Nuevo en la versión 7.0: (y 6.0.6)
Cuando
true,mongodutiliza 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
auditEncryptKeyWithKMIPGetal 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 opciones
security: sasl: hostName: <string> serviceName: <string> saslauthdSocketPath: <string>
security.sasl.hostNameTipo: 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.serviceNameTipo: 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
setParameterno 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
mongoshy otras herramientas de MongoDB para conectarse al nuevoserviceName, consulte la opcióngssapiServiceName.
security.ldap opciones
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.serversTipo: string
Disponible solamente en MongoDB Enterprise.
El servidor LDAP contra el cual
mongodomongosautentica 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.serversreferencias LDAP, tal como se define en RFC..4511 4.110 No utilice para listar todos los servidores LDAP de susecurity.ldap.serversinfraestructura.Puedes anteponer a los servidores LDAP los prefijos
srv:ysrv_raw:.Si la cadena de conexión especifica
"srv:<DNS_NAME>",mongodverifica que"_ldap._tcp.gc._msdcs.<DNS_NAME>"existe para que SRV sea compatible con Active Directory. Si no se encuentra,mongodverifica que"_ldap._tcp.<DNS_NAME>"existe para SRV. Si no se encuentra un registro SRV,mongodadvierte que se use"srv_raw:<DNS_NAME>"en cambio.Si su cadena de conexión especifica
"srv_raw:<DNS_NAME>",mongodrealiza una búsqueda de un registro SRV para"<DNS NAME>".Este ajuste se puede configurar en un
mongodomongosen ejecución usandosetParameter.Si no se configura,
mongodomongosno podrán usar autenticación o autorización por LDAP.
security.ldap.bind.queryUserTipo: string
Disponible solamente en MongoDB Enterprise.
La identidad con la que
mongodomongosse vincula al conectarse o realizar consultas en un servidor LDAP.Solo es necesario si alguna de las siguientes condiciones es verdadera:
Usando autorizacion LDAP.
Uso de una query LDAP para
security.ldap.userToDNMapping.El servidor LDAP no permite conexiones anónimas
Debe utilizar
queryUserconqueryPassword.Si no se configura,
mongodomongosno intenta vincularse al servidor LDAP.Este ajuste se puede configurar en un
mongodomongosen ejecución usandosetParameter.Nota
Las implementaciones de MongoDB en Windows pueden usar
useOSDefaultsen lugar dequeryUseryqueryPassword. No puedes especificarqueryUseryuseOSDefaultsal mismo tiempo.
security.ldap.bind.queryPasswordTipo: string o arreglo
Disponible solamente en MongoDB Enterprise.
La contraseña utilizada para enlazarse a un servidor LDAP al usar
queryUser. Debes utilizarqueryPasswordconqueryUser.Si no está configurado,
mongodomongosno intenta conectarse al servidor LDAP.Se puede configurar esta opción en un
mongodomongosen ejecución usandosetParameter.El comando
ldapQueryPasswordsetParameteracepta una string o un arreglo de strings. SildapQueryPasswordse 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
useOSDefaultsen lugar dequeryUseryqueryPassword. No puedes especificarqueryPasswordyuseOSDefaultsal mismo tiempo.
security.ldap.bind.useOSDefaultsTipo: booleano
Por defecto: false
Disponible solo en MongoDB Enterprise para la plataforma Windows.
Permite que
mongodomongosse autentiquen o se vinculen utilizando sus credenciales de inicio de sesión de Windows al conectarse al servidor LDAP.Solo es requerido si:
Usando autorizacion LDAP.
Uso de una query LDAP para
username transformation.El servidor LDAP no permite conexiones anónimas
Utiliza
useOSDefaultspara reemplazarqueryUseryqueryPassword.
security.ldap.bind.methodTipo: string
Por defecto: simple
Disponible solamente en MongoDB Enterprise.
El método
mongodomongosutiliza para autenticarse en un servidor LDAP. Utilízalo conqueryUseryqueryPasswordpara conectarse al servidor LDAP.methodadmite los siguientes valores:Si especificas
sasl, puedes configurar los mecanismos SASL disponibles mediantesecurity.ldap.bind.saslMechanisms.mongodomongosusa el mecanismoDIGEST-MD5por defecto.
security.ldap.bind.saslMechanismsTipo: string
Por defecto: DIGEST-MD5
Disponible solamente en MongoDB Enterprise.
Una lista separada por comas de mecanismos SASL
mongodomongosque puede usar al autenticarse en el servidor LDAP. Elmongodomongosy el servidor LDAP deben estar de acuerdo en al menos un mecanismo. Elmongodomongoscarga 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
mongodcomo en el hostmongosy 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
GSSAPIpara usar con Autenticación con Kerberos en Implementaciones Autogestionadas, verifica lo siguiente para la máquina hostmongodomongos:LinuxLa variable de entorno
KRB5_CLIENT_KTNAMEse resuelve en el nombre de los Archivos Keytab de Linux del cliente para la máquina host. Para obtener más información sobre las variables de entorno de Kerberos, consulta la documentación de Kerberos.El keytab del cliente incluye un principal de usuario para que
mongodomongoslo usen al conectarse al servidor LDAP y ejecutar queries LDAP.
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
useOSDefaultsentruepara permitir quemongodomongosusen las credenciales generadas al conectarse al servidor de Active Directory y ejecutar queries.
Establece
methodensaslpara 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:
Para Linux, consulta la documentación de Cyrus SASL.
Para Windows, consulta la documentación de Windows SASL.
security.ldap.transportSecurityTipo: string
Por defecto: tls
Disponible solamente en MongoDB Enterprise.
Por defecto,
mongodomongoscrea 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 dependencialibldap. Se debe consultar la documentación deTLS Optionsen 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
transportSecurityennonepara desactivar TLS/SSL entremongodomongosy el servidor LDAP.Advertencia
Configurar
transportSecurityennonetransmite información en texto plano y posiblemente credenciales entremongodomongosy el servidor LDAP.
security.ldap.timeoutMSTipo: int
Por defecto: 10000
Disponible solamente en MongoDB Enterprise.
La cantidad de tiempo en milisegundos que
mongodomongosdebería esperar para que un servidor LDAP responda a una solicitud.Incrementar el valor de
timeoutMSpuede 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 detimeoutMSreduce el tiempo que MongoDB espera una respuesta del servidor LDAP.Este ajuste se puede configurar en un
mongodomongosen ejecución usandosetParameter.
security.ldap.retryCountNuevo 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
mongodomongosen ejecución usandosetParameter.
security.ldap.userToDNMappingTipo: string
Disponible solamente en MongoDB Enterprise.
Asocia el nombre de usuario proporcionado a
mongodomongospara la autenticación con un nombre distinguido (DN) de LDAP. Es posible que necesites utilizaruserToDNMappingpara 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 templateque 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.
userToDNMappingespera una cadena JSON entre comillas que represente un arreglo ordenado de documentos. Cada documento contiene una expresión regularmatchy una plantillasubstitutionoldapQueryutilizada para transformar el nombre de usuario entrante.Cada documento en el arreglo tiene la siguiente forma:
{ match: "<regex>" substitution: "<LDAP DN>" | ldapQuery: "<LDAP Query>" } CampoDescripciónEjemplomatchUna 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
substitutionoldapQuery."(.+)ENGINEERING""(.+)DBA"substitutionUna plantilla de formato de nombre distinguido (DN) de LDAP que convierte el nombre de autenticación que coincide con la expresión regular
matchen 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 regexmatch.El resultado de la sustitución debe ser una string escapada RFC4514.
"cn={0},ou=engineering, dc=example,dc=com"ldapQueryUna plantilla de formato de query LDAP que inserta el nombre de autenticación que coincide con la expresión regular
matchen 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ónmatch.mongodomongosejecuta la query contra el servidor LDAP para recuperar el nombre distinguido LDAP para el usuario autenticado.mongodomongosrequiere exactamente un resultado devuelto para que la transformación sea exitosa, omongodomongosomite esta transformación."ou=engineering,dc=example, dc=com??one?(user={0})"Nota
Para cada documento del arreglo, debe usar
substitutionoldapQuery. No puede especificar ambos en el mismo documento.Al realizar la autenticación o autorización,
mongodomongosprocesa cada documento del arreglo en el orden dado, verificando el nombre de usuario de autenticación contra el filtromatch. Si se encuentra una coincidencia,mongodomongosaplica la transformación y utiliza el resultado para autenticar al usuario.mongodomongosno verifica los documentos restantes en el arreglo.Si el documento proporcionado no coincide con el nombre de autenticación dado,
mongodomongoscontinú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,mongodomongosdevolverá un error.mongodomongostambié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.mongodomongosrechaza la solicitud de conexión y no verifica los documentos restantes en el arreglo.A partir de MongoDB 5.0,
userToDNMappingacepta 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 auserToDNMapping, 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.COMcoincide con el primer documento. El grupo de captura de regex{0}corresponde al stringalice. 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.COMcoincide con el segundo documento. El grupo de captura de expresiones regulares{0}corresponde al stringbob. La salida resultante es la query LDAP"ou=dba,dc=example,dc=com??one?(user=bob)".mongodomongosejecuta esta query contra el servidor LDAP, devolviendo el resultado"cn=bob,ou=dba,dc=example,dc=com".Si
userToDNMappingno está configurado,mongodomongosno 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
mongodomongosen ejecución utilizando el comando de base de datossetParameter.
security.ldap.authz.queryTemplateTipo: string
Disponible solamente en MongoDB Enterprise.
Una URL de query LDAP relativa con formato conforme a RFC4515 y RFC4516 que
mongodejecuta para obtener los grupos LDAP a los que pertenece el usuario autenticado. La query es relativa al host o los hosts especificados ensecurity.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ónDescripción{USER}Sustituye el nombre de usuario autenticado o el nombre de usuario
transformedsi se especifica unuserToDNMapping.{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,
mongodasume que la consulta recupera una lista de nombres distinguidos de los que esta entidad es un nodo.Si su consulta no incluye un atributo,
mongodasume 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,
mongodasigna al usuario autorizado un rol correspondiente en la base de datosadmin. Si un rol en la base de datosadmincoincide exactamente con el nombre distinguido,mongodotorga al usuario los roles y privilegios asignados a ese rol. Consulte el métododb.createRole()para obtener más información sobre cómo crear roles.Ejemplo
Esta query LDAP devuelve cualquier grupo listado en el atributo
memberOfdel objeto de usuario LDAP."{USER}?memberOf?base" Su configuración LDAP puede no incluir el atributo
memberOfcomo 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,
mongodno puede autorizar a los usuarios usando LDAP.Aunque puedas modificar el valor del parámetro
ldapAuthzQueryTemplateen unmongoden ejecución mediante el comando de base de datossetParameter, no puedes habilitarlo ni deshabilitarlo durante el tiempo de ejecución. Para activar esta configuración, debes configurarsecurity.ldap.authz.queryTemplateen su archivo de configuración durante la iniciación.
security.ldap.validateLDAPServerConfigTipo: booleano
Por defecto: true
Disponible en MongoDB Enterprise
Una bandera que determina si la instancia
mongodomongoscomprueba la disponibilidad deLDAP server(s)como parte de su iniciación:Si
true, la instanciamongodomongosrealiza la verificación de disponibilidad y solo continúa iniciándose si el servidor LDAP está disponible.Si
false, la instanciamongodomongosomite la verificación de disponibilidad; es decir, la instancia se inicia incluso si el servidor LDAP no está disponible.
setParameter Opción
setParameterConfigure 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
enableLocalhostAuthBypassen el archivo de configuración:setParameter: enableLocalhostAuthBypass: false
LDAP Parameters
setParameter.ldapUserCacheInvalidationIntervalTipo: int
Por defecto: 30
Para su uso con servidores
mongodque utilizan autorización LDAP en Implementaciones Autogestionadas.El intervalo (en segundos)
mongodespera entre los vaciados de caché de usuarios externos. Después de quemongodvací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
mongody 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 tiempomongody el servidor LDAP puede dejar de sincronizar, aumentando la carga en el servidor LDAP.
setParameter: ldapUserCacheInvalidationInterval: <int>
storage opciones
Cambiado en la versión 6.1:
MongoDB siempre permite registrar en la bitácora. Como resultado, MongoDB remueve la opción
storage.journal.enabledy las opciones de línea de comandos--journaly--nojournalcorrespondientes.
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.dbPathTipo: string
Por defecto:
/data/dben Linux y macOS\data\dben Windows
El directorio donde la instancia
mongodalmacena sus datos.La configuración de
storage.dbPathestá disponible solo paramongod.Nota
Archivos de configuración
El archivo de configuración por defecto
mongod.confincluido con las instalaciones del administrador de paquetes utiliza los siguientes valores por defecto específicos de la plataforma parastorage.dbPath:PlataformaGestor de paquetespredeterminadostorage.dbPathRHEL / CentOS y Amazon
yum/var/lib/mongoSUSE
zypper/var/lib/mongoUbuntu y Debian
apt/var/lib/mongodbmacOS
brew/usr/local/var/mongodbLos scripts de inicio del paquete Linux no esperan que
storage.dbPathcambien de los valores por defecto. Si utilizas los paquetes de Linux y cambiasstorage.dbPath, deberás utilizar tus propios scripts de inicio y desactivar los scripts incorporados.
storage.journal.commitIntervalMsTipo: número
Por defecto: 100
La cantidad máxima de tiempo en milisegundos que el proceso
mongodpermite 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:trueprovoca 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 de
storage.journal.commitIntervalMsestá disponible solo paramongod.No está disponible para las instancias de
mongodque utilizan el motor de almacenamiento en memoria.
storage.directoryPerDBTipo: 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 directoriostorage.dbPath, y cada nombre de subdirectorio corresponde al nombre de la base de datos.La configuración de
storage.directoryPerDBestá disponible solo paramongod.No está disponible para las instancias de
mongodque 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.directoryPerDBestá habilitada, se elimina el subdirectorio recién vaciado de esa base de datos.Para cambiar la opción
storage.directoryPerDBpara las implementaciones existentes:Para instancias autónomas:
Utiliza
mongodumpen la instanciamongodexistente para generar una copia de seguridad.Detenga la instancia
mongod.Agrega el valor
storage.directoryPerDBy configura un directorio de datos nuevoReinicie la instancia de
mongod.Utiliza
mongorestorepara poblar el nuevo directorio de datos.
Para set de réplicas:
Detén un miembro secundario.
Agrega el valor
storage.directoryPerDBy configura un nuevo directorio de datos para ese miembro secundario.Reinicia ese secundario.
Utiliza sincronización inicial para poblar el nuevo directorio de datos.
Actualiza los secundarios restantes de la misma manera.
Despromueva el nodo primario y actualice el nodo despromovido de la misma manera.
storage.syncPeriodSecsTipo: 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
mongodguarda datos muy rápidamente en la bitácora y lentamente en los archivos de datos.storage.syncPeriodSecsno tiene ningún efecto sobre el registro en la bitácora, pero sistorage.syncPeriodSecsse establece en0, la bitácora eventualmente consume todo el espacio disponible en disco.La configuración de
storage.syncPeriodSecsestá disponible solo paramongod.No está disponible para las instancias de
mongodque 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.enginePor defecto:
wiredTigerEl motor de almacenamiento para la base de datos
mongod. Los valores disponibles incluyen:ValorDescripciónwiredTigerPara especificar el motor de almacenamiento WiredTiger.
inMemoryPara especificar el Motor de almacenamiento en memoria para implementaciones autogestionadas.
Disponible solamente en MongoDB Enterprise.
Si intentas iniciar
mongodcon unstorage.dbPathque contiene archivos de datos producidos por un motor de almacenamiento distinto al especificado porstorage.engine,mongodno se iniciará.
storage.oplogMinRetentionHoursTipo: 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.5representa una hora y treinta minutos.El valor debe ser mayor o igual a
0. Un valor de0indica que elmongoddebe 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
mongodiniciado conoplogMinRetentionHourssolo 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
mongodtiene 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
mongodpuede 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
mongodcompara 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, utilicereplSetResizeOplog.replSetResizeOplogle permite redimensionar el oplog dinámicamente sin reiniciar el proceso demongod. Para que los cambios realizados usandoreplSetResizeOplogpersistan tras un reinicio, actualice el valor deoplogMinRetentionHours.
storage.wiredTiger opciones
storage: wiredTiger: engineConfig: cacheSizeGB: <number> journalCompressor: <string> directoryForIndexes: <boolean> maxCacheOverflowFileSizeGB: <number> collectionConfig: blockCompressor: <string> indexConfig: prefixCompression: <boolean>
storage.wiredTiger.engineConfig.cacheSizeGBTipo: 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.25GB y10000GB.Configuración de caché
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
--wiredTigerCacheSizePctpara 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,--wiredTigerCacheSizePctno 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 limithostInfola 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.cacheSizeGBlimita 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
mongodinstancia por máquina. Si una sola máquina contiene varias instancias de MongoDB, debe reducir el valor para acomodar las otras instancias.mongodSi ejecuta
mongoden un contenedor (por ejemplo,lxc,cgroups, Docker, etc.) que no tiene acceso a toda la RAM disponible en un sistema, debe establecerstorage.wiredTiger.engineConfig.cacheSizeGBen 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. VeamemLimitMB.
storage.wiredTiger.engineConfig.journalCompressorPor 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.directoryForIndexesTipo: booleano
Por defecto: false
Cuando
storage.wiredTiger.engineConfig.directoryForIndexesestrue,mongodalmacena índices y colecciones en subdirectorios separados dentro de la carpeta de datos (es decir, el directoriostorage.dbPath). Específicamente,mongodalmacena los índices en un subdirectorio llamadoindexy los datos de la colección en un subdirectorio llamadocollection.Al utilizar un enlace simbólico, puedes especificar una ubicación diferente para los índices. Específicamente, cuando la instancia de
mongodno esté en ejecución, mueve el subdirectorioindexal destino y crea un enlace simbólico llamadoindexen el directorio de datos hacia el nuevo destino.
storage.wiredTiger.engineConfig.zstdCompressionLevelTipo: 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
blockCompressorojournalCompressor(o ambos) están configurados enzstd.Disponible a partir de MongoDB 5.0
storage.wiredTiger.collectionConfig.blockCompressorPor 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.blockCompressorafecta a todas las colecciones creadas. Si cambias el valor destorage.wiredTiger.collectionConfig.blockCompressoren 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.prefixCompressionPor defecto: true
Habilita o deshabilita Reducción de prefijo para los datos de índice.
Especifica
trueparastorage.wiredTiger.indexConfig.prefixCompressionpara activar la reducción de prefijos para los datos de índice, ofalsepara desactivar la reducción de prefijos para los datos de índice.La configuración de
storage.wiredTiger.indexConfig.prefixCompressionafecta a todos los índices creados. Si cambias el valor destorage.wiredTiger.indexConfig.prefixCompressionen 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 opciones
storage: inMemory: engineConfig: inMemorySizeGB: <number>
storage.inMemory.engineConfig.inMemorySizeGBTipo: 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
mongodes 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 opciones
operationProfiling: mode: <string> slowOpThresholdMs: <int> slowOpSampleRate: <double> filter: <string>
operationProfiling.modeTipo: string
Por defecto:
offEspecifica qué operaciones se deben perfilar. Los siguientes niveles de perfilador están disponibles:
NivelDescripciónoffEl 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.
slowOpEl perfilador recopila datos para operaciones que tardan más tiempo que el valor de
slowms. Este nivel corresponde al perfilador nivel 1.allEl 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.slowOpThresholdMsTipo: 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
logLevelse establece en0, MongoDB registra las operaciones lentas en el registro de diagnóstico a una tasa determinada porslowOpSampleRate.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 ellogLevelno registra todas las entradas de oplog.
operationProfiling.slowOpSampleRateTipo: doble
Por defecto: 1.0
La fracción de operaciones lentas que se deben perfilar o registrar.
operationProfiling.slowOpSampleRateacepta valores entre 0 y 1, inclusive.La configuración
slowOpSampleRateestá disponible paramongodymongos.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 enmongos.
operationProfiling.filterTipo: 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
filterestá configurado,slowOpThresholdMsyslowOpSampleRateno 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
filterconfigura el perfilador para registrar las operacionesqueryque tarden más de 2 segundos:operationProfiling: mode: all filter: '{ op: "query", millis: { $gt: 2000 } }'
replication opciones
replication: oplogSizeMB: <int> replSetName: <string> enableMajorityReadConcern: <boolean>
replication.oplogSizeMBTipo: entero
El tamaño máximo en megabytes para el OpLog. La configuración
oplogSizeMBestablece 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
mongodcrea 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
mongodhaya creado el oplog por primera vez, cambiar la opciónreplication.oplogSizeMBno afecta el tamaño del oplog. Para cambiar el tamaño máximo del oplog después de iniciarmongod, se debe usarreplSetResizeOplog.replSetResizeOplogpermite redimensionar el oplog dinámicamente sin reiniciar el proceso demongod. Para que los cambios realizados mediantereplSetResizeOplogpersistan tras un reinicio, se debe actualizar el valor deoplogSizeMB.Consulta Tamaño del Oplog para obtener más información.
La configuración de
replication.oplogSizeMBestá disponible solo paramongod.
replication.replSetNameTipo: string
El nombre del set de réplicas del que
mongodforma 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 de
replication.replSetNameestá disponible solo paramongod.replication.replSetNameno puede utilizarse en conjunto constorage.indexBuildRetry.
replication.enableMajorityReadConcernPor defecto: true
Configura el soporte para el nivel de consistencia de lectura
"majority".A partir de MongoDB 5.0,
enableMajorityReadConcernno se puede cambiar y siempre se establece entrue. Intentar iniciar un motor de almacenamiento que no admite el nivel de consistencia de lectura de la mayoría con la opción--enableMajorityReadConcernfalla y devuelve un mensaje de error.En versiones anteriores de MongoDB,
enableMajorityReadConcernera 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 opciones
sharding: clusterRole: <string> archiveMovedChunks: <boolean>
sharding.clusterRoleTipo: string
El rol que la instancia de
mongodtiene en el clúster fragmentado. Establezca esta configuración en una de las siguientes:ValorDescripciónconfigsvrInicia esta instancia como un servidor de configuración. La instancia se inicia en el puerto
27019por defecto.Cuando configure una instancia de MongoDB como clusterRole
configsvr, también debe especificar unreplSetName.shardsvrInicie esta instancia como un fragmento. La instancia se inicia en el puerto
27018por defecto.Cuando configures una instancia de MongoDB como un clusterRole
shardsvr, también debes especificar unreplSetName.Nota
Configurar
sharding.clusterRolerequiere que la instanciamongodesté en ejecución con replicación. Para implementar la instancia como miembro de un Set de réplicas, utiliza la configuraciónreplSetNamey especifica el nombre del Set de réplicas.La configuración de
sharding.clusterRoleestá disponible solo paramongod.
auditLog opciones
Nota
Disponible solo en MongoDB Enterprise y MongoDB Atlas.
auditLog: destination: <string> format: <string> path: <string> filter: <string>
auditLog.auditEncryptionKeyIdentifierTipo: 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.auditEncryptionKeyIdentifieryauditLog.localAuditKeyFileal mismo tiempo.Nota
Disponible solo en MongoDB Enterprise. MongoDB Enterprise y Atlas tienen diferentes requisitos de configuración.
auditLog.compressionModeTipo: 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.auditEncryptionKeyIdentifieroauditLog.localAuditKeyFile.auditLog.compressionModepuede configurarse en uno de estos valores:ValorDescripciónzstdUtiliza 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.destinationTipo: string
Cuando se establece,
auditLog.destinationhabilita la auditoría y especifica dóndemongosomongodenvían todos los eventos de auditoría.auditLog.destinationpuede tener uno de los siguientes valores:ValorDescripciónsyslogRegistra 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
infoy un nivel de facilidad deuser.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.
consoleGenera los eventos de auditoría en
stdouten formato JSON.fileExporta los eventos de auditoría al archivo especificado en
auditLog.pathen el formato especificado enauditLog.format.Nota
Disponible solo en MongoDB Enterprise y MongoDB Atlas.
auditLog.filterTipo: 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.formatTipo: string
El formato del archivo de salida para auditoría si
destinationesfile. La opciónauditLog.formatpuede tener uno de los siguientes valores:ValorDescripciónJSONExporta los eventos de auditoría en formato JSON al archivo especificado en
auditLog.path.BSONExporta 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.localAuditKeyFileTipo: 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.localAuditKeyFilesolo para pruebas porque la clave no está segura. Para asegurar la clave, utiliceauditLog.auditEncryptionKeyIdentifiery un servidor externo del Protocolo de Interoperabilidad de Gestión de Claves (KMIP).No puede usar
auditLog.localAuditKeyFileyauditLog.auditEncryptionKeyIdentifieral mismo tiempo.Nota
Disponible solo en MongoDB Enterprise. MongoDB Enterprise y Atlas tienen diferentes requisitos de configuración.
auditLog.pathTipo: string
El archivo de salida para auditar si
destinationtiene un valor defile. La opciónauditLog.pathpuede aceptar un nombre de ruta completo o un nombre de ruta relativa.
mongos -Opciones exclusivas
replication: localPingThresholdMs: <int> sharding: configDB: <string>
replication.localPingThresholdMsTipo: entero
Por defecto: 15
El tiempo de ping, en milisegundos, que
mongosutiliza para determinar a qué miembros del set de réplicas secundarios pasar las operaciones de lectura de los clientes. El valor por defecto de15corresponde al valor por defecto en todos los controladores cliente.Cuando
mongosrecibe una solicitud que permite lecturas a los miembros secundarios, elmongos: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,mongosconstruirá 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.localPingThresholdMses 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 quemongosrecalcule 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.configDBTipo: 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
mongospara 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.
Opciones del servicio de Windows
processManagement: windowsService: serviceName: <string> displayName: <string> description: <string> serviceUser: <string> servicePassword: <string>
processManagement.windowsService.serviceNameTipo: string
Por defecto: MongoDB
El nombre del servicio de
mongosomongodcuando se ejecuta como un servicio de Windows. Utiliza este nombre con las operacionesnet start <name>ynet stop <name>.Debes usar
processManagement.windowsService.serviceNameen conjunto con la opción--installo--remove.
processManagement.windowsService.displayNameTipo: string
Por defecto: MongoDB
El nombre listado para MongoDB en la aplicación administrativa de servicios.
processManagement.windowsService.descriptionTipo: string
Por defecto: MongoDB Server
Ejecute
mongoso la descripción del serviciomongod.Debe usar
processManagement.windowsService.descriptionjunto con la opción--install.Para las descripciones que contienen espacios, debes encerrar la descripción entre comillas.
processManagement.windowsService.serviceUserTipo: string
El servicio
mongosomongoden el contexto de un usuario concreto. Este usuario debe tener privilegios de "Iniciar sesión como un servicio".Debe usar
processManagement.windowsService.serviceUserjunto con la opción--install.
processManagement.windowsService.servicePasswordTipo: string
La contraseña para
<user>demongosomongodal ejecutarse con la opciónprocessManagement.windowsService.serviceUser.Debe usar
processManagement.windowsService.servicePasswordjunto con la opción--install.
Opciones de MMAPv1 eliminadas
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 |
|---|---|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Para versiones anteriores de MongoDB, consulta la documentación antigua.