Cloud Manager te permite configurar los mecanismos de autenticación que todos los clientes, incluidos los agentes de Cloud Manager, utilizan para conectarse a tus implementaciones de MongoDB. Puedes habilitar múltiples mecanismos de autenticación para cada uno de tus proyectos, pero debes elegir solo un mecanismo para los Agentes.
MongoDB soporta certificado X.509 autenticación para su uso con una segura Conexión TLS. La autenticación de clientes X.509 permite que los clientes se autentiquen en los servidores con certificados en lugar de con un nombre de usuario y una contraseña.
Nota
Con automatización, Cloud Manager gestiona la autenticación de MongoDB Agent por ti. Para aprender más sobre la autenticación, consulte Habilite la autenticación x.509 para su Proyecto de Cloud Manager.
Considerations
Una descripción completa de la Seguridad de la capa de transporte, Infraestructura de llave pública, certificados X.509, y Autoridades certificadoras excede el alcance de este tutorial. Este tutorial asume conocimientos previos de TLS y acceso a certificados X.509 válidos.
Requisitos previos
Para habilitar la autenticación X.509 para Cloud Manager, debe obtener certificados TLS válidos generados y firmados por una sola autoridad certificadora (CA). Para obtener más información sobre los requisitos de certificados, consulta Certificado x.509 de cliente en el Manual de MongoDB.
La autenticación de certificados de cliente X.509 requiere que habilites y configures TLS para la implementación.
Procedimientos
Este tutorial asume que ya ha configurado su implementación de MongoDB para utilizar la autenticación de certificados X.509 y TLS. Si no lo has hecho, consulta los tutoriales Usar certificados X.509 para autenticar clientes y Configurar mongod y mongos para TLS.
Cree un usuario de MongoDB desde X.509 subject
Cuando la automatización está activada, Cloud Manager gestiona la autenticación de MongoDB Agent.
Para configurar X.509 para la autenticación del MongoDB Agent, vea Habilite la autenticación de certificado de Cliente x.509 para su proyecto de Cloud Manager.
Para que el MongoDB Agent se conecte a tu implementación de MongoDB, debes crear un usuario de MongoDB en tu implementación que corresponda al valor subject de tu certificado de cliente.
Dónde crear el usuario de MongoDB depende de si utilizas o no autorización LDAP.
Nota
A partir de MongoDB 8.0, La autenticación y autorización LDAP está en desuso. La funcionalidad está disponible y seguirá funcionando sin cambios durante toda la vida útil de MongoDB 8. LDAP será retirado en una futura versión importante.
Para más detalles, consulta Obsolescencia de LDAP.
Si utiliza la autorizacion LDAP en su implementación de MongoDB, debe crear un usuario LDAP y un grupo LDAP para el MongoDB Agent en el servidor LDAP. Después de crear el usuario y grupo de LDAP, asigna el grupo de LDAP a un rol de MongoDB en la base de datos admin de tu implementación.
Advertencia
Al utilizar la autorizacion LDAP, no crear ningún usuario de MongoDB en la base de datos $external. MongoDB 3.4 y posteriores no se inician si existe un usuario MongoDB en la base de datos $external y la autorizacion LDAP está habilitada.
Para el usuario de MongoDB que representa el MongoDB Agent:
Cree un nuevo usuario LDAP en su servidor LDAP que use el valor
subjectde su certificado de cliente como nombre de usuario.Cree un grupo LDAP cuyo nombre coincida con el rol del MongoDB Agent.
Cree el rol del MongoDB Agent en su base de datos
admincon los permisos apropiados.Nota
Cuando se activa la automatización, Automation automáticamente crea un rol para el usuario del MongoDB Agent para la autenticación LDAP.
Asigne el usuario LDAP al grupo LDAP.
Tip
Para aprender a: | Ver |
|---|---|
Crear un usuario LDAP | Documentación para su implementación de LDAP. |
Crear un grupo LDAP | Documentación para su implementación de LDAP. |
Asigna los roles adecuados para el MongoDB Agent | |
Mapee un grupo LDAP y un rol de MongoDB | sección Roles LDAP de la página autorizacion LDAP en el manual de MongoDB. |
Configure la autorizacion LDAP sin automatización de Cloud Manager | Página autorizacion LDAP en el manual de MongoDB. |
Si no está utilizando la autorización LDAP, debe agregar el valor subject de su certificado de cliente como el nombre de usuario del Agente de MongoDB en la base de datos $external de su implementación de MongoDB. Sin la autorización LDAP, MongoDB utiliza la base de datos $external para autenticar a un usuario contra X.509.
Nota
Para descubrir los roles apropiados para el MongoDB Agent, accede a: Required Access for MongoDB Agent.
Utiliza los siguientes comandos para crear los usuarios desde mongosh:
db.getSiblingDB("$external").createUser( { user : "<x.509 subject>", roles : [ { role : "clusterAdmin", db : "admin" }, { role : "readWriteAnyDatabase", db : "admin" }, { role : "userAdminAnyDatabase", db : "admin" }, { role : "dbAdminAnyDatabase", db : "admin" }, { role : "backup", db : "admin" }, { role : "restore", db : "admin" } ] } )
Para aprender qué acceso se requiere, consulte Acceso requerido para MongoDB Agent.
Cada usuario de MongoDB debe tener su propio certificado X.509.
Editar el archivo de configuración de MongoDB Agent
Para utilizar la autenticación X.509, se debe configurar el MongoDB Agent para TLS:
Especifique la ruta absoluta del archivo a su certificado CA confiable en el archivo de configuración del MongoDB Agent.
Si activaste TLS para tu implementación de Cloud Manager, debes configurar el MongoDB Agent para que utilice TLS. Para configurar el MongoDB Agent para utilizar TLS, debe disponer del certificado de la entidad certificadora de confianza que firmó el certificado de la instancia de MongoDB.
En el directorio de instalación de MongoDB Agent, edita el archivo de configuración para establecer el campo httpsCAFile con la ruta de un archivo que contenga uno o más certificados en formato PEM.
La ubicación del archivo de configuración de MongoDB Agent es C:\MMSData\Automation\automation-agent.config.
Nota
El archivo de configuración del MongoDB Agent se llama automation-agent.config como una forma de facilitar las actualizaciones para quienes utilizan agentes antiguos.
La ubicación del archivo de configuración de MongoDB Agent es /etc/mongodb-mms/automation-agent.config.
Nota
El archivo de configuración del MongoDB Agent se llama automation-agent.config como una forma de facilitar las actualizaciones para quienes utilizan agentes antiguos.
La ubicación del archivo de configuración de MongoDB Agent es /etc/mongodb-mms/automation-agent.config.
Nota
El archivo de configuración del MongoDB Agent se llama automation-agent.config como una forma de facilitar las actualizaciones para quienes utilizan agentes antiguos.
La ubicación del archivo de configuración de MongoDB Agent es /path/to/install/local.config.
Ejemplo
Utiliza el siguiente comando para conectar a través de mongosh:
mongosh --tls --tlsCAFile /etc/ssl/ca.pem example.net:27017
Luego, modifica el archivo de configuración y establece el siguiente par clave/valor:
httpsCAFile=/etc/ssl/ca.pem
Guarda el archivo de configuración.
Para obtener más información sobre estos ajustes, consulta Ajustes de TLS de Cloud Manager.
Configurar MongoDB Agent para usar TLS ofrece más detalles sobre cómo configurar el MongoDB Agent para TLS.
Después de configurar el MongoDB Agent, configura el mecanismo de Autenticación X.509 en la interfaz de Cloud Manager, como se describe en Habilitar la autenticación x.509 para tu proyecto Cloud Manager.