Docs Menu
Docs Home
/ /

Configurar el agente MongoDB para Kerberos

MongoDB Enterprise es compatible con Kerberos. Kerberos Es un protocolo de autenticación de red. El agente de MongoDB puede autenticarse en instancias de MongoDB que ejecutan Kerberos.

Los tickets Kerberos pueden autenticar usuarios por tiempo limitado. Debe configurar el Centro de Distribución de Claves Kerberos (KDC) para emitir tickets con una validez de cuatro horas o más. El Agente de MongoDB renueva el ticket periódicamente. El servicioKDC proporciona tickets de sesión y claves de sesión temporales a usuarios y hosts.

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 cuando Puede agregar la implementación 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.

Para los fines de este tutorial, debes asegurarte de lo siguiente:

  • Su implementación admite la autenticación Kerberos y

  • El agente MongoDB utiliza la autenticación Kerberos.

Para saber cómo habilitar la autenticación Kerberos, consulte Habilitar la autenticación Kerberos para su proyecto de Ops Manager.

Se deben instalar dos archivos relacionados con Kerberos en cualquier host que ejecute Monitoring o Backup:

  • Cree o configure el archivo de configuración Kerberos5 krb.conf.

    Plataforma
    Ruta predeterminada
    notas

    Linux

    /etc/krb5.conf

    Windows

    %WINDIR%\krb5.ini

    Esta es la ruta predeterminada para las implementaciones de Kerberos que no se basan en Active Directory. Consulte la documentación de su implementación de Kerberos para su versión de Windows para saber dónde se almacena el archivo de configuración de Kerberos.

  • En sistemas Linux: asegúrese de que el binario kinit esté ubicado /usr/bin/kinit en. kinit obtiene o renueva un ticket de concesión de tickets Kerberos, que autentica al Agente mediante Kerberos.

1

Un UPN se formatea en dos partes para que el servicio pueda identificarse de forma única en todo el ámbito Kerberos:

Componente
Descripción

Nombre del servicio

El nombre de un servicio que un host proporciona al ámbito Kerberos, como pop o ftp.

Kerberos realm

Un conjunto de hosts y servicios administrados que comparten la misma base de datos Kerberos.

Según la convención de nombres de Kerberos, <KERBEROS_REALM> debe estar en todos los UPPERCASE.

Ejemplo

En un dominio Kerberos establecido EXAMPLE.COM como, el agente MongoDB establecería su UPN en: mongodb-agent@EXAMPLE.COM

2

Genere un archivo keytab *.keytab () para el UPN del Agente MongoDB y cópielo en el host que lo ejecuta. Asegúrese de que el usuario del sistema operativo que ejecuta el Agente MongoDB sea el mismo que el propietario del keytab archivo.

Cuando se activa la automatización, Ops Manager administra la autenticación del agente MongoDB.

Para configurar Kerberos para la autenticación del agente MongoDB, consulte Habilitar la autenticación Kerberos para su proyecto de Ops Manager.

Después de crear el UPN de Kerberos para el Agente MongoDB, cree un usuario MongoDB en su implementación que corresponda al UPN del Agente MongoDB y otórguele privilegios.

El lugar donde crea el usuario MongoDB depende de si utiliza o no la autorización LDAP.

Nota

A partir de 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 utiliza la autorización LDAP en su implementación de MongoDB, debe crear un usuario y un grupo LDAP para el agente de MongoDB en el servidor LDAP. Después de crear el usuario y el grupo LDAP, asigne el grupo LDAP a un rol de MongoDB en la admin base de datos de su implementación.

Advertencia

Al usar la autorización LDAP, no cree ningún usuario de MongoDB en la $external base de datos. MongoDB 3.4 y versiones posteriores no se inician si existe un usuario de MongoDB en la $external base de datos y la autorización LDAP está habilitada.

Para el usuario de MongoDB que representa al Agente de MongoDB:

  1. Cree un nuevo usuario LDAP en su servidor LDAP nombrado con el UPN del agente MongoDB.

  2. Cree un grupo LDAP cuyo nombre coincida con el rol del agente MongoDB.

  3. Cree el rol del agente MongoDB en su base de datos admin con los permisos adecuados.

    Nota

    Cuando se activa la automatización, esta crea automáticamente un rol para el usuario del agente MongoDB para la autenticación LDAP.

  4. Asignar el usuario LDAP al grupo LDAP.

Tip

Para aprender a:
Ver

Crear un usuario LDAP

Documentación para su implementación LDAP.

Crear un grupo LDAP

Documentación para su implementación LDAP.

Asignar los roles apropiados para el Agente MongoDB

Asignar un grupo LDAP y un rol de MongoDB

Sección Roles LDAP de la página de autorización LDAP en el manual de MongoDB.

Configurar la autorización LDAP sin la automatización de Ops Manager

Página autorizacion LDAP en el manual de MongoDB.

Si no utiliza la autorización LDAP, debe agregar el UPN del agente de MongoDB como usuario $external en la base de datos de su implementación de MongoDB. Sin la autorización LDAP, MongoDB utiliza la $external base de datos para autenticar a un usuario con Kerberos.

Nota

Para descubrir los roles apropiados para el MongoDB Agent, accede a: Required Access for MongoDB Agent.

mongoshDesde, emita los siguientes comandos para crear el usuario MongoDB:

db.getSiblingDB("$external").createUser(
{
user : "<Kerberos Principal>",
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" }
]
}
)

Volver

LDAP

En esta página