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

Configura la federación de identidades de cargas de trabajo con OAuth 2.0

Carga de trabajo Identity Federation permite que tus aplicaciones accedan a las implementaciones de MongoDB Cloud Manager utilizando identidades programáticas externas, como Principals de Servicio de Azure, identidades gestionadas de Azure y cuentas de servicio de Google.

La federación de identidad de cargas de trabajo permite que tus aplicaciones accedan a implementaciones de MongoDB con tokens de acceso OAuth 2.0. Los tokens de acceso pueden ser emitidos por cualquier proveedor externo de identidad, incluidos Azure Entra ID y Google Cloud Platform. Cloud Manager almacena los identificadores de usuario y los privilegios, pero no los secretos. Este mecanismo de autenticación para tus aplicaciones sólo es compatible con algunos controladores de MongoDB.

Los drivers MongoDB admiten dos tipos de flujo de autenticación para Workload Identity Federation: autenticación incorporada y autenticación de función de retorno.

Puedes utilizar la autenticación incorporada si implementas tu aplicación en una infraestructura admitida con un tipo principal compatible. Su aplicación puede acceder a las implementaciones de Cloud Manager sin proporcionar una contraseña ni solicitar manualmente una JWT del servicio de metadatos de tu proveedor de la nube. En su lugar, el controlador de MongoDB que hayas elegido utiliza el identificador de entidad principal para solicitar un token de acceso JWT internamente, que luego se traslada automáticamente a la implementación de Cloud Manager cuando tu aplicación se conecta.

Para más detalles sobre la implementación, consulta la documentación del controlador que hayas elegido.

Infraestructura y tipos principales compatibles con la autenticación incorporada

Proveedor de nube
Tipo de infraestructura
Tipo principal

GCP

Motor de cómputo

Cuentas de servicio de GCP

Entorno estándar del motor de la aplicación

Entorno flexible del motor de la aplicación

Funciones en la nube

Cloud Run

Google Kubernetes Engine

Cloud Build

Azure

Azure VM

Identidades gestionadas de Azure (asignadas al usuario y al sistema)

Puede usar la autenticación por devolución de llamada con cualquier servicio compatible con 2.0 tokens de acceso OAuth. Workload Identity Federation llama a un método de devolución de llamada, en el que puede solicitar el JWT necesario a su servidor de autorización o proveedor de nube, que debe pasar cuando su aplicación se conecta a Cloud Manager con Workload Identity Federation.

Por favor, revise la documentación del controlador de su elección para obtener detalles adicionales sobre la implementación.

Para configurar la Federación de Identidades de Carga de Trabajo, debes contar con Project Owner acceso al Cloud Manager.

Debes tener lo siguiente:

  • MongoDB 7.0 o posterior.

  • Al menos otro mecanismo de autenticación con el MongoDB Agent configurado.

    Nota

    El Agente de MongoDB no puede conectarse a su implementación mediante OIDC. Debe habilitar un mecanismo de autenticación adicional para el Agente de MongoDB. Si Cloud Manager no administra la monitorización ni la copia de seguridad, debe configurarlas manualmente para que usen el mecanismo de autenticación alternativo.

Para configurar la Federación de identidades de cargas de trabajo, completa los siguientes pasos:

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

    1. Configurar al proveedor de identidad externo.

    2. Configurar el proveedor de identidad de carga de trabajo en Cloud Manager.

  2. Concede acceso a identidades externas (principales de usuario) o grupos.

  3. Autentícate en tu implementación de Cloud Manager.

Nota

Para restablecer la autenticación y la configuración de TLS de tu proyecto, primero desadministra cualquier implementación de MongoDB que Cloud Manager administre en tu proyecto.

Para acceder a las implementaciones de Cloud Manager con identidades administradas de Azure o principales de servicio de Azure, necesita registrar una aplicación Azure Entra ID. Si ya tienes un registro de aplicación para el acceso de carga de trabajo (usuario humano), se recomienda registrar una aplicación separada para el acceso de carga de trabajo.

1
  1. Navegar a App registrations.

    1. En tu 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

    Cloud Manager Database - Workload

    Supported Account Types

    Accounts in this organizational directory only (single tenant)

    Redirect URI

    Web

2

Es una de las mejores prácticas utilizar los identificadores de principal del servicio como identificadores de usuario de MongoDB al definir derechos de acceso en Cloud Manager. Si planeas usar este enfoque común, salta este paso. Sin embargo, si prefieres usar identificadores de grupo como el identificador del Grupo de seguridad de Microsoft Entra ID, puedes establecer el reclamo de grupos en el registro de tu aplicación con los siguientes pasos.

  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, es importante que se seleccione solo Group ID.

    Si seleccionas Group Id, Azure envía el ID de objeto del grupo de seguridad.

  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. Ir a Expose an API en la barra lateral izquierda y activar el URI del ID de la aplicación.

  2. Habilitar un URI de ID de la aplicación.

    1. Mantén el URI de ID de aplicación por defecto asignado por Azure, que es <application_client_id>. Copia y almacena este valor, ya que Cloud Manager y todos los drivers de MongoDB lo requieren para la configuración de la Federación de Identidad de Cargas de Trabajo.

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

  2. Actualizar el accessTokenAcceptedVersion 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.

  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 puedes recuperar este valor siguiendo la OpenID Connect metadata document URL y copiando el valor de issuer.

La siguiente tabla muestra a qué propiedades de configuración de Cloud Manager se asignan estos valores de la interfaz de usuario de Microsoft Entra ID.

Microsoft Entra ID UI
Propiedad de configuración de Cloud Manager

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

Issuer URI.

Application ID URI (<Application ID>)

Audience

No se necesita realizar ningún cambio de configuración en tu cuenta de GCP.

Nota

La Federación de Identidad de Carga de Trabajo solo admite JWT para autenticación. No admite tokens de acceso opacos.

Para configurar un proveedor de identidad federado para la identidad de las cargas de trabajo con Azure Entra ID en Cloud Manager:

1
  1. Selecciona la organización que contiene tu proyecto desde el menú Organizations en la barra de navegación.

  2. Selecciona tu proyecto en el menú Projects de la barra de navegación.

  3. Haz clic en Deployment en la barra lateral.

  4. Haz clic en la pestaña Security.

  5. Haz clic en la pestaña Settings.

  6. Realiza una de las siguientes acciones:

    • Si esta es la primera vez que configura TLS, autenticación o configuración de autorización para este proyecto, haz clic en Get Started.

    • Si ya se ha configurado la autenticación TLS, o la configuración de autorización para este proyecto, haga clic en Edit.

2
Campo
Acción

Seguridad de capa de transporte de implementación de MongoDB (TLS)

Active este control deslizante para ON.

Ruta de archivo CA TLS

El archivo de la Autoridad Certificadora TLS es un archivo de certificado en formato .pemque contiene la cadena de certificados raíz de la Autoridad Certificadora. El Agente de MongoDB utiliza este mismo archivo de Autoridad Certificadora para conectarse a todos los elementos en tu implementación.

La clave privada cifrada para el archivo de certificado .pem debe estar en formato PKCS #1. MongoDB Agent no es compatible con el formato PKCS #8.

Escriba la ruta del archivo hasta el archivo de la Autoridad Certificadora TLS en cada host que ejecute un proceso de MongoDB:

  • Escriba la ruta del archivo en todos los hosts Linux en el primer cuadro.

  • Escriba la ruta del archivo en todos los hosts de Windows en la segunda casilla.

Esto habilita la configuración para los procesos MongoDB en el net.tls.CAFile proyecto.

Haz clic en Validate para probar que cada host en tu implementación tenga una autoridad certificadora TLS en las rutas que especificaste.

Ruta del archivo CA TLS del clúster

El archivo .pem que contiene la cadena de certificados raíz de la Autoridad de Certificación utilizada para validar el certificado presentado por un cliente que establece una conexión. Especifique el nombre del archivo .pem utilizando rutas relativas o absolutas. net.tls.clusterCAFile requiere que net.tls.CAFile esté configurado.

Si no especifica, el clúster utiliza net.tls.clusterCAFile el .pem archivo especificado en la net.tls.CAFile opción.

net.tls.clusterCAFile Le permite utilizar autoridades de certificación independientes para verificar las partes de cliente a servidor y de servidor a cliente del protocolo de enlace TLS.

Modo de certificado de cliente

Seleccione si las aplicaciones cliente o los agentes de MongoDB deben presentar un certificado TLS al conectarse a implementaciones de MongoDB habilitadas para TLS. Cada implementación de MongoDB verifica los certificados de estos hosts cliente cuando intentan conectarse. Si eliges exigir los certificados TLS del cliente, asegúrate de que sean válidos.

Los valores aceptados son:

Opcional

Cada cliente puede presentar un certificado TLS válido al conectarse a implementaciones de MongoDB. Los agentes de MongoDB podrían usar certificados TLS si no estableces el mongod tlsMode en None.

Requerido

Cada implementación de MongoDB en este proyecto se inicia con conexiones de red cifradas con TLS. Todos los Agentes deben usar TLS para conectarse a cualquier implementación de MongoDB.

3

En la sección MongoDB Deployment Authentication Mechanism, seleccione Federated Auth (OIDC).

4
  1. En la sección OIDC Connection and Authorization (Required for OIDC), haga clic en + OIDC IdP Configuration.

  2. En el cuadro de diálogo OIDC Protocol Settings, selecciona Workload Identity Federation.

5
Configuración
Necesidad
Valor

Configuration Name

Requerido

Etiqueta única que identifica esta configuración. Esta etiqueta es visible para los usuarios de tu Cloud Manager y se utiliza al crear usuarios y roles para la autorización. Es sensible a mayúsculas y minúsculas y solo puede contener los siguientes caracteres:

  • caracteres alfanuméricos (combinación de a a z y de 0 a 9)

  • guiones (-)

  • guiones bajos (_)

Después de guardar la configuración, no puedes editar el nombre de la 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.

Audience

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.

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.

Es más común usar User ID para el acceso a aplicaciones.

Customize User Claim

Requerido

El identificador de la reclamación que incluye la identidad principal del usuario. Acepte el valor por defecto a menos que su IdP utilice una reclamación diferente.

Por defecto: sub

Customize Group Claim

Requerido

Se requiere si selecciona Group Membership como el tipo de autorización. El identificador de la afirmación que incluye información sobre la pertenencia del usuario principal al grupo de proveedor de identidad. Aceptar el valor por defecto a menos que su IdP utilice una reivindicación diferente, o que necesite una reclamación personalizada.

Por defecto: groups

6

Cloud Manager guarda la configuración y la lista en la sección OIDC Connection and Authorization (Required for OIDC).

7
8
9

En caso contrario, haz clic en Cancel y podrás realizar cambios adicionales.

Para configurar un proveedor de identidad de federación de identidad de cargas de trabajo con GCP en Cloud Manager:

1
  1. Selecciona la organización que contiene tu proyecto desde el menú Organizations en la barra de navegación.

  2. Selecciona tu proyecto en el menú Projects de la barra de navegación.

  3. Haz clic en Deployment en la barra lateral.

  4. Haz clic en la pestaña Security.

  5. Haz clic en la pestaña Settings.

  6. Realiza una de las siguientes acciones:

    • Si esta es la primera vez que configura TLS, autenticación o configuración de autorización para este proyecto, haz clic en Get Started.

    • Si ya se ha configurado la autenticación TLS, o la configuración de autorización para este proyecto, haga clic en Edit.

2
Campo
Acción

Seguridad de capa de transporte de implementación de MongoDB (TLS)

Active este control deslizante para ON.

Ruta de archivo CA TLS

El archivo de la Autoridad Certificadora TLS es un archivo de certificado en formato .pemque contiene la cadena de certificados raíz de la Autoridad Certificadora. El Agente de MongoDB utiliza este mismo archivo de Autoridad Certificadora para conectarse a todos los elementos en tu implementación.

La clave privada cifrada para el archivo de certificado .pem debe estar en formato PKCS #1. MongoDB Agent no es compatible con el formato PKCS #8.

Escriba la ruta del archivo hasta el archivo de la Autoridad Certificadora TLS en cada host que ejecute un proceso de MongoDB:

  • Escriba la ruta del archivo en todos los hosts Linux en el primer cuadro.

  • Escriba la ruta del archivo en todos los hosts de Windows en la segunda casilla.

Esto habilita la configuración para los procesos MongoDB en el net.tls.CAFile proyecto.

Haz clic en Validate para probar que cada host en tu implementación tenga una autoridad certificadora TLS en las rutas que especificaste.

Ruta del archivo CA TLS del clúster

El archivo .pem que contiene la cadena de certificados raíz de la Autoridad de Certificación utilizada para validar el certificado presentado por un cliente que establece una conexión. Especifique el nombre del archivo .pem utilizando rutas relativas o absolutas. net.tls.clusterCAFile requiere que net.tls.CAFile esté configurado.

Si no especifica, el clúster utiliza net.tls.clusterCAFile el .pem archivo especificado en la net.tls.CAFile opción.

net.tls.clusterCAFile Le permite utilizar autoridades de certificación independientes para verificar las partes de cliente a servidor y de servidor a cliente del protocolo de enlace TLS.

Modo de certificado de cliente

Seleccione si las aplicaciones cliente o los agentes de MongoDB deben presentar un certificado TLS al conectarse a implementaciones de MongoDB habilitadas para TLS. Cada implementación de MongoDB verifica los certificados de estos hosts cliente cuando intentan conectarse. Si eliges exigir los certificados TLS del cliente, asegúrate de que sean válidos.

Los valores aceptados son:

Opcional

Cada cliente puede presentar un certificado TLS válido al conectarse a implementaciones de MongoDB. Los agentes de MongoDB podrían usar certificados TLS si no estableces el mongod tlsMode en None.

Requerido

Cada implementación de MongoDB en este proyecto se inicia con conexiones de red cifradas con TLS. Todos los Agentes deben usar TLS para conectarse a cualquier implementación de MongoDB.

3

En la sección MongoDB Deployment Authentication Mechanism, seleccione Federated Auth (OIDC).

4
  1. En la sección OIDC Connection and Authorization (Required for OIDC), haga clic en + OIDC IdP Configuration.

  2. En el cuadro de diálogo OIDC Protocol Settings, selecciona Workload Identity Federation.

5
Configuración
Necesidad
Valor

Configuration Name

Requerido

Etiqueta única que identifica esta configuración. Esta etiqueta es visible para los usuarios de tu Cloud Manager y se utiliza al crear usuarios y roles para la autorización. Es sensible a mayúsculas y minúsculas y solo puede contener los siguientes caracteres:

  • caracteres alfanuméricos (combinación de a a z y de 0 a 9)

  • guiones (-)

  • guiones bajos (_)

Después de guardar la configuración, no puedes editar el nombre de la configuración.

Issuer URI

Requerido

Introducir el URI https://accounts.google.com.

Audience

Requerido

Especificar cualquier valor personalizado. El parámetro Audience se usa al llamar a los controladores de MongoDB

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.

Es más común usar User ID para el acceso a aplicaciones.

Customize User Claim

Requerido

No modifique el valor por defecto, sub.

Por defecto: sub

6

Cloud Manager guarda la configuración y la lista en la sección OIDC Connection and Authorization (Required for OIDC).

7
8
9

En caso contrario, haz clic en Cancel y podrás realizar cambios adicionales.

MongoDB no crea explícitamente usuarios de base de datos para OIDC. Asocia los usuarios de OIDC con los roles de MongoDB en función de la configuración.

Selecciona una pestaña según el tipo de autorización que hayas seleccionado al configurar la autenticación OIDC.

Si seleccionó el tipo de autorización User ID, cree un nuevo usuario para otorgar autorización a un usuario individual:

1
  1. Selecciona la organización que contiene tu proyecto desde el menú Organizations en la barra de navegación.

  2. Selecciona tu proyecto en el menú Projects de la barra de navegación.

  3. Haz clic en Deployment en la barra lateral.

  4. Haz clic en la pestaña Security.

  5. Haz clic en la pestaña MongoDB Users.

2
3

Nota

Antes de agregar usuarios, asegúrese de haber creado todos los roles que desea asignarles.

  1. Completa los campos de la cuenta de usuario:

    Campo
    Descripción

    Identifier

    • En el primer campo, introduce la base de datos $external.

    • En el segundo campo, introduce un nombre de usuario utilizando tu OIDC proveedor de identidad nombre de configuración y la declaración principal del usuario de tu configuración separada por una barra /:

      {configuration_name}/{user_principal_claim}

    Roles

    Ingrese cualquier rol definido por el usuario disponible y roles integrados en este cuadro. El cuadro combinado proporciona una lista de roles existentes cuando haces clic en él.

    Authentication Restrictions

    1. Haga clic en Add Entry.

    2. Agregue una o más direcciones IP o bloques CIDR en los cuadros Client Source Server Address o. Separe las direcciones o bloques con comas.

      • Client Source restringe las direcciones desde las cuales este usuario puede autenticarse y usar los roles asignados.

      • Server Address restringe las direcciones desde las que este usuario puede autenticarse y tener los roles asignados.

    3. Haga clic en Save.

    4. Para añadir otra entrada, haz clic en Add Entry.

  2. Haga clic en Add User.

4
5

En caso contrario, haz clic en Cancel y podrás realizar cambios adicionales.

Si seleccionaste el tipo de autorización Group Membership, completa los siguientes pasos para crear un rol personalizado que otorgue autorización según la membresía en el grupo de usuarios de proveedor de identidad:

1
  1. Selecciona la organización que contiene tu proyecto desde el menú Organizations en la barra de navegación.

  2. Selecciona tu proyecto en el menú Projects de la barra de navegación.

  3. Haz clic en Deployment en la barra lateral.

  4. Haz clic en la pestaña Security.

  5. Haz clic en la pestaña MongoDB Roles.

2
3
  1. Introduce los siguientes campos:

    Campo
    Necesidad
    Descripción

    Identifier

    Requerido

    En el recuadro Database, introduzca admin.

    En el cuadro Name, introduzca su nombre de configuración de OIDC IdP y el nombre del grupo de su proveedor de identidad externo, separados por una barra diagonal /:

    {configuration_name}/{group_name}

    Inherits From

    Opcional

    Una lista de pares de nombres de roles y bases de datos. El formato para estos pares es roleName@dbName.

    Authentication Restrictions

    Opcional

    Una lista de direcciones IP o notaciones CIDR que desees restringir desde tu proveedor de identidad.

    Privilege Actions by Resource

    Opcional

    Acciones permitidas en el recurso.

    Para obtener más información,consulte Acciones de privilegio.

  2. Haga clic en Add Role.

Usa los siguientes controladores de MongoDB para conectar una aplicación a MongoDB con autenticación por Federación de Identidad de Carga de Trabajo:

Para administrar la configuración de tu Workload Identity Federation, puedes realizar las siguientes acciones.

Nota

No use esta funcionalidad para rotar las claves de firma. Cuando gire las claves de firma OIDC proveedor de identidad, MongoDB obtiene la JWKS automáticamente una vez vencidos los tokens de acceso existentes.

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
  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 Security en la sección Database.

Se muestra la página de Seguridad.

2

Haz clic en la pestaña Settings.

3
  1. Desplácese hasta la sección OIDC Connection and Authorization (Required for OIDC).

  2. Haga clic en el botón REVOKE JWKS.

    Nota

    Este botón está inactivo si no hay un proveedor de identidad configurado.

  3. En el cuadro de diálogo Revoke JWKS tokens?, haga clic en Revoke.

Para editar tu configuración de carga de trabajo Identity Federation:

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 Security en la sección Database.

Se muestra la página de Seguridad.

2
  1. Desplácese hasta la sección OIDC Connection and Authorization (Required for OIDC).

  2. Para la configuración que deseas editar, haz clic en el botón EDIT.

  3. Realiza cambios en la configuración.

3
4
5
6

En caso contrario, haz clic en Cancel y podrás realizar cambios adicionales.

Para borrar tu configuración de Workload Identity Federation:

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 Security en la sección Database.

Se muestra la página de Seguridad.

2
  1. Desplácese hasta la sección OIDC Connection and Authorization (Required for OIDC).

  2. Para la configuración que desea borrar, haga clic en el botón REMOVE.

  3. En el cuadro de diálogo Removing OIDC IdP configuration?, haga clic en Remove.

Volver

Fuerza laboral (humanos)