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 autenticación y autorización de usuario con la interfaz LDAP de Okta

Nota

Comenzando con MongoDB 8.0, La autenticación y autorización LDAP está obsoleta. La funcionalidad está disponible y seguirá funcionando sin cambios durante toda la vida útil de MongoDB 8. LDAP será removido en una próxima versión importante.

Para obtener más detalles, consulte Desuso de LDAP.

Nota

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

  • Clústeres gratuitos

  • Clústeres Flex

Para aprender más, Límites.

Esta guía te muestra cómo permitir que Atlas autentique y autorice a los usuarios de bases de datos (no a los 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 solo habilitas la autenticación LDAP, puedes añadir usuarios individuales a Atlas y asignar privilegios de acceso a bases de datos a cada usuario que añadas.

  • 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 a la base de datos del grupo LDAP al que pertenecen.

Atlas admite:

  • Autenticación de usuarios de bases de datos a partir de la sincronización con Okta Active Directory.

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

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

  • Debes implementar M10 o clústeres de Atlas más grandes para habilitar la integración LDAP. La integración LDAP es una característica de Atlas Enterprise.

  • Atlas no admite la autorización de usuarios de bases de datos en grupos de sincronización de Okta Active Directory.

  • 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 de LDAP, debes tener acceso Organization Owner o Project Owner a Atlas.

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

1
  1. Para aprender más sobre cómo configurar la interfaz LDAP de Okta, consulta la documentación de Okta.

  2. Toma nota de tu <okta-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 utiliza para iniciar sesión en su cuenta de Okta:

    https://<okta-instance-id>.admin.okta.com
2
  1. Crea un nuevo usuario de Okta para usarlo como usuario de enlace Atlas. El usuario de enlace es un usuario de Okta que utilizarás para realizar una query en la cuenta y autenticar las credenciales de los usuarios de 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 distinguido completo (DN) de su usuario de enlace:

    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 nombre distinguido del usuario de enlace 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. Navegue hasta su página Okta Personas.

  2. Haga clic Add Person.

  3. Ingrese los detalles del usuario. Utiliza direcciones de correo electrónico como nombres de usuario.

    Nota

    Evita introducir direcciones de correo electrónico con símbolos de suma (+). La integración LDAP de Atlas puede encontrar problemas con direcciones de correo electrónico que contienen el símbolo más.

  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 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": "uid={0},ou=users,dc=<okta_instance_id>,dc=okta,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

Saltar este paso si deseas habilitar la autorizacion LDAP.

Agrega usuarios gestionados en el 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 has ingresado un User to DN Mapping, ingresa el nombre distinguido completo del usuario LDAP. Sigue esta plantilla:

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

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

      uid=jane@example.com,ou=users,dc=mdb-example,dc=okta,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

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 activar la autenticación con LDAP antes de activar la autorización.

  • Cuando habilitas y configuras 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

Atlas LDAP autorizacion LDAP utiliza grupos LDAP para determinar si los usuarios están autorizados a realizar acciones en la base de datos.

Cree grupos de Okta independientes para cada nivel de acceso que desee conceder a los usuarios. Por ejemplo, se puede crear un grupo para el acceso de solo lectura a una base de datos, otro para el acceso de lectura y escritura, etc.

  1. Navega a tu 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 en función del nivel de acceso que cada usuario requiera.

  1. Haz clic en el grupo al que deseas agregar usuarios.

  2. Haga clic en Manage People.

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

3

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

  1. Navega a tu página de Okta Administrators haciendo clic en Security y luego en Administrators.

  2. Haga clic en Add Administrator.

  3. Busca tu usuario enlazado y luego selecciona 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 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

Agrega a Atlas cada uno de los grupos de la base de datos de Okta que creaste. Los nodos de los grupos que agregues están autorizados para realizar las acciones de base de datos otorgadas 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=<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 nombre distinguido del usuario de enlace 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 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 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 query debe estar conforme a RFC4515.

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

Es posible que otras plantillas de query también funcionen. Utilizar la plantilla por defecto de {USER}?memberOf?base puede dar lugar a tiempos de búsqueda más prolongados.

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

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.

Usa ldapsearch para determinar si la plantilla de query que se te configuró en Atlas devuelve los DN de usuario tal como esperabas. La plantilla de consulta puede no estar devolviendo los DN de usuarios 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

Es posible que otras plantillas de query también funcionen. Utilizar la plantilla por defecto de {USER}?memberOf?base puede dar lugar a tiempos de búsqueda más prolongados.

Volver

Microsoft Entra ID DS

En esta página