Docs Menu
Docs Home
/ /

Configurar Workforce Identity Federation con OIDC

En MongoDB 7.0 y versiones posteriores, Workforce Identity Federation le permite utilizar un proveedor de identidad (IdP) externo, como su proveedor corporativo. IdP, para autenticar y autorizar a una fuerza laboral determinada, como empleados, socios y contratistas.

Con Workforce Identity Federation, se puede:

  • Gestionar el acceso de la fuerza laboral a las implementaciones de MongoDB a través del proveedor de identidad que se tenga actualmente.

  • Aplicar políticas de seguridad como la complejidad de contraseñas, la rotación de credenciales y MFA dentro del proveedor de identidad que se tenga actualmente.

  • Conceder acceso a un grupo de usuarios o un solo usuario.

Después de configurar al proveedor de identidad externo y agregarlo a Workforce Identity Federation una vez, se puede habilitar el proveedor de identidad de Workforce para varias organizaciones de Atlas. Después de habilitar Workforce Identity Federation en una organización determinada, se puede utilizar en todos los proyectos de esa organización para acceder a las bases de datos.

Workforce Identity Federation es compatible con los clústeres dedicados de Atlas (M10 y superiores) que ejecutan la versión 7.0.11 de MongoDB y superiores. Se debe utilizar MongoDB Shell o Compass para acceder a Atlas con Workforce Identity Federation.

Para aprender más sobre cómo implementar el acceso a Workforce Identity Federation, se puede consultar Conectar un cliente a MongoDB con Workforce Identity Federation.

Para administrar la configuración de Workforce Identity Federation, debe tener Organization Owner acceso a Atlas.

Para acceder a los clústeres de Atlas con la Federación de Identidad de la Fuerza Laboral, complete los siguientes pasos:

  1. Configurar un proveedor de identidad de Workforce (configuración única).

    1. Configurar al proveedor de identidad externo.

    2. Configure el Proveedor de Identidad de Workforce en Atlas y actívelo para su(s) organización(es) de Atlas.

  2. Conceda a identidades externas (principales de usuario) o grupos acceso a clústeres de MongoDB.

  3. Autenticar los clústeres Atlas con MongoDB Shell o Compass.

Para configurar Workforce Identity Federation con OIDC, se debe registrar la aplicación de OIDC con un proveedor de identidad que brinde soporte al estándar OIDC, como Microsoft Entra ID, Okta o Ping Identity.

Nota

Workforce Identity Federation solo brinda soporte a JWT para la autenticación. No brinda soporte para tokens de acceso opacos.

Se puede configurar su aplicación OIDC para los siguientes tipos de concesiones:

  • Flujo de código de autorización con PKCE

  • Flujo de autorización de dispositivos

MongoDB recomienda que se utilice el Flujo de códigos de autorización con PKCE para mayor seguridad. Se debe utilizar el Flujo de autorización de dispositivos solo si los usuarios necesitan acceder a la base de datos desde máquinas sin navegador.

Los pasos de registro de la aplicación OIDC pueden variar según el proveedor de identidad. Se debe garantizar que se completan los siguientes elementos durante el proceso de registro:

1

Seleccionar public client/native application como el tipo de cliente.

2
3

Para los grupos, este paso garantiza que los tokens de acceso contengan la información de membresía del grupo del usuario que se autentica. MongoDB utiliza los valores enviados en una reclamación de grupos para la autorización.

4

(Opcional) Se puede permitir que se actualicen los tokens si se desea que los clientes de MongoDB actualicen los tokens para una mejor experiencia de usuario.

5

(Opcional) Configurar la vida útil del token de acceso (reclamaciónexp ) para que se alinee con el tiempo de sesión de la conexión a la base de datos.

Después de registrar la aplicación, se deben guardar los valores issuer, clientId y audience para usarlos en la siguiente etapa de la configuración del proveedor de identidad de Atlas Workforce.

Para registrar la aplicación OIDC con Microsoft Entra ID:

1
  1. Ir a App registrations.

    1. En su portal de Azurecuenta, busque y Microsoft Entra ID haga clic en.

    2. En la sección Manage de la navegación izquierda, hacer clic en App registrations.

  2. Haga clic en New registration.

  3. Aplicar los siguientes valores.

    Campo
    Valor

    Name

    Atlas Database - Workforce

    Supported Account Types

    Accounts in this organizational directory only (single tenant)

    Redirect URI

    - Public client/native (mobile & desktop)
    - http://localhost:27097/redirect
  4. Haga clic en Register.

Para aprender más sobre cómo registrar una aplicación, se puede consultar Azure Documentation.

2
  1. Ir a Token Configuration.

    En la sección Manage de la navegación izquierda, hacer clic en Token Configuration.

  2. Haga clic en Add groups claim.

  3. En el cuadro modal Edit groups claim, seleccionar Security groups.

    Los grupos que seleccione dependen del tipo de grupos que haya configurado en su entorno de Azure. Es posible que necesite seleccionar un tipo diferente de grupo para enviar la información de grupo adecuada.

  4. En la sección Customize token properties by type, seleccionar solo Group ID.

  5. Haga clic en Add.

Para aprender más sobre cómo agregar una reclamación de grupo, se puede consultar Documentación de Azure.

3
  1. Haga clic en Add optional claim.

  2. En el cuadro modal Add optional claim, seleccionar Access.

  3. Seleccionar una reclamación que lleve un identificador de usuario al que se pueda referir en los registros de acceso de MongoDB, como un correo electrónico.

    Se puede usar la reclamación UPN para identificar a los usuarios con su dirección de correo electrónico.

  4. Haga clic en Add.

  5. En la nota Microsoft Graph Permissions, marque la casilla y haga clic en Add.

Para aprender más, se puede consultar la documentación de Azure.

4
  1. En la sección Manage de la navegación izquierda, hacer clic en Manifest.

  2. Actualizar el requestedAccessTokenVersion de null a 2.

    El número 2 representa la versión 2 de los tokens de acceso de Microsoft. Otras aplicaciones pueden utilizar esto como una declaración firmada de la identidad del usuario gestionado por el Directorio de Active. La versión 2 garantiza que el token sea un JSON Web Token que MongoDB comprenda.

  3. Haga clic en Save.

Para aprender más sobre cómo agregar una reclamación opcional, se puede consultar Documentación de Azure.

5
  1. En la navegación izquierda, hacer clic en Overview.

    Copiar el valor de Application (client) ID.

  2. En la navegación superior, haga clic en Endpoints.

    Copie el valor OpenID Connect metadata document sin la parte /.well-known/openid-configuration.

    También se puede obtener este valor copiando el valor de issuer en la URL OpenID Connect metadata document.

La siguiente tabla muestra cómo se asignan estos valores de la interfaz de usuario de Microsoft Entra ID en nuestras propiedades de configuración de Atlas:

Microsoft Entra ID UI
Propiedad de configuración de Atlas

Application (client) ID

Client ID
Audience

OpenID Connect metadata document (without /.well-known/openid-configuration)

Issuer URI.

Nota

Requisito previo

Este procedimiento requiere que se tenga acceso Organization Owner y asume que ya se tiene una aplicación OIDC creada en el proveedor de identidad. Para aprender cómo configurar un proveedor de identidad, se puede consultar Configurar una aplicación de proveedor de identidad externo.

Para configurar un proveedor de identidades de Workforce en Atlas:

1
  1. Si aún no se muestra, selecciona la organización deseada en el menú Organizations de la barra de navegación.

  2. En la barra lateral, haz clic en Federation en la sección Identity & Access.

  3. Haga clic en Open Federation Management App.

La página de Federación se muestra.

2
  1. Hacer clic en Identity Providers en la barra lateral izquierda.

  2. Realice uno de los siguientes pasos:

    • Si aún no tiene ningún proveedor de identidad configurado, haga clic en Set Up Identity Provider.

    • De lo contrario, en la pantalla Identity Providers, hacer clic en Configure Identity Provider(s).

  3. Seleccione Workforce Identity Federation y haga clic en Continue.

  4. Seleccione OIDC for Data Access.

3
Configuración
Necesidad
Valor

Configuration Name

Requerido

Etiqueta legible por humanos que identifica esta configuración. Esta etiqueta es visible para los usuarios de Atlas designados.

Configuration Description

Opcional

Etiqueta legible por humanos que describe esta configuración.

Issuer URI

Requerido

El valor del emisor proporcionado por la aplicación del proveedor de identidad que se tenga registrado. Usando este URI, MongoDB encuentra un Documento de Configuración del Proveedor de OpenID, que debería estar disponible en el endpoint /.wellknown/open-id-configuration.

Client ID

Requerido

Identificador único para la aplicación registrada. Ingresar el valor de clientId de la aplicación que se registró con el proveedor de identidad externo.

Audiencia

Requerido

Entidad para la cual el proveedor de identidad externo destina el token. Ingresar el valor de audience de la aplicación que se registró con el proveedor de identidad externo. Generalmente, este valor es el mismo que el Client ID.

Requested Scopes

Opcional

Tokens que otorgan a los usuarios permiso para realizar una solicitud de datos desde el punto de autorización. Si se planea brindar soporte a tokens de actualización, este campo debe incluir el valor offline_access.

Si el proveedor de identidad es Microsoft Entra ID, Atlas requiere esta configuración. Agregar el alcance por defecto, que es <application client id>/.default.

Para cada ámbito adicional que se desee agregar, hacer clic en Add more scopes.

Tipo de autorización

Requerido

Seleccionar Group Membership para conceder autorización basada en la pertenencia a un grupo de usuarios del proveedor de identidad, o seleccionar User ID para conceder autorización a un usuario individual.

Customize Groups Claim

Requerido

Identificador de la reclamación que incluye la información de membresía del grupo de usuarios del proveedor de identidad del principal. Aceptar el valor por defecto a menos que el proveedor de identidad utilice una reclamación diferente o necesite un reclamo personalizado. Este campo solo es obligatorio si se selecciona Group Membership.

Por defecto: groups

Customize User Claim

Requerido

Identificador de la reclamación que incluye la identidad principal del usuario. Aceptar el valor por defecto a menos que el proveedor de identidad utilice una reclamación diferente.

Por defecto: sub

4
5

Nota

Este paso solo es obligatorio si se necesita conectar varios proveedores de identidad de Workforce a la misma organización con diferentes dominios. Atlas admite un máximo de dos proveedores de identidad de la fuerza laboral conectados a una organización: un proveedor de identidad de OIDC (para el acceso a la base de datos) y un proveedor de identidad de SAML (para el acceso a la interfaz de usuario).

  1. En su tarjeta de proveedor de identidad de Workforce, hacer clic en Associate Domains.

  2. En el cuadro modal Associate Domains with Identity Provider, seleccione uno o más dominios.

  3. Haga clic en Submit.

6
  1. Haga clic en Connect Organizations.

  2. Para la organización a la que desea conectarse con el Proveedor de Identidad de Workforce, haga clic en Configure Access.

  3. Haga clic en Connect Identity Provider.

    Nota

    Si se tiene otro proveedor de identidad configurado, este botón dice Connect Identity Provider(s).

7

En el modal Connect Identity Provider(s), seleccionar un proveedor de identidad de Workforce donde el Purpose sea Workforce Identity Federation.

8

Cuando se conecta el proveedor de identidad de Workforce a una organización, Atlas habilita al proveedor de identidad de Workforce para todos los proyectos dentro de esa organización.

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

Haga clic en Add New Database User or Group.

Nota

Hasta que se aplique el proveedor de identidad de Workforce a Atlas, este botón dice Add New Database User.

3

En la sección Authentication Method, seleccione Federated Auth.

Nota

Hasta que se habilite el proveedor de identidad de Workforce para la organización, no se puede seleccionar esta casilla.

4

a. En la sección Select Identity Provider, seleccionar un proveedor de identidad OIDC configurado.

  1. Especifica el identificador de usuario o el identificador de grupo asociado con tu proveedor de identidad de Workforce configurado.

Nota

Para los usuarios de Azure Entra ID, este valor se asigna al ID de objeto de su grupo de usuarios de Azure en lugar del nombre del grupo de usuarios.

5

Para asignar privilegios al nuevo usuario o grupo, realice una o más de las siguientes tareas:

  • Seleccione un rol integrado en el Built-in Role menú desplegable.

    • Puede seleccionar un rol con funcionalidad incorporada por grupo de base de datos en la interfaz de usuario de Atlas.

    • Si borra la opción por defecto, puede hacer clic en Add Built-in Role para seleccionar un nuevo rol con funcionalidad incorporada.

  • Selecciona o agrega roles personalizados.

    • Si tiene roles personalizados definidos, puede expandir la sección Custom Roles y seleccionar uno o más roles del menú desplegable Custom Roles.

    • Haga clic Add Custom Role para añadir más roles personalizados.

    • Se debe hacer clic en el enlace Custom Roles para ver los roles personalizados del proyecto.

  • Añadir privilegios.

    • Expanda la sección Specific Privileges y seleccione uno o más privilegios del menú desplegable de Specific Privileges.

    • Haga clic en Add Specific Privilege para agregar más privilegios. Esto asigna al grupo privilegios específicos en bases de datos y colecciones individuales.

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

Atlas puede aplicar un rol incorporado, varios roles personalizados y diversos privilegios específicos a un grupo de bases de datos.

Para obtener más información sobre la autorización, consulte Control de accesos en función del rol y Roles con funcionalidad incorporada en el manual de MongoDB.

6

Por defecto, los grupos pueden acceder a todos los clústeres e instancias federadas de bases de datos en el proyecto. Para restringir el acceso a clústeres específicos e instancias federadas de bases de datos:

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

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

7

Cambia Temporary User o Temporary Group a On y elige un tiempo después del cual Atlas puede borrar al usuario o grupo del menú desplegable Temporary User Duration o Temporary Group Duration. Puedes seleccionar uno de los siguientes períodos de tiempo para que el grupo exista:

  • 6 horas

  • 1 día

  • 1 semana

En la pestaña Database Users, los usuarios o grupos temporales muestran el tiempo restante hasta que Atlas borre a los usuarios o al grupo. Después de que Atlas borre al usuario o grupo, cualquier cliente o aplicación que utilice las credenciales temporales del usuario o grupo perderá acceso al clúster.

8

Realice uno de los siguientes pasos:

  • Si agregaste un usuario, haz clic en el botón Add User.

  • Si ha agregado un grupo, haga clic en el botón Add Group.

A continuación se enumeran las formas en las que se puede conectar un cliente a MongoDB con la autenticación de Workforce Identity Federation:

1
  1. Si aún no se muestra, selecciona la organización deseada en el menú Organizations de la barra de navegación.

  2. En la barra lateral, haz clic en Federation en la sección Identity & Access.

  3. Haga clic en Open Federation Management App.

La página de Federación se muestra.

2

Se pueden ver todos los proveedores de identidad configurados y sus detalles.

1
  1. Si aún no se muestra, selecciona la organización deseada en el menú Organizations de la barra de navegación.

  2. En la barra lateral, haz clic en Federation en la sección Identity & Access.

  3. Haga clic en Open Federation Management App.

La página de Federación se muestra.

2
3
4
1
  1. Si aún no se muestra, selecciona la organización deseada en el menú Organizations de la barra de navegación.

  2. En la barra lateral, haz clic en Federation en la sección Identity & Access.

  3. Haga clic en Open Federation Management App.

La página de Federación se muestra.

2

Puede ver todas las organizaciones conectadas y gestionar sus configuraciones.

Nota

Utilizar el siguiente procedimiento solo si se gestionan claves de firma propias.

No utilizar esta característica para rotar las claves de firma. Cuando se rotan las claves de firma del proveedor de identidad de Workforce, MongoDB obtiene el JWKS automáticamente cuando los tokens de acceso existentes expiran.

Si la llave privada está comprometida, se pueden revocar inmediatamente los conjuntos de llaves web JSON (JWKS) almacenados en caché en los nodos de MongoDB:

1
2
  1. Si aún no se muestra, selecciona la organización deseada en el menú Organizations de la barra de navegación.

  2. En la barra lateral, haz clic en Federation en la sección Identity & Access.

  3. Haga clic en Open Federation Management App.

La página de Federación se muestra.

3
4
5
6

Después de hacer clic en Revoke, MongoDB obtiene las nuevas claves a través del endpoint JWKS. Los clientes se deben reiniciar (como mongosh o Compass) después de revocar JWKS.

Para borrar la configuración de su proveedor de identidad de Workforce:

1
  1. Si aún no se muestra, selecciona la organización deseada en el menú Organizations de la barra de navegación.

  2. En la barra lateral, haz clic en Federation en la sección Identity & Access.

  3. Haga clic en Open Federation Management App.

La página de Federación se muestra.

2
  1. Hacer clic en Organizations en la barra lateral izquierda.

  2. Hacer clic en la organización que tiene habilitada la Workforce Identity Federation.

  3. Hacer clic en Disconnect en el menú desplegable Manage de la tarjeta de Workforce Identity Federation.

  4. En el cuadro de diálogo Disconnect identity provider?, hacer clic en Disconnect.

    Cuando se desconecte un proveedor de identidad, los usuarios que se autentican usando el proveedor de identidad perderán acceso a Workforce Identity Federation en los proyectos de Atlas listados en la tabla Project.

3
4
5

En el cuadro de diálogo Delete Identity Provider?, hacer clic en Delete.

Se puede utilizar el Atlas CLI para gestionar la configuración de Workforce Identity Federation para las organizaciones que se tengan.

Para crear un proveedor de identidad OIDC usando Atlas CLI, se puede ejecutar el siguiente comando:

atlas federatedAuthentication federationSettings identityProvider create oidc [displayName] [options]

Para aprender más sobre la sintaxis y los parámetros de comandos, se puede consultar la documentación de la Atlas CLI para atlas federatedAuthentication federationSettings identityProvider create oidc.

Para conectar un proveedor de identidad a una organización usando la Atlas CLI, se debe ejecutar el siguiente comando:

atlas federatedAuthentication federationSettings connectedOrgConfigs connect [options]

Para aprender más acerca de la sintaxis de comandos y los parámetros, se puede consultar la documentación de Atlas CLI para atlas federatedAuthentication federationSettings connectedOrgConfigs connect.

Para listar todos los proveedores de identidad:

Para listar los proveedores de identidad de la configuración de la federación usando el Atlas CLI, se puede ejecutar el siguiente comando:

atlas federatedAuthentication federationSettings identityProvider list [options]

Para aprender más sobre la sintaxis de comandos y los parámetros, se puede consultar la documentación de Atlas CLI para atlas federatedAuthentication federationSettings identityProvider list.

Para visualizar los detalles de un proveedor de identidad específico:

Para describir el proveedor de identidad especificado desde la configuración de su federación usando la Atlas CLI, ejecute el siguiente comando:

atlas federatedAuthentication federationSettings identityProvider describe <identityProviderId> [options]

Para aprender más sobre la sintaxis de comandos y los parámetros, se puede consultar la documentación de Atlas CLI para atlas federatedAuthentication federationSettings identityProvider describe.

Para ver la configuración de federación:

Para devolver los detalles de configuración de federación para la organización especificada usando el Atlas CLI, se debe ejecutar el siguiente comando:

atlas federatedAuthentication federationSettings describe [options]

Para aprender más sobre la sintaxis y los parámetros de los comandos, se puede consultar la documentación de Atlas CLI para atlas federatedAuthentication federationSettings describe.

Para actualizar un proveedor de identidad OIDC usando el Atlas CLI, se debe ejecutar el siguiente comando:

atlas federatedAuthentication federationSettings identityProvider update oidc [identityProviderId] [options]

Para aprender más sobre la sintaxis y los parámetros del comando, se puede consultar la documentación de Atlas CLI para atlas federatedAuthentication federationSettings identityProvider actualizar oidc.

Para listar las organizaciones conectadas:

Para listar las configuraciones de organizaciones conectadas usando la Atlas CLI, se debe ejecutar el siguiente comando:

atlas federatedAuthentication federationSettings connectedOrgConfigs list [options]

Para aprender más sobre la sintaxis y los parámetros del comando, se puede consultar la documentación de Atlas CLI para atlas federatedAuthentication federationSettings connectedOrgConfigs list.

Para ver los detalles de una organización conectada:

Para describir una configuración de organización conectada usando Atlas CLI, se debe ejecutar el siguiente comando:

atlas federatedAuthentication federationSettings connectedOrgConfigs describe [options]

Para aprender más sobre la sintaxis de comandos y los parámetros, se puede consultar la documentación de Atlas CLI para atlas federatedAuthentication federationSettings connectedOrgConfigs describe.

Para actualizar una organización conectada:

Para actualizar una configuración de organización conectada a una configuración de federación usando el Atlas CLI, ejecute el siguiente comando:

atlas federatedAuthentication federationSettings connectedOrgConfigs update [options]

Para aprender más sobre la sintaxis de comandos y los parámetros, se puede consultar la documentación de Atlas CLI para atlas federatedAuthentication federationSettings connectedOrgConfigs update.

Para borrar una organización conectada:

Para borrar una organización de configuración de org conectada usando el Atlas CLI, se puede ejecutar el siguiente comando:

atlas federatedAuthentication federationSettings connectedOrgConfigs delete [options]

Para aprender más sobre la sintaxis y los parámetros del comando, se puede consultar la documentación de Atlas CLI para atlas federatedAuthentication federationSettings connectedOrgConfigs delete.

Para revocar el token JWK del proveedor de identidad especificado desde la configuración de su federación usando el Atlas CLI, se puede ejecutar el siguiente comando:

atlas federatedAuthentication federationSettings identityProvider revokeJwk <identityProviderId> [options]

Para aprender más acerca de la sintaxis y los parámetros del comando, se puede consultar la documentación de Atlas CLI para atlas federatedAuthentication federationSettings identityProvider revokeJwk.

Para desconectar una organización:

Para desconectar un proveedor de identidad de una organización usando la Atlas CLI, se puede ejecutar el siguiente comando:

atlas federatedAuthentication federationSettings connectedOrgConfigs disconnect [options]

Para aprender más sobre la sintaxis de comandos y los parámetros, se puede consultar la documentación de Atlas CLI para atlas federatedAuthentication federationSettings connectedOrgConfigs disconnect.

Para borrar el proveedor de identidad:

Para remover el proveedor de identidad especificado de la configuración de la federación usando el Atlas CLI, se debe ejecutar el siguiente comando:

atlas federatedAuthentication federationSettings identityProvider delete <identityProviderId> [options]

Para aprender más sobre la sintaxis de comandos y los parámetros, se puede consultar la documentación de Atlas CLI para atlas federatedAuthentication federationSettings identityProvider delete.

Volver

OIDC/OAuth 2.0