Nota
Comenzando con MongoDB 8.0, La autenticación y autorizaciónLDAP está obsoleta. Esta función está disponible y seguirá funcionando sin cambios durante la vida útil de MongoDB. 8 LDAP se eliminará en una futura versión principal.
Para más detalles, consulta Obsolescencia de LDAP.
Si su implementación de MongoDB aplica control de acceso, el Agente de MongoDB debe autenticarse en MongoDB como un usuario con el acceso adecuado. Si utiliza Automatización, Cloud Manager se encarga de esto por usted.
MongoDB Enterprise admite la vinculación simple y SASL a servidores LDAP a través de saslauthd y bibliotecas del sistema operativo:
MongoDB Enterprise para Linux puede vincularse a un servidor LDAP a través de
saslauthdo mediante bibliotecas del sistema operativo.MongoDB Enterprise para Windows puede vincularse a un servidor LDAP a través de las bibliotecas del sistema operativo.
El agente MongoDB admite la autenticación en instancias MongoDB mediante LDAP.
Nota
Con Automation, Cloud Manager gestiona la autenticación del agente de MongoDB. Para obtener más información sobre la autenticación, consulte Administrar la autenticación LDAP para su proyecto de Cloud Manager.
Requisitos previos
Configurar implementaciones para usar autenticación
El Agente de MongoDB interactúa con las bases de datos de MongoDB en su implementación como lo haría un usuario de MongoDB. Por lo tanto, debe configurar su implementación de MongoDB y el Agente de MongoDB para que admitan la autenticación.
Puede especificar los mecanismos de autenticación de la implementación al agregarla o editar la configuración de una implementación existente. Como mínimo, la implementación debe habilitar el mecanismo de autenticación que desea que utilice el Agente de MongoDB. El Agente de MongoDB puede usar cualquier mecanismo de autenticación compatible.
Establecer la variable de entorno Requerir certificado TLS
En los hosts del agente MongoDB, debe configurar TLS_REQCERTvariable de entorno demand a.
Ejemplo
En un host de Red Hat Enterprise Linux, abra el archivo /etc/openldap/ldap.conf y agregue la siguiente configuración y valor:
TLS_REQCERT demand
Puede utilizar su aplicación para configurar esta variable de entorno.
Considerations
Si Automation no administra su implementación, debe configurar la autenticación LDAP por separado para cada función.
Para configurar la autenticación LDAP, agregue un host o edite la configuración de un host existente.
Crear y configurar un usuario en MongoDB
Para automatizar las instancias de MongoDB que usan autenticación LDAP, agregue un usuario de MongoDB con los roles y privilegios necesarios a la $external base de datos. La $external base de datos permite a consultar una mongod fuente externa, como un servidor LDAP, para autenticarse.
Utiliza los siguientes comandos para crear los usuarios desde mongosh:
db.getSiblingDB("$external").createUser( { user : "<username>", 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 obtener más información sobre el acceso requerido,consulte Acceso requerido para el agente MongoDB.
Para realizar una copia de seguridad 4.0 de las instancias de MongoDB o posteriores que utilizan autenticación LDAP, agregue un usuario con los roles necesarios a la $external base de datos de MongoDB. La $external base de datos almacena las credenciales para la autenticación externa y los detalles de autorización.
Utilice el siguiente comando para crear el mongosh usuario:
db.getSiblingDB("$external").createUser( { user : "<username>", roles: [ { role: "clusterAdmin", db: "admin" } ] } )
db.getSiblingDB("$external").createUser( { user: "<username>", roles: [ { role: "backup", db: "admin" } ] } )
Para obtener más información sobre el acceso requerido, consulte Acceso requerido para la copia de seguridad del agente de MongoDB
Para supervisar instancias 4.0 o posteriores de MongoDB que utilicen autenticación LDAP, agrega un usuario a la base de datos $external en MongoDB. La base de datos $external almacena las credenciales para la autenticación externa y los detalles de autorización. Asigne a este usuario los roles proporcionados en el siguiente ejemplo.
Utilice el siguiente comando para crear el mongosh usuario:
db.getSiblingDB("$external").createUser( { user : "<username>", roles: [ { role: "clusterMonitor", db: "admin" } ] } )
Para saber qué roles requiere esta función, consulte Configuración de monitoreo.