Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/
MongoDB Agent
/

Configure MongoDB Agent para LDAP

Si tu implementación de MongoDB aplica control de acceso, el MongoDB Agent debe autenticarse en MongoDB como un usuario con el acceso adecuado. Si usas La automatización, Ops Manager se encarga de esto por ti.

MongoDB Enterprise admite antecedentes simples y SASL a Servidores LDAP via saslauthd y librerías del sistema operativo:

  • MongoDB Enterprise para Linux puede vincularse a un servidor LDAP ya sea a través de saslauthd o mediante las 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.

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.

En los hosts del MongoDB Agent, debes configurar 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

Puedes usar tu aplicación para configurar esta variable de entorno.

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.

Para automatizar las instancias de MongoDB que usan autenticación LDAP, añadir un usuario de MongoDB que posea los roles y privilegios requeridos a la base de datos $external en MongoDB. La base de datos $external permite que mongod consulte una 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, consulta Acceso requerido para el agente de MongoDB.

Para respaldar instancias de MongoDB 4.0 o posteriores que usen 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 las credenciales para la autenticación y autorización externas.

Utiliza el siguiente mongosh comando para crear el 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, consulta Acceso Requerido para 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.

Utiliza el siguiente mongosh comando para crear el 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.

En esta página