Nota
Comenzando con 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, véase Desuso de LDAP.
Nota
Esta característica no está disponible para ninguna de las siguientes implementaciones:
M0Clústeres gratuitosClústeres Flex
Para obtener más información, consulte Límites.
Esta guía le muestra cómo habilitar Atlas para autenticar y autorizar usuarios de bases de datos (no usuarios de Atlas) desde OneLogin, un proveedor LDAP de terceros.
Puedes habilitar solo la autenticación LDAP o puedes habilitar tanto la autenticación como la autorización LDAP:
Si habilita solo la autenticación LDAP, agregará usuarios individuales a Atlas y asignará privilegios de acceso a la base de datos a cada usuario que agregue.
Si habilita la autenticación y autorización LDAP, agregará grupos de usuarios a Atlas y les asignará privilegios de acceso a la base de datos. Los usuarios heredan los privilegios de acceso a la base de datos del grupo LDAP al que pertenecen.
Atlas admite la autenticación y autorización de usuarios de bases de datos desde OneLogin.
Limitaciones
Debe implementar
M10o más clústeres de Atlas para habilitar la integración de LDAP. La integración de LDAP es una función 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 del inicio de sesión único para usuarios de bases de datos. Para obtener más información sobre la integración del inicio de sesión único para la interfaz web administrativa de Atlas, consulte Configurar la autenticación federada.
Acceso requerido
Para administrar usuarios o grupos LDAP, debe Organization Owner tener acceso o Project Owner a Atlas.
Procedimientos
Configurar OneLogin para la autenticación LDAP
El siguiente procedimiento configura OneLogin para la autenticación con Atlas:
Configurar el servicio LDAP de OneLogin.
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 necesite comunicarse con el soporte de OneLogin para habilitar el servicio VLDAP para su cuenta.
Anote su
<onelogin-instance-id>. Debe proporcionarlo en varios lugares durante el proceso de configuración.El nombre de la instancia se encuentra en la URL que utiliza para iniciar sesión en su cuenta de OneLogin:
https://<onelogin-instance-id>.onelogin.com
Agregue direcciones IP a la lista de acceso IP.
En OneLogin, haga clic en AuthenticationLuego, haga clic en VLDAP. Agregue lo siguiente al campo Allow access by IP address para agregarlos a la lista de acceso IP:
La dirección IP de cada nodo del clúster Atlas. Utilice
nslookuppara obtener la dirección IP de cada host del clúster, utilizando los nombres de host generados por Atlas:nslookup cluster0-shard-00-00-example.mongodb.net Nota
Si las direcciones IP de cualquiera de sus nodos cambian, debe actualizar la lista de acceso IP con las nuevas direcciones IP.
(Opcional) La dirección IP de una máquina desde la que puedeejecutar
ldapsearchcomandos para solucionar problemas de conexión LDAP.
Crear un usuario vinculado.
Cree un nuevo usuario de OneLogin para usarlo como usuario de enlace de Atlas. Este 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 al crear el usuario vinculado. Debe introducir la misma dirección de correo electrónico en ambos campos.
Importante
No utilice su propia cuenta de usuario para el usuario vinculado.
Utilice la siguiente plantilla para determinar el nombre distintivo (DN) completo de su usuario vinculado:
cn=<bind-user-email>,ou=users,dc=<onelogin-instance-id>,dc=onelogin,dc=com Por ejemplo, si su
<bind-user-email>esbind@example.comy su<onelogin-instance-id>esmdb-example, el DN de su usuario vinculado es:cn=bind@example.com,ou=users,dc=mdb-example,dc=onelogin,dc=com
Asignar privilegios al usuario vinculado.
En OneLogin, asigne al usuario vinculado el privilegio Manage users, Manage group o Super user.
Nota
Si le otorga al usuario Manage group enlazado el privilegio, debe seleccionar un grupo. Atlas solo puede autenticar y autorizar a los usuarios LDAP que pertenecen a este grupo.
Navegue a su página de usuarios de OneLogin.
Haga clic en vincular usuario.
Haga clic en Add Privilege.
Seleccione el privilegio que desea otorgarle al usuario y luego haga clic en Continue.
Haga clic en Save User.
Crear usuarios de base de datos en OneLogin.
Si aún no existen, cree usuarios en OneLogin a los que desea otorgar acceso a la base de datos:
Navegue a su página de usuarios de OneLogin.
Haga clic en New User.
Introduzca los datos del usuario.
Los campos Email y Username son obligatorios al crear usuarios de la base de datos. Introduzca la misma dirección de correo electrónico en ambos campos.
Nota
Evite introducir direcciones de correo electrónico con el símbolo "+"
+(). La integración de Atlas LDAP puede tener problemas con las direcciones de correo electrónico que contienen el símbolo "+".Haga clic en Save User.
Establezca las contraseñas de los usuarios de la base de datos en OneLogin.
Si aún no lo ha hecho, establezca una contraseña para cada usuario de la base de datos en OneLogin:
Navegue a su página de usuarios de OneLogin.
Haga clic en el usuario para el que desea establecer una contraseña.
Hacer clic en More Actions, luego hacer clic en Change Password.
Introduzca una contraseña y haga clic en Update.
Configurar Atlas para la autenticación LDAP
El siguiente procedimiento permite a Atlas autenticar usuarios de bases de datos desde OneLogin LDAP:
En Atlas, ve a la página Advanced de tu proyecto.
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.
Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.
En la barra lateral, haz clic en Database & Network Access en la sección Security.
En la barra lateral, haga clic en Advanced.
La página Avanzada se muestra.
Cambie el botón junto LDAP Authentication a On a.
Nota
Es posible que se apliquen costos adicionales al habilitar esta función.Consulte Seguridad avanzada.
Agregar un usuario al mapeo de DN.
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" } ]
En Atlas, ve a la página Database & Network Access de tu proyecto.
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.
Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.
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.
Agregar usuarios LDAP a Atlas
Nota
Omita este paso si desea habilitar la autorización LDAP.
Agregue usuarios administrados en LDAP de OneLogin a Atlas.
Haga clic en Add New Database User.
Haga clic en LDAP User.
Realice una de las siguientes acciones:
Si no ha introducido User to DN Mapping un, introduzca el DN completo del usuario LDAP. Siga esta plantilla:
cn=<user-name>,ou=users,dc=<onelogin-instance-id>,dc=onelogin,dc=com Por ejemplo, si su
<user-name>esjane@example.comy su<onelogin-instance-id>esmdb-example, el DN de su usuario vinculado es:cn=jane@example.com,ou=users,dc=mdb-example,dc=onelogin,dc=com Si ingresó un User to DN Mapping, ingrese el nombre de usuario o la dirección de correo electrónico que requiere su mapeo.
Seleccione el nivel de acceso a la base de datos que se otorgará al usuario.
Haga clic en Add User.
Configurar OneLogin para la autorización LDAP
Nota
Omita esta sección si no desea habilitar la autorización LDAP.
El siguiente procedimiento configura Atlas para autorizar a los usuarios que pertenecen a grupos de acceso a la base de datos LDAP de OneLogin.
Importante
Debe habilitar la autenticación con LDAP antes de habilitar la autorización.
Cuando habilita y configura la autorización LDAP, los usuarios de la base de datos que solo estén configurados para la autenticación LDAP ya no podrán acceder a las bases de datos.
Crear grupos de acceso a la base de datos de OneLogin.
La autorización LDAP de Atlas utiliza grupos LDAP para determinar si los usuarios están autorizados a realizar acciones de base de datos.
Cree grupos de OneLogin independientes para cada nivel de acceso que desee otorgar a los usuarios. Por ejemplo, cree un grupo para el acceso de lectura a una base de datos, otro para el acceso de lectura y escritura, y así sucesivamente.
Navegue a su página de grupos de OneLogin.
Haga clic en New Group.
Introduce un nombre de grupo, por ejemplo
db-read.Haga clic en Save.
Agregue usuarios de OneLogin a los grupos de acceso a la base de datos.
Asigne usuarios a grupos según el nivel de acceso que requiera cada usuario.
Navegue a su página de usuarios de OneLogin.
Haga clic en el usuario que desea agregar a un grupo.
Haz clic en la pestaña Authentication.
Seleccione el grupo al que desea agregar el usuario.
Haga clic en Save User.
Configurar Atlas para la autorización LDAP
Nota
Omita esta sección si no desea habilitar la autorización LDAP.
El siguiente procedimiento agrega los grupos de acceso a la base de datos de OneLogin a Atlas y habilita la autorización de usuarios de la base de datos en Atlas:
En Atlas, ve a la página Database & Network Access de tu proyecto.
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.
Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.
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.
Agregue los grupos LDAP de acceso a la base dedatos a Atlas.
Agregue a Atlas cada uno de los grupos de bases de datos de OneLogin que creó. Los miembros de los grupos que agregue tendrán autorización para realizar las acciones de base de datos asignadas al grupo.
Haga clic en Add New Database User.
Haga clic en LDAP Group y, a continuación, introduzca el DN completo del grupo que contiene los usuarios de su base de datos, incluso si habilitó User to DN Mapping. Siga esta plantilla:
cn=<group-name>,ou=groups,dc=<onelogin-instance-id>,dc=onelogin,dc=com Por ejemplo, si su
<group-name>esdb-ready su<onelogin-instance-id>esmdb-example, el DN de su usuario vinculado es:cn=db-read,ou=groups,dc=mdb-example,dc=onelogin,dc=com
Seleccione el nivel de acceso a la base de datos que se otorgará a los usuarios de este grupo.
Haga clic en Add User.
En Atlas, ve a la página Advanced de tu proyecto.
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.
Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.
En la barra lateral, haz clic en Database & Network Access en la sección Security.
En la barra lateral, haga clic en Advanced.
La página Avanzada se muestra.
Introduzca una plantilla de consulta Query Template en.
Cuando un usuario intenta realizar una acción, Atlas ejecuta la plantilla de consulta LDAP para obtener los grupos LDAP a los que pertenece el usuario autenticado. Atlas permite la acción si la consulta devuelve al menos un grupo autorizado para realizarla. Atlas no permite la acción si la consulta no devuelve ningún grupo autorizado 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 consulta debe cumplir con RFC4515 y RFC.4516
Introduzca el siguiente Query Template:
{USER}?memberOf?base
Nota
También pueden funcionar otras plantillas de consulta.
Conéctese a su clúster usando mongosh
El siguiente procedimiento verifica que la autenticación LDAP (y la autorización LDAP, si está habilitada) esté configurada correctamente:
Nota
Cuando la autenticación 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:
authSourcedebe ser$externalauthenticationMechanismdebe serPLAIN
En Atlas, ve a la página Clusters de tu proyecto.
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.
Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.
En la barra lateral, haz clic en Clusters en la sección Database.
La página de clústeres se muestra.
Conéctese a su clúster con las credenciales de usuario que agregó a Atlas.
Utiliza mongosh para conectarte a tu clúster. Para copiar la cadena de conexión:
Haga clic en Connect.
Haga clic en LDAP y, a continuación, haga clic en Copy.
Pegue y edite la cadena con su DN de usuario y contraseña.
Nota
Conéctese a su clúster con el DN completo de un usuario si la asignación de usuario a DN no está habilitada.
Solucionar problemas de conexión LDAP
Nota
Agregue el host desde el cual está ejecutando ldapsearch a su lista de acceso IP antes de solucionar problemas de conexión de OneLogin.
Utilice ldapsearch para determinar si la plantilla de consulta que configuró en Atlas devuelve los DN de usuario como esperaba. Es posible que la plantilla de consulta no devuelva los DN de usuario correctos si la autenticación LDAP funciona, pero la autorización LDAP no.
Utilice la siguiente plantilla 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 consulta.