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

Configura la autenticación y autorización de usuarios con OneLogin VLDAP

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.

Esta guía muestra cómo habilitar Atlas para autenticar y autorizar usuarios de bases de datos (no usuarios de Atlas) desde OneLogin, un proveedor externo de LDAP.

Puedes habilitar solo la autenticación LDAP o puedes habilitar tanto la autenticación como la autorización LDAP:

  • Si habilitas la autenticación LDAP únicamente, puedes agregar usuarios individuales a Atlas y asignar privilegios de acceso a la base de datos a cada usuario que agregues.

  • Si habilitas la autenticación y autorización LDAP, agregas grupos de usuarios a Atlas y asignas privilegios de acceso a la base de datos a cada grupo. Los usuarios heredan los privilegios de acceso en la base de datos del grupo LDAP al que pertenecen.

Atlas es compatible con la autenticación y autorización de usuarios de bases de datos desde OneLogin.

  • Debe implementar M10 o clústeres Atlas más grandes para habilitar la integración LDAP. LDAP integración es una funcionalidad de Atlas Enterprise.

  • Atlas no admite la autenticación y autorización de usuarios sincronizados desde directorios LDAP existentes.

  • Atlas no admite la integración de inicio de sesión único para los usuarios de la base de datos. Para aprender sobre la integración de inicio de sesión único para la interfaz web administrativa de Atlas, consulta Configurar la autenticación federada.

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

El siguiente procedimiento configura OneLogin para la autenticación con Atlas:

1
  1. Para obtener más información sobre cómo configurar el servicio LDAP de OneLogin, consulte la documentación de OneLogin.

    Importante

    Es posible que tengas que ponerte en contacto con el soporte de OneLogin para habilitar el servicio VLDAP en tu cuenta.

  2. Toma nota de tu <onelogin-instance-id>. Deberás proporcionarlo en varios lugares durante el proceso de configuración.

    El nombre de la instancia se encuentra en la URL que usas para iniciar sesión en tu cuenta de OneLogin:

    https://<onelogin-instance-id>.onelogin.com
2

En OneLogin, haz clic en Authentication y luego en VLDAP. Agregue lo siguiente al campo Allow access by IP address para agregarlos a la lista de acceso IP:

  1. La dirección IP de cada nodo en tu clúster de Atlas. Usa nslookup para obtener la dirección IP de cada host en tu clúster, utilizando los nombres de host que Atlas genera:

    nslookup cluster0-shard-00-00-example.mongodb.net

    Nota

    Si las direcciones IP de cualquiera de tus nodos cambian, debes actualizar la lista de acceso IP con las nuevas direcciones IP.

  2. (Opcional) La dirección IP de una máquina desde la que puedes ejecutar comandos de ldapsearch para resolver problemas de conexión LDAP.

3
  1. Crea un nuevo usuario de OneLogin para utilizarlo como el usuario de vinculación de Atlas. El usuario de enlace es un usuario de OneLogin que se utiliza para consultar la cuenta y autenticar las credenciales de los usuarios de la base de datos cuando se conectan a una base de datos de Atlas.

    Los campos Email y Username son obligatorios cuando creas el usuario de vinculación. Debes ingresar la misma dirección de correo electrónico en ambos campos.

    Importante

    No uses tu propia cuenta de usuario como usuario de vinculación.

  2. Utilice la siguiente plantilla para determinar el nombre distinguido completo (DN) de su usuario de enlace:

    cn=<bind-user-email>,ou=users,dc=<onelogin-instance-id>,dc=onelogin,dc=com

    Por ejemplo, si su <bind-user-email> es bind@example.com y su <onelogin-instance-id> es mdb-example, el nombre distinguido del usuario de enlace es:

    cn=bind@example.com,ou=users,dc=mdb-example,dc=onelogin,dc=com
4

En OneLogin, asigna al usuario de enlace el privilegio de Manage users, Manage group o Super user.

Nota

Si le otorga al usuario de enlace el privilegio de Manage group, debes seleccionar un grupo. Atlas only can authenticate and authorize LDAP users who are part of this group.

  1. Navegue a su página de Usuarios de OneLogin.

  2. Haz clic en el usuario de enlace.

  3. Haga clic en Add Privilege.

  4. Selecciona el privilegio que deseas otorgar al usuario y luego haz clic en Continue.

  5. Haga clic en Save User.

5

Si aún no lo has hecho, establece una contraseña para el usuario de enlace en OneLogin:

  1. Hacer clic en More Actions, luego hacer clic en Change Password.

  2. Ingresa una contraseña, luego haz clic en Update.

6

Si aún no existen, crea usuarios en OneLogin para los que desees otorgar acceso a la base de datos:

  1. Navegue a su página de usuarios de OneLogin.

  2. Haga clic en New User.

  3. Ingresar los datos del usuario.

    Los campos Email y Username son obligatorios cuando creas usuarios de base de datos. Introduzca la misma dirección de correo electrónico en ambos campos.

    Nota

    Evitar ingresar direcciones de correo electrónico que contengan símbolos de suma (+). Es posible que la integración de Atlas LDAP encuentre problemas con direcciones de correo electrónico que contengan símbolos de más.

  4. Haga clic en Save User.

7

Si aún no lo has hecho, establece una contraseña para cada usuario de la base de datos en OneLogin:

  1. Navegue a su página de usuarios de OneLogin.

  2. Haz clic en el usuario para el que deseas establecer una contraseña.

  3. Hacer clic en More Actions, luego hacer clic en Change Password.

  4. Ingresa una contraseña, luego haz clic en Update.

El siguiente procedimiento permite que Atlas autentique a los usuarios de la base de datos desde OneLogin 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.

  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

Agregue una asignación de DN para el usuario similar al siguiente ejemplo para permitir que los clientes proporcionen sus direcciones de correo electrónico en lugar de nombres distinguidos completos cuando se conectan a las bases de datos de Atlas:

[
{
"match": "(.+)",
"substitution": "cn={0},ou=users,dc=<onelogin_instance_id>,dc=onelogin,dc=com"
}
]
5

Puedes proporcionar certificados autofirmados.

6

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ó.

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

8

Nota

Omitir este paso si desea habilitar la autorización LDAP.

Agrega usuarios gestionados en el LDAP de OneLogin a Atlas.

  1. Haga clic en Add New Database User.

  2. Haga clic en LDAP User.

  3. Realice una de las siguientes acciones:

    1. Si no ha ingresado un User to DN Mapping, ingrese el nombre distinguido completo del usuario de LDAP. Sigue esta plantilla:

      cn=<user-name>,ou=users,dc=<onelogin-instance-id>,dc=onelogin,dc=com

      Por ejemplo, si su <user-name> es jane@example.com y su <onelogin-instance-id> es mdb-example, el nombre distinguido del usuario de enlace es:

      cn=jane@example.com,ou=users,dc=mdb-example,dc=onelogin,dc=com
    2. Si ingresaste un User to DN Mapping, introduce el nombre de usuario o la dirección de correo electrónico que requiere tu asignación.

  4. Selecciona el nivel de acceso a la base de datos que se concederá al usuario.

  5. Haga clic en Add User.

Nota

Omitir esta sección si no se desea habilitar la autorizacion LDAP.

El siguiente procedimiento configura Atlas para autorizar a los usuarios que pertenecen a los grupos de acceso LDAP de la base de datos OneLogin.

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

La autorización LDAP de Atlas emplea grupos LDAP para determinar si los usuarios están autorizados a ejecutar acciones en la base de datos.

Crear grupos OneLogin separados para cada nivel de acceso que se desee otorgar a los usuarios. Por ejemplo, puedes crear un grupo para el acceso de sólo lectura a una base de datos, otro para el acceso de lectura y escritura, y así sucesivamente.

  1. Navega a la página de tus grupos de OneLogin.

  2. Haga clic en New Group.

  3. Introduce un nombre de grupo, por ejemplo db-read.

  4. Haga clic en Save.

2

Asigne usuarios a grupos en función del nivel de acceso que cada usuario requiera.

  1. Navegue a su página de Usuarios de OneLogin.

  2. Haz clic en el usuario que deseas agregar a un grupo.

  3. Haz clic en la pestaña Authentication.

  4. Selecciona el grupo al que quieres añadir al usuario.

  5. Haga clic en Save User.

Nota

Omitir esta sección si no se desea habilitar la autorizacion LDAP.

El siguiente procedimiento agrega los grupos de acceso a la base de datos de OneLogin en Atlas y habilita la autorización de usuarios de la base de datos en 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.

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

2

Añade a Atlas cada uno de los grupos de base de datos de OneLogin que creaste. Los nodos de los grupos que añada están autorizados para realizar acciones en la base de datos que se le otorguen al grupo.

  1. Haga clic en Add New Database User.

  1. Haz clic en LDAP Group y, a continuación, introduce el nombre distinguido completo del grupo que contiene a los usuarios de tu base de datos, incluso si activaste User to DN Mapping. Sigue esta plantilla:

    cn=<group-name>,ou=groups,dc=<onelogin-instance-id>,dc=onelogin,dc=com

    Por ejemplo, si su <group-name> es db-read y su <onelogin-instance-id> es mdb-example, el nombre distinguido del usuario de enlace es:

    cn=db-read,ou=groups,dc=mdb-example,dc=onelogin,dc=com
  1. Seleccione el nivel de acceso a la base de datos que desea otorgar a los usuarios de este grupo.

  2. Haga clic en Add User.

3
  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.

4
5
6

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 ajustarse a RFC4515 y RFC 4516.

Introduce el siguiente Query Template:

{USER}?memberOf?base

Nota

También pueden funcionar otras plantillas de consultas.

7

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.

El procedimiento siguiente verifica que la autenticación LDAP (y la autorizacion LDAP, si está activada) esté configurada correctamente:

Nota

Cuando la autenticación de LDAP está habilitada, los usuarios de la base de datos deben anular los siguientes parámetros en la cadena de conexión para sus clientes:

  • authSource debe ser $external

  • authenticationMechanism debe ser PLAIN

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

Utiliza mongosh para conectarte a tu clúster. Para copiar la cadena de conexión:

  1. Haga clic en Connect.

  2. Haz clic en LDAP y después en Copy.

  3. Pega y edita la string con tu Nombre Distinguido de Usuario (DN) y contraseña.

Nota

Conéctate a tu clúster con el nombre distinguido completo de un usuario si la asignación de usuario a nombre distinguido no está habilitada.

3

Nota

agregar el host desde el que ejecutas ldapsearch a tu lista de acceso IP antes de solucionar problemas de conexión de OneLogin.

Utiliza ldapsearch para determinar si la plantilla de consulta que configuraste para que Atlas use devuelve los DN de usuario tal como esperas. La plantilla de query puede que no devuelva los DNs de usuario correctos si la autenticación LDAP funciona, pero la autorizacion LDAP no.

Utiliza la siguiente plantilla de ldapsearch:

ldapsearch -H 'ldaps://ldap.us.onelogin.com:636' -D '<bind_user_dn>' -w '<bind_user_pwd>' -b 'dc=<onelogin_instance_id>,dc=onelogin,dc=com' -s sub

Por ejemplo, si tu bind-user-dn es cn=jane@example.com,ou=users,dc=mdb-example,dc=onelogin,dc=com y tu <onelogin-instance-id> es mdb-example, utiliza el siguiente comando:

ldapsearch -H 'ldaps://ldap.us.onelogin.com:636' -D 'cn=jane@example.com,ou=users,dc=mdb-example,dc=onelogin,dc=com' -w '<REDACTED>' -b 'dc=mdb-example,dc=onelogin,dc=com' -s sub

Nota

También pueden funcionar otras plantillas de consultas.