Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

mongos Instancias

Para un clúster particionado, las instancias mongos proporcionan la interfaz entre las aplicaciones cliente y el clúster particionado. Las instancias mongos dirigen las queries y las operaciones de guardado a las particiones. Desde la perspectiva de la aplicación, una instancia mongos se comporta de manera idéntica a cualquier otra instancia de MongoDB.

  • No cambiar nunca el nombre del binario mongos.

  • MongoDB deshabilita el soporte para el cifrado TLS 1.0 y TLS 1.1 en sistemas donde TLS 1.2+ está disponible.

  • El binariomongosno puede conectarse a instanciasmongodcuya versión de compatibilidad de características (FCV) sea mayor que la demongos. Por ejemplo, no puede conectar una versiónmongosde MongoDB 6.0 a un clúster fragmentado 8.0 con FCV establecida en 8.0. Sin embargo, puede conectar una versiónmongosde MongoDB 6.0 a un clúster fragmentado 8.0 con FCV establecida en 6.0.

  • mongod incluye un mecanismo de Full Time Diagnostic Data Capture para asistir a los ingenieros de MongoDB con la solución de problemas en las implementaciones. Si este hilo falla, termina el proceso que lo originó. Para evitar los errores más comunes, confirme que el usuario que ejecuta el proceso tenga permisos para crear el directorio FTDC diagnostic.data. Para mongod, el directorio se encuentra dentro de storage.dbPath. Para mongos, es paralelo a systemLog.path.

Nota

Nota

  • MongoDB 5.0 elimina la opción de línea de comandos --serviceExecutor y la opción de configuración net.serviceExecutor correspondiente.
--help, -h

Devuelve información sobre las opciones y el uso de mongos.

--version

Devuelve el número de la versión mongos.

--config <filename>, -f <filename>

Especifica un archivo de configuración para las opciones de configuración en tiempo de ejecución. El archivo de configuración es el método preferido para la configuración en tiempo de ejecución de mongos. Estas opciones son equivalentes a las opciones de configuración de la línea de comandos. Consulta Opciones del archivo de configuración autogestionada para obtener más información.

Asegúrese de que el archivo de configuración utilice codificación ASCII. La instancia mongos no admite archivos de configuración con la codificación no ASCII, incluido UTF-8.

--configExpand <none|rest|exec>

Por defecto: ninguno

Permite usar Directivas de expansión en archivos de configuración. Las directivas de expansión permiten establecer valores de origen externo para las opciones del archivo de configuración.

--configExpand ofrece soporte para las siguientes directivas de expansión:

Valor
Descripción

none

Predeterminado. mongos no expande las directrices de expansión. mongos no se inicia si alguna configuración de archivo utiliza directivas de expansión.

rest

mongos expande __rest directivas de expansión al analizar el archivo de configuración.

exec

mongos expande __exec directivas de expansión al analizar el archivo de configuración.

Puede especificar varias directivas de expansión como una lista separada por comas, por ejemplo:. rest, exec Si el archivo de configuración contiene directivas de expansión no especificadas --configExpand para,mongos devuelve un error y finaliza.

Para obtener más información sobre las directivas de expansión, consulte Valores de configuración externos para MongoDB autogestionado para obtener archivos de configuración.

--verbose, -v

Aumenta la cantidad de reportes internos devueltos en la salida estándar o en las entradas de registro. Aumente el nivel de verbosidad con el formulario -v al incluir la opción varias veces, por ejemplo: -vvvvv.

--quiet

Ejecuta mongos en un modo silencioso que limita la salida.

Esta opción suprime:

  • resultado de los comandos de base de datos

  • Actividad de replicación

  • eventos de aceptación de conexión

  • eventos de cierre de conexión

--port <port>

Por defecto: 27017

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

La opción --port acepta un rango de valores entre 0 y 65535. Al establecer el puerto en 0, se configura mongos para usar un puerto arbitrario asignado por el sistema operativo.

--bind_ip <hostnames|ipaddresses|Unix domain socket paths>

Por defecto: localhost

Los nombres de host, las direcciones IP y las rutas completas de los sockets de dominio Unix en los que mongos escucha las conexiones de los clientes. Puede conectar mongos a cualquier interfaz. Para vincularse a varias direcciones, introduzca una lista de valores separados por comas.

Por ejemplo: localhost,/tmp/mongod.sock

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

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

Nota

Si especifica una dirección IPv6 o un nombre de host que se resuelve en una 6 --bind_ip mongos --ipv6 6 6 dirección IPv para, debe comenzar con para habilitar la --bind_ip compatibilidad con IPv. Especificar una dirección IPv para no habilita la6 compatibilidad con IPv.

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

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

Importante

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

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

Advertencia

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

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

Para vincularse a todas las direcciones IPv4, introduzca 0.0.0.0.

Para conectarse a todas las direcciones IPv4 e IPv6, introduzca ::,0.0.0.0 o un asterisco "*" (escriba el asterisco entre comillas para evitar la expansión del patrón de nombre de archivo). O bien, utilice la configuración net.bindIpAll.

Nota

  • --bind_ip y --bind_ip_all son mutuamente excluyentes. Especificar ambas opciones hace que mongos genere un error y se detenga.

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

--bind_ip_all

Si se especifica, la mongos instancia se enlaza a todas las4 direcciones IPv (es0.0.0.0 decir,). Si mongos comienza --ipv6 con, también se enlaza a todas--bind_ip_all las6 direcciones IPv (es:: decir,).

mongos Solo admite IPv6 si comienza con.--ipv6 --bind_ip_all Especificar por sí solo no6 habilita la compatibilidad con IPv.

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.

Si no, puede establecer la opción --bind_ip en ::,0.0.0.0 o en un asterisco "*" (escriba el asterisco entre comillas para evitar la expansión del patrón de nombre de archivo).

Nota

--bind_ip y --bind_ip_all son mutuamente excluyentes. Es decir, puede especificar uno u otro, pero no ambos.

--listenBacklog <number>

Por defecto: constante SOMAXCONN del sistema de destino

La cantidad máxima de conexiones que puede haber en la cola de escucha.

Advertencia

Se debe consultar la documentación del sistema local para entender las limitaciones y los requisitos de configuración antes de usar este parámetro.

Importante

Para prevenir un comportamiento indefinido, se especifica un valor para este parámetro entre 1 y la constante SOMAXCONN del sistema local.

El valor por defecto del parámetro listenBacklog depende del sistema de destino. En Linux, MongoDB utiliza /proc/sys/net/core/somaxconn. En todos los demás sistemas de destino, MongoDB utiliza la constante de tiempo de compilación SOMAXCONN.

Algunos sistemas pueden interpretar SOMAXCONN de forma simbólica, y otros, numérica. El listen backlog real aplicado en la práctica puede diferir de cualquier interpretación numérica de la constante SOMAXCONN o del argumento a --listenBacklog.

Pasar un valor para el parámetro listenBacklog que exceda la constante SOMAXCONN del sistema local es, según la letra de las normas, un comportamiento indefinido. Los valores más altos pueden ser truncados silenciosamente como enteros, ser ignorados, provocar un consumo inesperado de recursos o tener otras consecuencias adversas.

--maxConns <number>

El número máximo de conexiones simultáneas que mongos acepta. Esta configuración no tiene efecto si es superior al umbral máximo de seguimiento de conexión configurado por el sistema operativo.

No asignes un valor demasiado bajo para esta opción, o encontrarás errores durante la operación normal de la aplicación.

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

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

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

--logpath <path>

Se debe enviar toda la información de registro de diagnóstico a una entrada de registro en lugar de a la salida estándar o al sistema syslog del host. MongoDB crea la entrada de registro en la ruta que se especifique.

Por defecto, MongoDB mueve cualquier archivo de registro existente en lugar de sobrescribirlo. Para agregar información al archivo de registro, configure la --logappend opción.

--syslog

Envía toda la salida de registro al sistema syslog del host en lugar de a la salida estándar o a un archivo de registro (--logpath).

La opción no es compatible con --syslog Windows.

Advertencia

El syslog demonio genera marcas de tiempo al registrar un mensaje, no cuando MongoDB lo emite. Esto puede generar marcas de tiempo erróneas en los registros, especialmente cuando el sistema está bajo una carga elevada. Recomendamos usar la --logpath opción en sistemas de producción para garantizar marcas de tiempo precisas.

MongoDB incluye el componente en sus mensajes de registros para syslog.

... ACCESS [repl writer worker 5] Unsupported modification to roles collection ...
--syslogFacility <string>

Por defecto: usuario

Especifica el nivel de funcionalidad utilizado para registrar mensajes en syslog. El valor que especifique debe ser compatible con la implementación de syslog de su sistema operativo. Para usar esta opción, debe habilitar la --syslog opción.

--logappend

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

--logRotate <string>

Por defecto: renombrar

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

  • rename Renombra la entrada de registro.

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

    Si reopen especifica, también debe --logappend usar.

--redactClientLogData

Disponible solamente en MongoDB Enterprise.

Un mongos que --redactClientLogData se ejecuta con oculta cualquier mensaje que acompañe a un evento de registro determinado antes de registrarlo. Esto evita que escriba mongos datos potencialmente confidenciales almacenados en la base de datos en el registro de diagnóstico. Los metadatos, como los códigos de error u operación, los números de línea y los nombres de los archivos de origen, siguen siendo visibles en los registros.

Utilice junto --redactClientLogData con el cifrado en reposo y TLS/SSL (cifrado de transporte) para facilitar el cumplimiento de los requisitos reglamentarios.

Por ejemplo, una implementación de MongoDB podría almacenar información de identificación personal (PII) en una o más colecciones. El mongos registro registra eventos como operaciones CRUD y metadatos de fragmentación, y podría exponer PII como parte de estas operaciones de registro. Un mongos registro que --redactClientLogData se ejecuta con elimina cualquier mensaje que acompañe a estos eventos antes de escribirlos en el registro, lo que elimina la PII.

El diagnóstico de un mongos proceso que --redactClientLogData se ejecuta con puede resultar más difícil debido a la falta de datos relacionados con un evento de registro. Consulte la página del manual de registro de procesos para ver un ejemplo del efecto de --redactClientLogData en la salida del registro.

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

--timeStampFormat <string>

Default: iso8601-local

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

Valor
Descripción

iso8601-utc

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

iso8601-local

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

Nota

El formato de marca de tiempo ya no es compatible con ctime. Un ejemplo de fecha con formato ctime es: Wed Dec 31 18:17:54.811.

--pidfilepath <path>

Especifica la ubicación del archivo donde se almacenará el ID de proceso (PID) del mongos proceso. El usuario que ejecuta el proceso mongod o mongos debe tener permisos de escritura en esta ruta. Si --pidfilepath no se especifica la opción, el proceso no crea un archivo PID. Utilice esta opción principalmente junto con la --fork opción.

Nota

Linux

En Linux, la gestión /etc/init.d systemctl de archivos PID suele ser responsabilidad del sistema de inicio de tu distribución: normalmente un archivo de servicio en el directorio o un archivo de unidad systemd registrado con. Utiliza la --pidfilepath opción solo si no estás usando uno de estos sistemas de inicio. Para más información, consulta la guía de instalación correspondiente a tu sistema operativo.

Nota

macOS

En macOS, la gestión de archivos PID generalmente se realiza brew mediante. Utilice la --pidfilepath opción solo si no está utilizando brew en su sistema macOS. Para obtener más información, consulte la Guía de instalación correspondiente a su sistema operativo.

--keyFile <file>

Especifica la ruta a un archivo de clave que almacena el secreto compartido que las instancias de MongoDB utilizan para autenticarse entre sí en un clúster fragmentado o un conjunto de réplicas. --keyFile client authorizationimplica. Consulte Autenticación interna/de membresía autogestionada 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.

--setParameter <options>

Especifica uno de los parámetros de MongoDB descritos en Parámetros de MongoDB Server para una implementación autogestionada. Puedes especificar múltiples campos setParameter.de

--noscripting

Se desactiva el motor de scripts. Cuando está deshabilitado, no se pueden utilizar operaciones que realicen la ejecución del código JavaScript en el lado del servidor, como el operador del query $where, el comando mapReduce, $accumulator y $function.

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

--nounixsocket

Deshabilita la escucha en el socket de dominio UNIX. se aplica solo a sistemas basados ​​en--nounixsocket Unix.

El proceso mongos siempre escucha en el socket UNIX a menos que se cumpla alguna de las siguientes condiciones:

mongos instalados desde los paquetes oficiales de Debian y de Red Hat o CentOS tienen la configuración bind_ip establecida en 127.0.0.1 por defecto.

--unixSocketPrefix <path>

Por defecto: /tmp

La ruta para el socket UNIX. se aplica solo a sistemas basados ​​en--unixSocketPrefix Unix.

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

--filePermissions <path>

Por defecto: 0700

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

--filePermissions se aplica únicamente a sistemas basados en Unix.

--fork

Habilita un modo demonio que ejecuta el mongos proceso en segundo plano. La opción no es compatible con --fork Windows.

Por mongos defecto, no se ejecuta como un demonio. Para ejecutar mongos como un demonio,--fork utilice o un proceso de control que gestione la demonización, como upstart systemdo.

El uso de la --fork opción requiere que configure la salida de registro para mongos con una de las siguientes opciones:

--transitionToAuth

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

Por ejemplo, si se utilizan keyfiles para autenticación interna, el mongos crea una conexión autenticada con cualquier mongod o mongos en la implementación utilizando un keyfile coincidente. Si los mecanismos de seguridad no coinciden, el mongos utiliza una conexión no autenticada en su lugar.

Un mongos que se ejecuta con --transitionToAuth no aplica controles de acceso de usuario. Los usuarios pueden conectarse a su implementación sin ninguna comprobación de control de acceso y realizar operaciones de lectura, escritura y administración.

Nota

Un mongos que se ejecuta con autenticación interna y sin --transitionToAuth requiere que los clientes se conecten utilizando controles de acceso de usuario. Actualice los clientes para que se conecten al mongos utilizando el usuario apropiado antes de reiniciar mongos --transitionToAuthsin.

--networkMessageCompressors <string>

Default: snappy,zstd,zlib

Especifica los compresores por defecto que se utilizarán para la comunicación entre esta instancia mongos y:

  • otros miembros del clúster particionado

  • controladores con soporte para el formato de mensaje OP_COMPRESSED.

MongoDB es compatible con los siguientes compresores:

Tanto mongod como las instancias de mongos tienen por defecto los compresores snappy,zstd,zlib, en ese orden.

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 especifica varios compresores, el orden en que los enumera también importa, al igual que el iniciador de la comunicación. Por ejemplo, si mongosh especifica los compresores de red zlib,snappy y mongod snappy,zlibespecifica, los mensajes entre mongosh y mongod zlibutilizan.

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

--timeZoneInfo <path>

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

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

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

wget https://downloads.mongodb.org/olson_tz_db/timezonedb-latest.zip
unzip timezonedb-latest.zip
mongos --timeZoneInfo timezonedb-2017b/

Advertencia

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

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

--outputConfig

Muestra las mongos opciones de configuración de la instancia, formateadas en YAML, en stdout y sale de la mongos instancia. Para las opciones de configuración que utilizan valores de configuración externos para MongoDB autogestionado, --outputConfig devuelve el valor resuelto para dichas opciones.

Advertencia

Esto puede incluir cualquier contraseña configurada o secretos previamente ocultos a través de la fuente externa.

Para ejemplos de uso, consulte:

--configdb <replicasetName>/<config1>,<config2>...

Especifica los servidores de configuración para el clúster fragmentado.

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 mongos instancias para el clúster 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 miembros del set de réplicas.

--localThreshold

Por defecto: 15

Especifica el tiempo de ping, en milisegundos, que mongos utiliza para determinar qué miembros del set de réplicas secundarias deben recibir las operaciones de lectura de los clientes. El valor por defecto de 15 corresponde al valor por defecto en todos los controladoresdel cliente.

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

  • 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 especifica un valor para la --localThreshold opción, mongos construye la lista de miembros de 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 miembro comparado por la configuración --localThreshold es un promedio móvil de los tiempos de ping recientes, calculado como máximo cada 10 segundos. Como resultado, algunas consultas pueden llegar a miembros que superan el umbral hasta que mongos recalcule el promedio.

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

Tip

Configurar instancias de MongoDB para cifrado TLS/SSL para obtener la documentación completa sobre el soporte de MongoDB.

--tlsMode <mode>

Habilita el uso de TLS para todas las conexiones de red. El argumento para la opción puede ser uno de los --tlsMode siguientes:

Valor
Descripción

disabled

El servidor no usa TLS.

allowTLS

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

preferTLS

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

requireTLS

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

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

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

Para más información acerca de TLS y MongoDB, consulta Configurar instancias de MongoDB para cifrado TLS/SSL y Configuración TLS/SSL para clientes .

--tlsCertificateKeyFile <filename>

Nota

En macOS o Windows, puede usar un certificado del almacén seguro del sistema operativo en lugar de especificar un archivo PEM.--tlsCertificateSelector Consulte.

Especifica el archivo .pem que contiene tanto el certificado TLS como la clave.

Para más información acerca de TLS y MongoDB, consulta Configurar instancias de MongoDB para cifrado TLS/SSL y Configuración TLS/SSL para clientes .

--tlsCertificateKeyFilePassword <value>

Especifica la contraseña para descifrar el archivo de clave de certificado (es--tlsCertificateKeyFile decir,). Utilice la opción solo si el archivo de clave de certificado está cifrado. En todos los casos, la --tlsCertificateKeyFilePassword opción mongos oculta la contraseña en todos los registros e informes.

Para más información acerca de TLS y MongoDB, consulta Configurar instancias de MongoDB para cifrado TLS/SSL y Configuración TLS/SSL para clientes .

--clusterAuthMode <option>

Por defecto: archivo de clave

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

Valor
Descripción

keyFile

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

sendKeyFile

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

sendX509

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

x509

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

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

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

Para más información acerca de TLS y MongoDB, consulta Configurar instancias de MongoDB para cifrado TLS/SSL y Configuración TLS/SSL para clientes .

--tlsClusterFile <filename>

Nota

En macOS o Windows, puede usar un certificado del almacén seguro del sistema operativo en lugar de un archivo PEM.--tlsClusterCertificateSelector Consulte.

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

Si no especifica --tlsClusterFile el .pem archivo para la autenticación interna del clúster o la alternativa, el clúster utiliza --tlsClusterCertificateSelector el .pem archivo especificado en la opción o el certificado --tlsCertificateKeyFile devuelto --tlsCertificateSelector por.

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

mongod / registra una advertencia en la conexión si mongos el509 certificado X. presentado caduca dentro 30 de los días de la mongod/mongos hora del sistema host.

Para más información acerca de TLS y MongoDB, consulta Configurar instancias de MongoDB para cifrado TLS/SSL y Configuración TLS/SSL para clientes .

--tlsClusterPassword <value>

Especifica la contraseña para descifrar el509 archivo de clave de certificado X. especificado --tlsClusterFile con. Utilice la opción solo si el archivo de clave de certificado está cifrado. En todos los casos, la --tlsClusterPassword opción mongos oculta la contraseña en todos los registros y la información de salida.

  • En Linux/BSD, si la clave privada del509 archivo X. está cifrada y no se especifica la opción, MongoDB solicita una --tlsClusterPassword contraseña.Consulte Contraseña del certificado TLS/SSL.

  • En macOS o Windows, si la clave privada del archivo X.509 está cifrada, debe especificar explícitamente la --tlsClusterPassword opción. Como alternativa, puede usar un certificado del almacén seguro del sistema --tlsClusterCertificateSelector (consulte) en lugar de un archivo PEM de clúster o usar un archivo PEM sin cifrar.

Para más información acerca de TLS y MongoDB, consulta Configurar instancias de MongoDB para cifrado TLS/SSL y Configuración TLS/SSL para clientes .

--tlsCAFile <filename>

Especifica el archivo .pem que contiene la cadena de certificados raíz de la Autoridad Certificadora. Especifica el nombre del archivo .pem con rutas relativas o absolutas.

En macOS o Windows, puede usar un certificado del almacén seguro del sistema operativo en lugar de un archivo de clave PEM. Consulte. Al usar el almacén seguro, no es necesario, pero puede --tlsCertificateSelector especificar --tlsCAFile también.

Para más información acerca de TLS y MongoDB, consulta Configurar instancias de MongoDB para cifrado TLS/SSL y Configuración TLS/SSL para clientes .

--tlsClusterCAFile <filename>

Especifica el archivo .pem que contiene la cadena de certificados raíz de la Autoridad de Certificación utilizada para validar el certificado presentado por un cliente que establece una conexión. Especifica el nombre del archivo .pem utilizando rutas relativas o absolutas.

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

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

En macOS o Windows, puede usar un certificado del almacén seguro del sistema operativo en lugar de un archivo de clave PEM. Consulte. Al usar el almacén seguro, no es necesario, pero puede --tlsClusterCertificateSelector especificar --tlsClusterCAFile también.

Requiere que esté --tlsCAFile configurado.

Para más información acerca de TLS y MongoDB, consulta Configurar instancias de MongoDB para cifrado TLS/SSL y Configuración TLS/SSL para clientes .

--tlsCertificateSelector <parameter>=<value>

Nota

Disponible en Windows y macOS como alternativa --tlsCertificateKeyFile a.

Las --tlsCertificateKeyFile opciones y son mutuamente excluyentes. Solo puede especificar una.--tlsCertificateSelector

Especifica una propiedad de certificado para seleccionar un certificado coincidente de los almacenes de certificados del sistema operativo.

--tlsCertificateSelector acepta un argumento del formato <property>=<value> donde la propiedad puede ser una de las siguientes:

Propiedad
Tipo de valor
Descripción

subject

string ASCII

Nombre del sujeto o nombre común en el certificado

thumbprint

cadena hexadecimal

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

El thumbprint a veces se conoce como fingerprint.

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

Nota

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

--tlsClusterCertificateSelector <parameter>=<value>

Nota

Disponible en Windows y macOS como alternativa --tlsClusterFile a.

--tlsClusterFile Las --tlsClusterCertificateSelector opciones y son mutuamente excluyentes. Solo puede especificar una.

Se especifica una propiedad del certificado para seleccionar un certificado coincidente del almacén de certificados del sistema operativo para utilizar en la autenticación interna.

--tlsClusterCertificateSelector acepta un argumento del formato <property>=<value> donde la propiedad puede ser una de las siguientes:

Propiedad
Tipo de valor
Descripción

subject

string ASCII

Nombre del sujeto o nombre común en el certificado

thumbprint

cadena hexadecimal

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

El thumbprint a veces se conoce como fingerprint.

mongod / registra una advertencia en la conexión si mongos el509 certificado X. presentado caduca dentro 30 de los días de la mongod/mongos hora del sistema host.

--tlsCRLFile <filename>

Especifica el archivo .pem que contiene la Lista de revocación de certificados. Especifica el nombre del archivo .pem con rutas relativas o absolutas.

Nota

  • No se puede especificar un archivo CRL en macOS. En su lugar, puede usar el almacén de certificados SSL del sistema, que utiliza OCSP (Online Certificate Status Protocol) para validar el estado de revocación de los certificados. Para usar el almacén de certificados SSL del sistema,--tlsCertificateSelector consulte.

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

Para más información acerca de TLS y MongoDB, consulta Configurar instancias de MongoDB para cifrado TLS/SSL y Configuración TLS/SSL para clientes .

--tlsAllowConnectionsWithoutCertificates

Por defecto, el servidor omite la validación del certificado del cliente a menos que esté configurado para utilizar un archivo de la Autoridad de Certificación (CA). Si se proporciona un archivo de CA, se aplican las siguientes reglas:

  • Para los clientes que no proporcionan certificados, mongod o cifra la conexión TLS/SSL, suponiendo que la conexión se haya realizado mongos correctamente.

  • Para los clientes que presentan un certificado, mongos realiza la validación del certificado utilizando la cadena de certificados raíz especificada por --tlsCAFile y rechaza a los clientes con certificados inválidos.

Utilice la opción si tiene una implementación mixta que incluye clientes que no presentan o no pueden presentar --tlsAllowConnectionsWithoutCertificates certificados mongos al.

Para más información acerca de TLS y MongoDB, consulta Configurar instancias de MongoDB para cifrado TLS/SSL y Configuración TLS/SSL para clientes .

--tlsAllowInvalidCertificates

Evita las comprobaciones de validación de los certificados TLS en otros servidores del clúster y permite el uso de certificados no válidos para conectarse.

Nota

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

Al usar la configuración, MongoDB registra una advertencia sobre el uso del certificado no --tlsAllowInvalidCertificates válido.

Para más información acerca de TLS y MongoDB, consulta Configurar instancias de MongoDB para cifrado TLS/SSL y Configuración TLS/SSL para clientes .

--tlsAllowInvalidHostnames

Desactiva la validación de los nombres de host en los certificados TLS al conectarse a otros nodos del set de réplicas o del clúster para la autenticación entre procesos. Esto permite que mongos se conecte a otros nodos si los nombres de host en sus certificados no coinciden con su nombre de host configurado.

Para más información acerca de TLS y MongoDB, consulta Configurar instancias de MongoDB para cifrado TLS/SSL y Configuración TLS/SSL para clientes .

--tlsDisabledProtocols <protocol(s)>

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, utiliza una lista de protocolos separada por comas.

--tlsDisabledProtocols reconoce los siguientesTLS1_0 TLS1_1protocolos:,, TLS1_2 TLS1_3y.

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

  • Para enumerar varios protocolos, especifíquelos como una lista de protocolos separados por comas. Por ejemplo TLS1_0,TLS1_1.

  • Especificar un protocolo no reconocido 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.1o superior está disponible en el sistema. Para habilitar TLS,1.0 especifique none entre --tlsDisabledProtocols y.

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

--tlsFIPSMode

Indica a mongos que utilice el modo FIPS de la biblioteca TLS. Su sistema debe tener una biblioteca compatible con FIPS para utilizar la --tlsFIPSMode opción.

A partir de MongoDB,8.3 no se puede especificar SCRAM-SHA-1 para mientras también authenticationMechanisms se especifica mongod --tlsFIPSMode mongos --tlsFIPSModeo.

Si intentas especificar SCRAM-SHA-1 para authenticationMechanisms mientras también especificas --tlsFIPSMode, el servidor arroja un error y registra un mensaje similar al siguiente:

SCRAM-SHA-1 is not allowed in FIPS mode.

Nota

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

--auditCompressionMode

Nuevo en la versión 5.3.

Especifica el modo de compresión para el cifrado del registro de auditoría. También debe habilitar el cifrado del registro de auditoría mediante --auditEncryptionKeyUID --auditLocalKeyFileo.

Puedes establecer esta opción en uno de estos valores:

Valor
Descripción

zstd

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

none (por defecto)

No comprimas el registro de auditoría.

Nota

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

--auditDestination

Permite auditar y especifica dónde mongos envía todos los eventos de auditoría.

--auditDestination puede tener uno de los siguientes valores:

Valor
Descripción

syslog

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

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

console

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

file

Generar los eventos de auditoría en el archivo especificado en --auditPath en el formato especificado --auditFormat en.

Nota

Disponible solo en MongoDB Enterprise y MongoDB Atlas.

--auditEncryptionKeyUID

Nuevo 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 puedes usar esta opción y --auditLocalKeyFile juntas.

Nota

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

--auditFormat

Especifica el formato del archivo de salida para la auditoría --auditDestination si file es. La opción puede tener uno de los siguientes --auditFormat valores:

Valor
Descripción

JSON

Generar los eventos de auditoría en formato JSON al archivo especificado --auditPath en.

BSON

Generar los eventos de auditoría en formato binario BSON al archivo especificado --auditPath en.

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.

--auditLocalKeyFile

Nuevo 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 esta opción únicamente para realizar pruebas, ya que la clave no está protegida. Para proteger la clave, utilice --auditEncryptionKeyUID y un servidor externo del Protocolo de Interoperabilidad de Gestión de Claves (KMIP).

No puede utilizar ambas opciones a la vez.

Nota

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

--auditPath

Especifica el archivo de salida para la auditoría si --auditDestination tiene el valor file de. La opción puede tomar una ruta completa o una ruta --auditPath relativa.

Nota

Disponible solo en MongoDB Enterprise y MongoDB Atlas.

--auditFilter

Especifica 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, debe utilizar el formato YAML del archivo de configuración.

Nota

Disponible solo en MongoDB Enterprise y MongoDB Atlas.

--auditSchema

Tipo: string

Por defecto: mongo

Nuevo en la versión 8.0.

Especifica el formato utilizado para los registros de auditoría. Puede especificar uno de los siguientes valores para --auditSchema:

Valor
Descripción

mongo

Los registros se escriben en un formato diseñado por MongoDB.

Para ver ejemplos de mensajes de registro, consulta mensajes de auditoría del esquema mongo.

OCSF

Los registros se escriben en formato OCSF. Esta opción proporciona registros en un formato estandarizado compatible con los procesadores de logs.

Para ejemplos de mensajes de registro, consulta Esquema de Mensajes de Auditoria OCSF.

--slowms <integer>

Por defecto: 100

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

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

Con configuraciones más altas de logLevel, todas las operaciones aparecen en el registro de diagnóstico independientemente de su latencia.

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

--slowOpSampleRate <double>

Por defecto: 1.0

La fracción de operaciones lentas que deben registrarse. acepta valores --slowOpSampleRate entre 0 y,1 ambos inclusive.

Para mongos instancias, --slowOpSampleRate afecta solo al registro de diagnóstico y no al generador de perfiles, ya que la generación de perfiles no está disponible mongos en.

Nota

A partir de MongoDB 8.0, la autenticación y autorización de LDAP están obsoletas. LDAP está disponible y continuará operando sin cambios durante toda la vida útil de MongoDB 8. LDAP se eliminará en una futura versión principal.

Para más detalles, consulte Deprecación de LDAP.

--ldapServers <host1>:<port>,<host2>:<port>,...,<hostN>:<port>

Disponible solamente en MongoDB Enterprise.

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

Si su infraestructura LDAP particiona el directorio LDAP en varios servidores LDAP, especifique un servidor LDAP o cualquiera de sus instancias replicadas en. MongoDB admite las --ldapServers siguientes referencias LDAP 4511 4 definidas en RFC,110 y. No utilice para listar todos los servidores LDAP de su --ldapServers infraestructura.

Esta configuración se puede configurar en un mongos en ejecución al utilizar setParameter.

Si no se configura, mongos no puede utilizar la autenticación o la autorización LDAP.

--ldapValidateLDAPServerConfig <boolean>

Disponible en MongoDB Enterprise

Un indicador que determina si la mongos instancia comprueba la disponibilidad de como parte de su LDAP server(s) inicio:

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

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

--ldapQueryUser <string>

Disponible solamente en MongoDB Enterprise.

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

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

Debes usar --ldapQueryUser --ldapQueryPasswordcon.

Si no se establece, mongos no intenta vincularse al servidor LDAP.

Esta configuración se puede configurar en un mongos en ejecución al utilizar setParameter.

Nota

Las implementaciones de MongoDB en Windows pueden usar--ldapBindWithOSDefaultsen lugar de--ldapQueryUsery--ldapQueryPassword. No se pueden especificar--ldapQueryUsery--ldapBindWithOSDefaultsal mismo tiempo.

--ldapQueryPassword <string>

Disponible solamente en MongoDB Enterprise.

La contraseña utilizada para conectarse a un servidor LDAP cuando se utiliza. Debe --ldapQueryUser utilizar --ldapQueryPassword --ldapQueryUsercon.

Si no se establece, mongos no intenta vincularse al servidor LDAP.

Esta configuración se puede configurar en un mongos en ejecución al utilizar setParameter.

Nota

Las implementaciones de MongoDB en Windows pueden usar--ldapBindWithOSDefaultsen lugar de--ldapQueryPasswordy--ldapQueryPassword. No se pueden especificar--ldapQueryPasswordy--ldapBindWithOSDefaultsal mismo tiempo.

--ldapBindWithOSDefaults <bool>

Por defecto: false

Disponible solo en MongoDB Enterprise para la plataforma Windows.

Permite que mongos se autentique o vincule mediante sus credenciales de inicio de sesión de Windows al conectarse al servidor LDAP.

Solo es requerido si:

Utilice --ldapBindWithOSDefaults para reemplazar --ldapQueryUser y.--ldapQueryPassword

--ldapBindMethod <string>

Por defecto: simple

Disponible solamente en MongoDB Enterprise.

El método se mongos utiliza para autenticarse en un servidor LDAP. Úselo con --ldapQueryUser y para conectarse al servidor --ldapQueryPassword LDAP.

--ldapBindMethod admite los siguientes valores:

  • simple - mongos utiliza autenticación sencilla.

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

Si sasl especifica, puede configurar los mecanismos SASL disponibles --ldapBindSaslMechanisms usando. mongos usa por defecto el DIGEST-MD5 mecanismo.

--ldapBindSaslMechanisms <string>

Por defecto: DIGEST-MD5

Disponible solamente en MongoDB Enterprise.

Una lista separada por comas de los mecanismos SASL que mongos puede utilizar al autenticarse en el servidor LDAP. El mongos y el servidor LDAP deben coincidir en al menos un mecanismo. mongos carga dinámicamente cualquier biblioteca de mecanismos SASL instalada en la máquina host en tiempo de ejecución.

Instale y configure las librerías adecuadas para los mecanismos SASL seleccionados tanto en el host mongos como 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 usas el mecanismo SASL GSSAPI para la autenticación Kerberos en implementaciones autogestionadas, verifica lo siguiente para la máquina host mongos:

Linux
  • La variable de entorno KRB5_CLIENT_KTNAME se 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 Usuario principal para que mongos lo utilice al conectarse al servidor LDAP y ejecutar consultas LDAP.

Windows
Si se conecta a un servidor de Active Directory, la configuración de Windows Kerberos genera automáticamente un Ticket de Concesión de Tickets cuando el usuario inicia sesión en el sistema. Configure --ldapBindWithOSDefaults con true para permitir mongos que utilice las credenciales generadas al conectarse al servidor de Active Directory y ejecutar consultas.

Establezca --ldapBindMethod en sasl para usar esta opción.

Nota

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

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

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

--ldapTransportSecurity <string>

Por defecto: tls

Disponible solamente en MongoDB Enterprise.

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

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

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

Establezca --ldapTransportSecurity en none para deshabilitar TLS/SSL entre mongos y el servidor LDAP.

Advertencia

Configurar --ldapTransportSecurity a none transmite información en texto plano y posiblemente credenciales entre mongos y el servidor LDAP.

--ldapTimeoutMS <int>

Por defecto: 10000

Disponible solamente en MongoDB Enterprise.

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

Aumentar el valor de --ldapTimeoutMS puede evitar fallos de conexión entre el servidor MongoDB y el servidor LDAP, si la causa del fallo es un tiempo de espera agotado. Disminuir el valor de reduce el tiempo que MongoDB espera una respuesta del servidor --ldapTimeoutMS LDAP.

Esta configuración se puede configurar en un mongos en ejecución al utilizar setParameter.

--ldapRetryCount <int>

Nuevo en la versión 6.1.

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.

--ldapUserToDNMapping <string>

Disponible solamente en MongoDB Enterprise.

Asigna el nombre de usuario proporcionado a mongos para la autenticación a un nombre distinguido (DN) de LDAP. Es posible que deba usar para transformar un nombre de usuario en un DN de LDAP en los siguientes --ldapUserToDNMapping casos:

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

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

  • Transformar los nombres de usuario de los clientes que se autentican en MongoDB mediante diferentes mecanismos de autenticación, como x.509 o Kerberos, a un nombre distinguido completo de LDAP para la autorización.

--ldapUserToDNMapping espera una cadena JSON entre comillas que represente una matriz ordenada de documentos. Cada documento contiene una expresión regular match y una substitution ldapQuery plantilla o utilizada para transformar el nombre de usuario entrante.

Cada documento en el arreglo tiene la siguiente forma:

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

match

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

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

substitution

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

El resultado de la sustitución debe ser una 4514 cadena de escape RFC.

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

ldapQuery

Una plantilla match 4515 4516de formato de consulta LDAP que inserta el nombre de autenticación que coincide con la match expresión regular en una URI de consulta LDAP codificada según RFC y RFC. Cada valor numérico entre llaves se reemplaza por el grupo de captura de expresión regular correspondiente extraído del nombre de usuario de autenticación mediante la expresión. mongos ejecuta la consulta contra el servidor LDAP para recuperar el DN LDAP del usuario autenticado. mongos requiere exactamente un resultado devuelto para que la transformación sea exitosa, o mongos omite esta transformación.

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

Nota

La explicación de 4514RFC, RFC,4515 RFC4516 o las consultas LDAP queda fuera del alcance de la documentación de MongoDB. Consulte directamente el RFC o utilice su recurso LDAP preferido.

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

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

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

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

A partir de MongoDB,5.0 --ldapUserToDNMapping acepta una "" cadena vacía o una matriz vacía [ ] en lugar de un documento de mapeo. Si se proporciona una cadena vacía o una matriz vacía --ldapUserToDNMapping a, MongoDB mapea el nombre de usuario autenticado como el DN de LDAP. Anteriormente, proporcionar un documento de mapeo vacío provocaba un error en el mapeo.

Ejemplo

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

Importante

Debe pasar el arreglo a --ldapUserToDNMapping como una string.

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

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

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

Si no está --ldapUserToDNMapping definido, mongos no aplica ninguna transformación al nombre de usuario cuando intenta autenticar o autorizar a un usuario contra el servidor LDAP.

Esta configuración se puede ajustar en un mongos en ejecución al utilizar el comando de base de datos setParameter.

--ipv6

Habilita el soporte para IPv6. mongos desactiva el soporte de IPv6 por defecto.

La configuración no --ipv6 indica a que mongos escuche en ninguna6 dirección o interfaz IPv local. Para configurar para que mongos escuche en una interfaz IPv,6 debe:

  • Configure con una o --bind_ip más6 direcciones IPv o nombres de host que se resuelvan en6 direcciones IPv, o

  • Establecer --bind_ip_all a.true