Docs Menu
Docs Home
/ /

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

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:

  • M0 Clústeres gratuitos

  • Clú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 Okta, 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:

  • Autenticación de usuarios de la base de datos desde la sincronización de Active Directory de Okta.

  • Autenticación de usuarios de la base de datos desde Okta.

  • Autorizar usuarios de bases de datos en grupos de Okta.

  • Debe implementar M10 o 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 autorización de usuarios de bases de datos en grupos de sincronización de Active Directory de Okta.

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

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

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

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

  2. Anote su <okta-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 Okta:

    https://<okta-instance-id>.admin.okta.com
2
  1. Cree un nuevo usuario de Okta para usarlo como usuario de enlace de Atlas. Este usuario de enlace es un usuario de Okta 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.

    Importante

    No utilice su propia cuenta de usuario para el usuario vinculado.

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

    uid=<bind-user-email>,dc=<okta-instance-id>,dc=okta,dc=com

    Por ejemplo, si su <bind-user-email> es bind@example.com y su <okta-instance-id> es mdb-example, el DN de su usuario vinculado es:

    uid=bind@example.com,ou=users,dc=mdb-example,dc=okta,dc=com
3

Si aún no existen, crea usuarios en Okta a quienes quieras otorgar acceso a la base de datos:

  1. Navega a tu página de Okta People.

  2. Haga clic Add Person.

  3. Introduce los datos del usuario. Usa direcciones de correo electrónico como nombre de usuario.

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

  4. Haga clic en Save.

El siguiente procedimiento permite a Atlas autenticar usuarios de bases de datos desde Okta 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 se apliquen costos adicionales al habilitar esta función.Consulte Seguridad avanzada.

3

Puedes enumerar varios servidores separados por comas. No puedes 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": "uid={0},ou=users,dc=<okta_instance_id>,dc=okta,dc=com"
}
]
5

Puede proporcionar certificados autofirmados.

6

Espere a que Atlas implemente los cambios. Atlas verifica que sus clústeres puedan conectarse, autenticarse y consultar sus servidores LDAP utilizando la configuración proporcionada.

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

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

Agregue usuarios administrados en Okta LDAP 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 introducido User to DN Mapping un, introduzca el DN completo del usuario LDAP. Siga esta plantilla:

      uid=<user-name>,ou=users,dc=<okta-instance-id>,dc=okta,dc=com

      Por ejemplo, si su <user-name> es jane@example.com y su <okta-instance-id> es mdb-example, el DN de su usuario es:

      uid=jane@example.com,ou=users,dc=mdb-example,dc=okta,dc=com
    2. Si ingresó un User to DN Mapping, ingrese el nombre de usuario o la dirección de correo electrónico que requiere su mapeo.

  4. Seleccione el nivel de acceso a la base de datos que se otorgará al usuario.

  5. Haga clic en Add User.

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

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.

1

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

  1. Navegue a su página de Okta Groups haciendo clic en Directory y luego en Groups.

  2. Haga clic en Add Group.

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

  4. Haga clic en Add Group.

2

Asigne usuarios a grupos según el nivel de acceso que requiera cada usuario.

  1. Haga clic en el grupo al que desea agregar usuarios.

  2. Haga clic en Manage People.

  3. Agregue usuarios al grupo y luego haga clic en Save.

3

El usuario vinculado debe tener privilegios Read Only Administrator para autorizar usuarios en grupos específicos de Okta y realizar búsquedas LDAP. Para asignarle privilegios Read Only Administrator:

  1. Navegue a su página de Okta Administrators haciendo clic en Security y luego en Administrators.

  2. Haga clic en Add Administrator.

  3. Busque su usuario vinculado y luego seleccione el rol Read Only Administrator.

  4. Haga clic en Add Administrator.

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 Okta a 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

Agregue a Atlas cada uno de los grupos de bases de datos de Okta que creó. Los miembros de los grupos que agregue tienen autorización para realizar las acciones de base de datos asignadas al grupo.

  1. Haga clic en Add New Database User.

  1. 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=<okta-instance-id>,dc=okta,dc=com

    Por ejemplo, si su <group-name> es db-read y su <okta-instance-id> es mdb-example, el DN de su usuario vinculado es:

    cn=db-read,ou=groups,dc=mdb-example,dc=okta,dc=com
  1. Seleccione el nivel de acceso a la base de datos que se 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 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 RFC.4515

Si desea identificar a qué grupo pertenece un usuario, puede utilizar lo siguiente Query Template:

ou=groups,dc=<okta-instance-id>,dc=okta,dc=com?dn?sub?(&(objectClass=groupofUniqueNames)(uniqueMember={USER}))

Nota

Otras plantillas de consulta también podrían funcionar. Usar la plantilla predeterminada {USER}?memberOf?base podría resultar en tiempos de búsqueda más largos.

7

Espere a que Atlas implemente los cambios. Atlas verifica que sus clústeres puedan conectarse, autenticarse y consultar su servidor LDAP utilizando la configuración proporcionada.

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:

  • 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. Haga clic en LDAP y, a continuación, haga clic en Copy.

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

3

Nota

En Okta, el usuario bind debe tener privilegios Read Only Administrator para realizar búsquedas en LDAP. Asegúrate de que tu usuario bind tenga estos privilegios antes de ejecutar ldapsearch.

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://<okta-instance-id>.ldap.okta.com' -D "<bind-user-dn>" -w "<bind-user-pwd>" -b 'ou=groups,dc=<okta-instance-id>,dc=okta,dc=com' '(&(objectClass=groupofUniqueNames)(uniqueMember=<bind-user-dn or group-dn>))

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

ldapsearch -H 'ldaps://mdb-example.ldap.okta.com' -D "uid=jane@example.com,dc=mdb-example,dc=okta,dc=com" -w "REDACTED" -b 'ou=groups,dc=mdb-example,dc=okta,dc=com' '(&(objectClass=groupofUniqueNames)(uniqueMember=uid=jane@example.com,ou=users,dc=mdb-example,dc=okta,dc=com))'

Nota

Otras plantillas de consulta también podrían funcionar. Usar la plantilla predeterminada {USER}?memberOf?base podría resultar en tiempos de búsqueda más largos.

Volver

Microsoft Entra ID DS

En esta página