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
/ /

Configurar el agente MongoDB para Kerberos

MongoDB Enterprise ofrece soporte para Kerberos. Kerberos es un protocolo de autenticación de red. El MongoDB Agent puede autenticarse en instancias de MongoDB que ejecuten Kerberos.

Los tickets de Kerberos pueden autenticar a los usuarios durante un tiempo limitado. Debes configurar el Centro de Distribución de Claves (KDC) de Kerberos para emitir tickets que sean válidos por cuatro horas o más. El agente de MongoDB renueva el ticket periódicamente. El El servicio KDC proporciona tickets de sesión y claves de sesión temporales a usuarios y hosts.

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 agregar la implementación, o puedes editar la configuración para 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.

Para los fines de este tutorial, asegúrate de lo siguiente:

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

  • El agente de MongoDB utiliza autenticación Kerberos.

Para aprender cómo habilitar la autenticación Kerberos, consulte Habilitar la autenticación Kerberos para su proyecto Cloud Manager.

Se deben instalar dos archivos relacionados con Kerberos en cualquier host que ejecute supervisión o copia de seguridad:

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

    Plataforma
    Ruta por defecto
    notas

    Linux

    /etc/krb5.conf

    Windows

    %WINDIR%\krb5.ini

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

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

1

Un UPN se formatea en dos partes para que el servicio pueda ser identificado de manera única en todo el realm Kerberos:

Componente
Descripción

Nombre del servicio

El nombre de un servicio que un host proporciona al realm de 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 nomenclatura de Kerberos, el <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

Genera un archivo keytab (*.keytab) para el MongoDB Agent UPN y cópialo al host que ejecuta el MongoDB Agent. Asegúrese de que el usuario del sistema operativo que ejecuta el MongoDB Agent sea el mismo usuario del sistema operativo que posee el archivo keytab.

Cuando se activa la automatización, Cloud 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 Cloud Manager.

Después de crear el UPN de Kerberos para el MongoDB Agent, crea un usuario de MongoDB en tu implementación que corresponda con el UPN del MongoDB Agent y asígnale privilegios.

Dónde crear el usuario de MongoDB depende de si utilizas o no autorización LDAP.

Nota

A partir de MongoDB 8.0, La autenticación y autorización LDAP está en desuso. La funcionalidad está disponible y seguirá funcionando sin cambios durante toda la vida útil de MongoDB 8. LDAP será retirado en una futura versión importante.

Para más detalles, consulta Obsolescencia de LDAP.

Si utiliza la autorizacion LDAP en su implementación de MongoDB, debe crear un usuario LDAP y un grupo LDAP para el MongoDB Agent en el servidor LDAP. Después de crear el usuario y grupo de LDAP, asigna el grupo de LDAP a un rol de MongoDB en la base de datos admin de tu implementación.

Advertencia

Al utilizar la autorizacion LDAP, no crear ningún usuario de MongoDB en la base de datos $external. MongoDB 3.4 y posteriores no se inician si existe un usuario MongoDB en la base de datos $external y la autorizacion LDAP está habilitada.

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

  1. Crea un nuevo usuario LDAP en tu servidor LDAP con el nombre del UPN del MongoDB Agent.

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

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

    Nota

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

  4. Asigne 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.

Asigna los roles adecuados para el MongoDB Agent

Asignar un grupo LDAP y un rol de MongoDB

sección Roles LDAP de la página autorizacion LDAP en el manual de MongoDB.

Configure la autorizacion LDAP sin automatización de Cloud Manager

Página autorizacion LDAP en el manual de MongoDB.

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

Nota

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

Desde mongosh, ejecuta los siguientes comandos para crear el usuario de 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