Nota
Comenzando con MongoDB 8.0, La autenticación y autorización LDAP está obsoleta. La funcionalidad está disponible y seguirá funcionando sin cambios durante toda la vida útil de MongoDB 8. LDAP será removido en una próxima versión importante.
Para obtener más detalles, consulte Desuso 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 La automatización, Ops Manager se encarga de esto por ti.
MongoDB Enterprise admite la vinculación simple y la vinculación SASL a los servidores LDAP mediante saslauthd y librerías 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 conectarse a un servidor LDAP a través de las librerías del sistema operativo.
El MongoDB Agent admite la autenticación en instancias de MongoDB mediante LDAP.
Nota
Con la Automatización, Ops Manager gestiona la autenticación de MongoDB Agent por ti. Para obtener más información sobre autenticación, consulte Habilitar la autenticación LDAP para su proyecto en Ops Manager.
Requisitos previos
Configurar implementaciones para usar autenticación
El MongoDB Agent interactúa con las bases de datos de MongoDB en tu implementación como lo haría un usuario de MongoDB. Como resultado, debe configurar su implementación de MongoDB y el MongoDB Agent para admitir la autenticación.
Puedes especificar los mecanismos de autenticación de la implementación cuando añadas la implementación, o puedes 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 MongoDB Agent. El agente de MongoDB puede utilizar cualquier mecanismo de autenticacióncompatible.
Establecer la variable de entorno Requerir certificado TLS
En los MongoDB Agent hosts, debes establecer el TLS_REQCERT variable de entorno a demand.
Ejemplo
En un host de Red Hat Enterprise Linux, abra el archivo /etc/openldap/ldap.conf y añada la siguiente configuración y valor:
TLS_REQCERT demand
Puede utilizar su aplicación para configurar esta variable de entorno.
Considerations
Si la Automatización no gestiona tu implementación, debes configurar de forma separada la autenticación LDAP 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 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 respaldar las instancias de MongoDB que utilizan autenticación LDAP, agrega un usuario que posea los roles requeridos a la base de datos $external en MongoDB. La base de datos $external almacena credenciales para detalles externos de autenticación y autorización.
Utilice el siguiente comando para crear el mongosh usuario:
db.getSiblingDB("$external").createUser( { user : "<username>", roles: [ { role: "clusterAdmin", db: "admin" } ] } )
Para obtener más información sobre el acceso requerido,consulte Acceso requerido para la copia de seguridad del agente MongoDB.
Para supervisar las instancias de MongoDB que utilizan la autenticación LDAP, añada un usuario a la base de datos $external en MongoDB. La base de datos $external almacena credenciales para la autenticación externa y detalles de autorización. Asigna 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 aprender qué roles requiere esta función, consulta Configuración de supervisión.