Docs Menu
Docs Home
/ /

Configurar OIDC para la autenticación de Workforce

Para configurar Workforce Identity Federation con OIDC: registre su aplicación OIDC con un proveedor de identidad externo, como Okta o Microsoft Entra ID. Esto garantiza una autenticación segura y facilita la gestión de usuarios.

Workforce Identity Federation utiliza OIDC. Puede usar cualquier proveedor de identidad externo compatible con el estándar OIDC.

Se puede configurar la aplicación OIDC para los siguientes tipos de concesión:

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

Nota

La Federación de Identidad de la Fuerza Laboral solo admite JWT para autenticación. No admite tokens de acceso opacos.

Los siguientes procedimientos proporcionan instrucciones de configuración detalladas para Microsoft Entra ID y Okta, e instrucciones de configuración genéricas para otros proveedores de identidad externos.

  • Para utilizar Okta como proveedor de identidad, debe tener una Okta account.

  • Para utilizar Microsoft Entra ID como proveedor de identidad, debe tener una cuenta de Microsoft Azure.

1
  1. Navegar a App registrations.

    1. En la cuenta del portal de Azure, buscar y hacer clic en Microsoft Entra ID.

    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

    MongoDB - Workforce

    Supported Account Types

    Accounts in this organizational directory only (single tenant)

    Redirect URI

    - Public client/native (mobile & desktop)
    - To access clusters using MongoDB Compass and MongoDB Shell, set the Redirect URI to 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.

    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 a qué se asignan estos valores de UI de ID de Microsoft Entra en MongoDB oidcIdentityProviders parámetro:

Microsoft Entra ID UI
Campo de parámetro oidcIdentityProviders de MongoDB

Application (client) ID

clientID
audience

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

issuer

1

En su panel de Okta Admin, use el panel de navegación izquierdo para ir a Applications → Applications.

  1. En la pantalla Applications, haz clic en Create App Integration.

  2. En la sección Sign-in method, seleccione OIDC - OpenID Connect.

  3. En la sección Application type, seleccione Native Application.

  4. Haga clic en Next.

Para obtener más información, consulte Crear integraciones de aplicaciones OIDC.

2

Después de crear una integración de aplicaciones, se le redirigirá automáticamente a la pantalla New Native App Integration.

  1. En el campo App integration name, ingrese un nombre para su aplicación.

  2. En el campo Grant type, seleccione los tipos de concesión.

    Habilite los siguientes tipos de concesiones:

    • Authorization Code or Device Authorization

    • (Opcional) Refresh Token

      Habilitar los tokens de actualización proporciona una mejor experiencia de usuario. Si no están habilitados, los usuarios deben volver a autenticarse con el proveedor de identidad una vez que caduque su token de acceso.

  3. En la sección Sign-in redirect URIs, ingrese una URL.

    Introduzca la siguiente URL: http://localhost:27097/redirect.

  4. En la sección Assignments, configure los campos Controlled access y Enable immediate access.

    1. Para el campo Controlled access, seleccione Allow everyone in your organization to access.

    2. Para el campo Enable immediate access, asegúrese de que Enable immediate access with Federation Broker Mode esté marcado.

  5. Haga clic en Save.

Para obtener más información,consulte Crear integraciones de aplicaciones OIDC.

3

En el panel de su aplicación, vaya a la pestaña General y configure lo siguiente:

  1. En el campo Client ID, haga clic en el icono para copiar el ID de cliente para su uso posterior.

  2. En el campo Proof Key for Code Exchange (PKCE), asegúrese de que Require PKCE as additional verification esté habilitado (marcado por defecto).

4

En el panel de navegación izquierdo, vaya a Security → API. Haga clic en Add Authorization Server.

  1. En el campo Name ingrese un nombre para su servidor.

  2. En el campo Audience, pegue el ID del cliente del paso anterior.

  3. (Opcional) En el Description campo, ingrese una descripción de su servidor.

  4. Haga clic en Save.

Para obtener más información,consulte Crear un servidor de autorización.

5

Después de crear su servidor de autorización, será redirigido automáticamente a la pantalla de su servidor de autorización.

En la pestaña Settings, guarde la URI del emisor copiando la primera parte de Metadata URI hasta la sección .well-known. La estructura de la URI debería ser similar a: https://trial4238026.okta.com/oauth2/ausabgmhveoOQSMsE697.

6

En la pantalla del servidor de autorización, vaya a la pestaña Claims y haga clic en Add Claim.

  1. Configure la reclamación Groups con la siguiente información de configuración:

    Campo
    Valor

    Name

    Introduzca un nombre para su reclamo.

    Include in token type

    Haga clic en el menú desplegable y seleccione Access Token.

    Value type

    Haga clic en el menú desplegable y seleccione Groups.

    Filter

    Haga clic en el menú desplegable y seleccione Matches regex. Junto al menú desplegable, introduzca .*.

    Disable claim

    No comprobar.

    Include in

    Seleccione Any scope.

  2. Haga clic en Create.

Para obtener más información, consulte Crear reclamaciones.

7

En la pantalla del servidor de autorización, vaya a la pestaña Access Policies y haga clic en Add Policy.

  1. En el campo Name, ingrese un nombre de política.

  2. En el campo Description, ingrese una descripción para la política.

  3. En el campo Assign to, seleccione All clients.

  4. Haga clic en Create Policy.

Para obtener más información, consulte Crear una política de acceso.

8

En la pestaña Access Policies, haga clic en Add Rule.

  1. En el campo Rule Name, ingresa un nombre para la política de acceso.

  2. Para IF Grant Type is, seleccione un tipo de concesión.

    Al configurar los tipos de concesión, seleccione la opción adecuada según el comportamiento del cliente:

    • Si el cliente actúa en nombre propio, seleccione Client Credentials.

    • Si el cliente actúa en nombre de un usuario, seleccione lo siguiente:

      • Authorization Code

      • Device Authorization

  3. Agregue configuraciones de reglas según la política de seguridad de su organización.

    Ejemplo de configuración de reglas de Okta:

    Campo

    Valor

    AND user is

    Seleccione Any user assigned to the app.

    AND Scopes requested

    Seleccione Any scopes.

    THEN Use this inline hook

    Ninguno (deshabilitado)

    AND Access token lifetime is

    1 Hours

    AND Refresh token lifetime is

    Haga clic en el segundo menú desplegable y seleccione Unlimited.

    but will expire if not used every

    Introduzca 7 days.

  4. Haga clic en Create Rule.

Para obtener más información, consulte Crear reglas para cada política de acceso.

9

En el panel de navegación izquierdo, vaya a Directory → Groups y haga clic en Add Group.

  1. En el campo Name, nombre su directorio OIDC.

  2. (Opcional) En el Description campo, ingrese una descripción para su regla.

  3. Haga clic en Save.

Para obtener más información, consulte Crear un grupo.

10

En el panel de navegación izquierdo, vaya a Directory → People y haga clic en Add Person.

  1. Proporcione los detalles del usuario ingresando los siguientes valores en los campos correspondientes:

    Campo
    Valor

    User type

    Seleccione User.

    First name

    Proporcione el nombre según sea necesario.

    Last name

    Proporcione el nombre según sea necesario.

    Username

    Introduzca un correo electrónico como nombre de usuario.

    Primary email

    Introduce un correo electrónico. Debe ser el mismo que el utilizado en el campo Username.

    Secondary email

    Opcional.

    Groups

    Introduzca OIDC.

    Activation

    Seleccione Activate Now y marque I will set password.

    Password

    Introduzca una contraseña.

    User must change password on first login

    Seleccionar Optional

  2. Haga clic en Save.

Para obtener más información,consulte Agregar usuarios manualmente.

1

Seleccione 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) Permitir tokens de actualización si desea que los clientes de MongoDB actualicen los tokens para una mejor experiencia del usuario

5

(Opcional) Configure el tiempo de vida del token de acceso (reclamo exp) para alinearlo con el tiempo de sesión de conexión de su base de datos

Después de registrar su aplicación, guarde los valores issuer, clientId y audience para usarlos en la siguiente etapa de la configuración.

Volver

Fuerza laboral (humanos)

En esta página