If your MongoDB deployment enforces access control, the MongoDB Agent must authenticate to MongoDB as a user with the proper access. If you use Automation, Ops Manager takes care of this for you.
MongoDB Enterprise supports simple and SASL binding to LDAP servers via saslauthd and operating system libraries:
MongoDB Enterprise for Linux can bind to an LDAP server either via
saslauthdor via operating system libraries.MongoDB Enterprise for Windows can bind to an LDAP server via the operating system libraries.
MongoDB Agent support authenticating to MongoDB instances using LDAP.
Nota
Con Automation, Ops Manager gestiona la autenticación del agente de MongoDB. Para obtener más información sobre la autenticación, consulte Habilitar la autenticación LDAP para su proyecto de Ops 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
On the MongoDB Agent hosts, you must set the
TLS_REQCERT environment variable to demand.
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
If Automation does not manage your deployment, you must configure LDAP authentication separately for each function.
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
To automate MongoDB instances that use LDAP authentication, add a MongoDB user that possesses the required roles and privileges to the $external database in MongoDB. The $external database allows mongod to consult an external source, such as an LDAP server, to authenticate.
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.
To back up MongoDB 4.0 or later instances that use LDAP authentication, add a user that possess the required roles to the $external database in MongoDB. The $external database stores credentials for external authentication and authorization details.
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.