Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
Docs Menu

Configurar la autenticación y autorización de usuarios con LDAP

Nota

A partir de MongoDB 8.0, la autenticación y autorización de LDAP están desactualizadas. La característica está disponible y continuará operando sin cambios durante toda la vigencia de MongoDB 8. LDAP será eliminado en una futura versión principal.

Para más detalles, consulta Obsolescencia de LDAP.

Nota

Esta característica no está disponible para ninguna de las siguientes implementaciones:

  • Clústeres gratuitos

  • Clústeres Flex

Para obtener más información, consulta Límites.

Atlas ofrece la capacidad de gestionar la autenticación y autorización de los usuarios desde todos los clientes de MongoDB usando su propio servidor de Protocolo ligero de acceso a Directorios (LDAP) a través de TLS. Una única configuración de LDAPS (LDAP sobre TLS) se aplica a todos los clústeres de un proyecto.

Si habilita la autorización de usuarios con LDAP, puede crear grupos LDAP en la base de datos admin mediante la asignación de grupos LDAP a roles de MongoDB en sus bases de datos Atlas. Para utilizar los grupos LDAP de forma eficaz, crea proyectos adicionales en Atlas para controlar el acceso a implementaciones específicas en la organización, por ejemplo, creando proyectos independientes de Atlas para los entornos de desarrollo y producción. A continuación, puedes asignar un grupo LDAP a un rol en el proyecto Atlas para proporcionar acceso a la implementación deseada.

Nota

Cuando habilitas la autorización de usuarios y un usuario de LDAP no pertenece a ningún grupo de LDAP, Atlas no asigna ningún rol de base de datos al usuario. Cuando habilitas la autenticación de los usuarios y deshabilitas la autorización de los usuarios, Atlas asigna roles de base de datos de MongoDB al usuario de LDAP.

Si tienes varios departamentos con sus propias necesidades de facturación, configuraciones de alertas y miembros de proyectos, considera crear un nuevo conjunto de proyectos o una nueva organización para cada departamento o unidad empresarial.

Nota

Una explicación de LDAP está fuera del alcance de la documentación de MongoDB. Por favor, revisa RFC 4515 y RFC 4516 o consulta tu documentación preferida de LDAP.

Para administrar usuarios o grupos de LDAP, debes tener Organization Owner o Project Owner acceso a Atlas.

Debes cumplir los siguientes requisitos previos para gestionar la autenticación y autorización de usuarios utilizando LDAP en Atlas:

  • Clúster de Atlas utilizando MongoDB 7.0 o posterior.

  • Servidor LDAP que utiliza TLS al que sus clústeres de Atlas pueden acceder a través de la red utilizando ya sea una conexión de emparejamiento VPC o VNet, o las direcciones IP públicas de los nodos del clúster.

  • Las membresías de grupo de LDAP están incorporadas como un atributo para cada usuario en la entrada LDAP solo para autorización de usuarios.

Para que tu servicio LDAPS acceda a los clústeres de Atlas, MongoDB recomienda una de dos configuraciones:

Uso de una VPC o VNet:

  1. Ejecute su servidor LDAP en una VPC o VNet.

  2. Establece una conexión de emparejamiento con tu proyecto de Atlas.

  3. Utilice un <span class=\" \">FQDN público que resuelva a la dirección IP privada de su servidor <span class=\" \">LDAP.

Utilizando su centro de datos:

  1. Ejecute su servidor LDAP con un FQDN público que resuelva en una dirección IP pública.

  2. Configure el servidor LDAP para permitir acceso entrante desde las direcciones IP públicas de los nodos del clúster de Atlas.

Cuando habilites la autenticación y autorización LDAP, ten en cuenta lo siguiente:

No puedes usar tanto LDAP como la autenticación SCRAM para el mismo usuario de base de datos.

No se puede utilizar la autenticación OIDC cuando la autorizacion LDAP está habilitada. Cuando se habilita la autorización LDAP, el servidor LDAP gestiona todas las decisiones de autorización, incluso para cualquier mecanismo externo de autenticación. Por lo tanto, si se intenta conectar a Atlas utilizando OIDC, la conexión falla. Debe inhabilitar la autorizacion LDAP para poder utilizar la autenticación OIDC.

Si habilitas la autorización LDAP, no podrás conectarte a tus clústeres con usuarios que se autentican con un certificado X.509 gestionado por Atlas.

Después de activar la autorización LDAP,puedes conectarte a tus clústeres con usuarios que se autentiquen con un certificado autogestionado X..509 Sin embargo, el Nombre Común del usuario en su certificado X.509 debe coincidir con el Nombre Distinguido de un usuario que esté autorizado para acceder a su base de datos con LDAP.

Atlas utiliza el Nombre Distinguido completo (DN) de los usuarios en tu servidor LDAP como el nombre de usuario de Atlas. Por ejemplo, un LDAP de ejemplo llamado ralph tiene el siguiente nombre de usuario en Atlas:

cn=ralph,cn=Users,dc=aws-atlas-ldap-01,dc=myteam,dc=com

Si el administrador habilita la autenticación de usuario o ambas, la autenticación y autorización de usuarios con LDAP, los usuarios de la base de datos deben sobrescribir los siguientes parámetros en la cadena de conexión para sus clientes.

  • authSource debe ser $external

  • authenticationMechanism debe ser PLAIN

Ejemplo

La siguiente cadena de conexión para mongosh autentica a un usuario LDAP llamado rob:

mongosh "mongodb+srv://cluster0-tijis.mongodb.net/test?authSource=%24external" \
--authenticationMechanism PLAIN \
--username cn=rob,cn=Users,dc=ldaps-01,dc=myteam,dc=com

Para copiar la cadena de conexión:

1
  1. Si aún no se muestra, seleccione la organización que contiene su proyecto deseado en el menú Organizations de la barra de navegación.

  2. Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.

  3. En la barra lateral, haz clic en Clusters en la sección Database.

La página de clústeres se muestra.

2

Haga clic en Connect.

3

Edita la string con tu User DN y la contraseña.

Nota

Si sus contraseñas, nombres de bases de datos o cadenas de conexión contienen caracteres URI reservados, debe reemplazar dichos caracteres. Por ejemplo, si su contraseña es @bc123, debe reemplazar el carácter @ al especificar la contraseña en la cadena de conexión, como %40bc123. Para obtener más información, consulte los Caracteres especiales en la contraseña de la cadena de conexión.

Puede usar direcciones IP públicas que hagan referencia a otras direcciones IP internas o privadas utilizando la Network Address Translation para permitir el tráfico de Atlas a su servidor LDAP. Si haces esto, ten en cuenta que ciertas actividades desencadenan un cambio en las direcciones IP públicas del clúster de Atlas.

Si se permitió el acceso del servidor LDAP en función de las direcciones IP públicas, los cambios en la dirección IP pública del clúster de Atlas impiden el acceso de LDAP. Para restaurar el acceso a LDAP, agrega las nuevas direcciones IP públicas del clúster de Atlas a la lista de acceso de LDAP.

Nota

Puede utilizar el mismo comando CLI de Atlas para configurar la autenticación LDAP y la autorización LDAP.

Para guardar una configuración LDAP para el proyecto que especifiques usando la Atlas CLI, ejecuta el siguiente comando:

atlas security ldap save [options]

Para obtener más información sobre la sintaxis del comando y los parámetros, consulte la documentación de la CLI de Atlas para atlas seguridad ldap save.

Utilice el siguiente procedimiento para configurar la autenticación de usuarios con LDAP para todos los clústeres de un proyecto.

1
  1. Si aún no aparece, se debe seleccionar la organización que contiene el proyecto en el menú Organizations de la barra de navegación.

  2. Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.

  3. En la barra lateral, haz clic en Database & Network Access en la sección Security.

  4. En la barra lateral, haga clic en Advanced.

    La página Avanzada se muestra.

2

Nota

Es posible que incurras en costos adicionales al habilitar esta funcionalidad. Consulte Seguridad avanzada.

3

Puedes listar múltiples servidores separados por comas. No se pueden usar puertos diferentes.

4

Puedes proporcionar certificados autofirmados.

5

Espera a que Atlas implemente tus cambios. Atlas verifica que sus clusters puedan conectarse, autenticar y consultar sus servidores LDAP usando los detalles de configuración que proporcionó.

Nota

Puede utilizar el mismo comando CLI de Atlas para configurar la autenticación LDAP y la autorización LDAP.

Para guardar una configuración LDAP para el proyecto que especifiques usando la Atlas CLI, ejecuta el siguiente comando:

atlas security ldap save [options]

Para obtener más información sobre la sintaxis del comando y los parámetros, consulte la documentación de la CLI de Atlas para atlas seguridad ldap save.

Utilice el procedimiento siguiente para configurar la autorización de usuarios con LDAP para todos los clústeres de un proyecto.

Importante

  • Debe activar la autenticación con LDAP antes de activar la autorización.

  • Cuando habilite y configure la autorización LDAP, los usuarios de base de datos que estén configurados únicamente para la autenticación LDAP ya no podrán acceder a las bases de datos.

1
  1. Si aún no aparece, se debe seleccionar la organización que contiene el proyecto en el menú Organizations de la barra de navegación.

  2. Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.

  3. En la barra lateral, haz clic en Database & Network Access en la sección Security.

  4. En la barra lateral, haga clic en Advanced.

    La página Avanzada se muestra.

2
3
4

Cuando un usuario intenta realizar una acción, Atlas ejecuta la plantilla de query LDAP para obtener los grupos LDAP a los que pertenece el usuario autenticado. Atlas permite la acción si la query devuelve al menos un grupo que esté autorizado para realizar la acción. Atlas no permite la acción si la query no devuelve grupos que estén autorizados para realizarla.

Atlas sustituye el nombre de usuario autenticado en el marcador de posición {USER} cuando ejecuta la query. La consulta es relativa al host especificado en Server Hostname.

El formato de la query debe estar conforme a RFC4515.

Si no proporciona una plantilla de query, Atlas aplica el valor predeterminado: {USER}?memberOf?base.

5

Espera a que Atlas implemente tus cambios. Atlas verifica que tus clústeres puedan conectarse, autenticarse y query tu servidor LDAP utilizando los detalles de configuración que proporcionas.

Para crear un usuario de base de datos para su proyecto usando Atlas CLI, ejecute el siguiente comando:

atlas dbusers create [builtInRole]... [options]

Para obtener más información sobre la sintaxis del comando y los parámetros, consulta la documentación de la CLI de Atlas para atlas dbusers create.

Después de configurar la autorización con LDAP, sigue estos pasos para crear un usuario o grupo de base de datos LDAP:

1
  1. Si aún no aparece, se debe seleccionar la organización que contiene el proyecto en el menú Organizations de la barra de navegación.

  2. Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.

  3. En la barra lateral, haz clic en Database & Network Access en la sección Security.

La página Acceso a la base de datos y a la red se muestra.

2
  1. Si aún no se muestra, haz clic en la pestaña Database Users.

  2. Haga clic en Add New Database User.

3

En la sección Authentication Method de la ventana modal Add New Database User, selecciona la casilla etiquetada LDAP.

Nota

Si no ves una opción LDAP, debes configurar la autorización con LDAP.

4

En LDAP Type, seleccione LDAP User para un usuario individual o LDAP Group para un grupo de LDAP.

5

Ingresa la cadena de autenticación para el usuario LDAP o el grupo LDAP.

Ejemplo

Para el usuario LDAP llamado myUser en el proyecto llamado projectName, ingrese lo siguiente:

cn=myUser,ou=projectName,dc=com

Si habilitas la autorización LDAP, puedes crear usuarios LDAP, pero no podrán acceder a tus clústeres. Agrega un grupo LDAP para acceder a los clústeres con la autorización LDAP activada.

6

Selecciona los privilegios de usuario de base de datos. Puedes asignar privilegios al nuevo usuario de una o más de las siguientes maneras:

  • Selecciona un rol integrado en el menú desplegable Built-in Role. Puedes seleccionar un rol integrado por cada usuario de base de datos dentro de la Interfaz de Usuario de Atlas. Si borras la opción por defecto, puedes hacer clic en Add Built-in Role para seleccionar un nuevo rol incorporado.

  • Si se tiene algún rol personalizado definido, se puede expandir la sección Custom Roles y seleccionar uno o más roles del menú desplegable Custom Roles. Se debe hacer clic en Add Custom Role para agregar más roles personalizados. También se puede hacer clic en el enlace Custom Roles para ver los roles personalizados del proyecto.

  • Expanda la sección Specific Privileges y seleccione uno o más privilegios del menú desplegable Specific Privileges. Haga clic en Add Specific Privilege para agregar más privilegios. Esto asigna al usuario privilegios específicos en bases de datos y colecciones individuales.

Atlas puede aplicar un rol con funcionalidad incorporada, múltiples roles personalizados y múltiples privilegios específicos a un único usuario de base de datos.

Para remover un rol o privilegio aplicado, haz clic en Delete junto al rol o privilegio que deseas borrar.

Nota

Atlas no muestra el icono de Delete junto a la selección de Built-in Role, Custom Role o Specific Privilege si solo se seleccionó una opción. Se puede borrar el rol o privilegio seleccionado una vez que se aplique otro rol o privilegio.

Para obtener más información sobre la autorización, consulta Control de acceso basado en roles y Roles incorporados en el Manual de MongoDB.

7

Por defecto, los usuarios pueden acceder a todos los clústeres e instancias federadas de bases de datos del proyecto. Puedes restringir el acceso a clústeres específicos e instancias federadas de bases de datos haciendo lo siguiente:

  1. Establece Restrict Access to Specific Clusters/Federated Database Instances en ON.

  2. Seleccione los clústeres e instancias federadas de bases de datos para conceder acceso al usuario desde la lista de Grant Access To.

8
  1. Activa Temporary User o Temporary Group a On.

  2. Elija una hora después de la cual Atlas pueda borrar al usuario o grupo del menú desplegable Temporary User Duration o Temporary Group Duration. Puede seleccionar uno de los siguientes períodos de tiempo para que el usuario o grupo exista:

    • 6 horas

    • 1 día

    • 1 semana

En la pestaña Database Users, los usuarios y grupos temporales muestran el tiempo restante hasta que Atlas borrará al usuario o al grupo. Una vez que Atlas borra al usuario o grupo, cualquier cliente o aplicación que utilice las credenciales temporales del usuario o grupo pierde acceso al clúster.

9

Para devolver los detalles de una configuración de LDAP usando la CLI de Atlas, ejecuta el siguiente comando:

atlas security ldap get [options]

Para obtener más información sobre la sintaxis de los comandos y los parámetros, consulte la documentación de Atlas CLI para atlas security ldap get.

Para ver tu configuración actual de LDAP con la Interfaz de usuario (UI) de Atlas:

1
  1. Si aún no aparece, se debe seleccionar la organización que contiene el proyecto en el menú Organizations de la barra de navegación.

  2. Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.

  3. En la barra lateral, haz clic en Database & Network Access en la sección Security.

  4. En la barra lateral, haga clic en Advanced.

    La página Avanzada se muestra.

2

Atlas muestra tus configuraciones de autenticación LDAP.

Para ver tus configuraciones de autorizacion LDAP, cambia el interruptor junto LDAP Authorization a On a. Atlas muestra tus configuraciones de autorizacion LDAP.

Nota

Puedes usar el mismo comando CLI de Atlas para desactivar la configuración de autenticación LDAP y la configuración de autorizacion LDAP.

Para borrar una configuración LDAP usando Atlas CLI, ejecuta el siguiente comando:

atlas security ldap delete [options]

Para obtener más información sobre la sintaxis del comando y los parámetros, consulta la documentación de la Atlas CLI para Atlas seguridad LDAP borrar.

Para desactivar la configuración actual de LDAP desde la Interfaz de Usuario de Atlas:

1
  1. Si aún no aparece, se debe seleccionar la organización que contiene el proyecto en el menú Organizations de la barra de navegación.

  2. Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.

  3. En la barra lateral, haz clic en Database & Network Access en la sección Security.

  4. En la barra lateral, haga clic en Advanced.

    La página Avanzada se muestra.

2

Atlas desactiva tu configuración de autenticación LDAP y la configuración de autorización LDAP.

Para desactivar solo la autorizacion LDAP, coloque el botón junto a LDAP Authorization en OFF. Atlas deshabilita tu configuración de autorizacion LDAP.

Utiliza los siguientes tutoriales para configurar Atlas para autenticar y autorizar usuarios de proveedores de LDAP de terceros: