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.
Cómo funciona
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.
Autenticación incorporada
Puedes utilizar la autenticación incorporada si implementas tu aplicación en una infraestructura admitida con un tipo principal compatible. Tu aplicación puede acceder a las implementaciones de Cloud Manager sin necesidad de suministrar una contraseña o solicitar manualmente un JWT al servicio de metadatos de tu proveedor de nube. En su lugar, tu controlador MongoDB elegido utiliza tu identificador principal existente para solicitar un token de acceso JWT en segundo plano, que luego se pasa 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) |
Autenticación de función de retorno
Puedes usar la autenticación función de retorno con cualquier servicio que admita tokens de acceso OAuth 2.0. Workload Identity Federation llama a un método de función de retorno, en el que puedes hacer la solicitud del JWT necesario a tu servidor de autorización o proveedor de nube que debes pasar cuando tu 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.
Acceso requerido
Para configurar la Federación de Identidad de Carga de trabajo, debes contar con Project Owner acceso a Cloud Manager.
Requisitos previos
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 tu implementación a través de OIDC. Debe habilitar un mecanismo de autenticación adicional para el MongoDB Agent. Si Cloud Manager no gestiona la supervisión o la copia de seguridad, debe configurarlas manualmente para que utilicen el mecanismo de autenticación alternativo.
Procedimientos
Para configurar la Federación de identidades de cargas de trabajo, completa los siguientes pasos:
Configura un proveedor de identidad de carga de trabajo (configuración única).
Configurar una aplicación de Proveedor de Identidad Externo
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.
Registre una aplicación.
Ir a App registrations.
En tu cuenta del portal de Azure, busca y haz clic Microsoft Entra ID en.
En la sección Manage de la navegación izquierda, hacer clic en App registrations.
Haga clic en New registration.
Aplicar los siguientes valores.
CampoValorName
Cloud Manager Database - Workload
Supported Account Types
Accounts in this organizational directory only (single tenant)
Redirect URI
Web
(Opcional) Agregar reclamaciones de grupos.
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.
Ir a Token Configuration.
En la sección Manage de la navegación izquierda, hacer clic en Token Configuration.
Haga clic en Add groups claim.
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.
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.
Haga clic en Add.
Para aprender más sobre cómo agregar una reclamación de grupo, se puede consultar Documentación de Azure.
Habilitar un URI de ID de la aplicación.
Ir a Expose an API en la barra lateral izquierda y activar el URI del ID de la aplicación.
Habilitar un URI de ID de la aplicación.
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.
Actualizar el manifiesto.
En la sección Manage de la navegación izquierda, hacer clic en Manifest.
Actualizar el accessTokenAcceptedVersion de
nulla2.El número
2representa 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.Haga clic en Save.
Para aprender más sobre cómo agregar una reclamación opcional, se puede consultar Documentación de Azure.
Recuerde los metadatos.
En la navegación izquierda, hacer clic en Overview.
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 puede recuperar este valor siguiendo la URL OpenID Connect metadata document y copiando el valor para
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 necesitas hacer cambios de configuración en tu cuenta GCP.
Configura la autenticación de Workload Identity Federation
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:
Navegue al cuadro de diálogo Security Settings para su implementación.
Selecciona la organización que contiene tu proyecto desde el menú Organizations en la barra de navegación.
Selecciona tu proyecto en el menú Projects de la barra de navegación.
Haz clic en Deployment en la barra lateral.
Haz clic en la pestaña Security.
Haz clic en la pestaña Settings.
Realiza una de las siguientes acciones:
Si es la primera vez que configura los ajustes de TLS, autenticación o autorización para este proyecto, haga clic en Get Started.
Si ya ha configurado la autenticación TLS o los ajustes de autorización para este proyecto, haga clic en Edit.
Opcional: Especifica los ajustes de TLS.
Campo | Acción | ||||
|---|---|---|---|---|---|
Seguridad de capa de transporte de implementación de MongoDB (TLS) | Active este control deslizante para ON. | ||||
Ruta del archivo CA de TLS | El archivo de la Autoridad de Certificación TLS es un archivo de certificado en formato La clave privada cifrada para el Escriba la ruta del archivo hasta el archivo de la Autoridad Certificadora TLS en cada host que ejecute un proceso de MongoDB:
Esto habilita la opción 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 Si no especificas el
| ||||
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 al cliente los certificados TLS, asegúrate de que sean válidos. Los valores aceptados son:
|
Introduce la siguiente configuración.
Configuración | Necesidad | Valor |
|---|---|---|
Configuration Name | Requerido | Etiqueta única que identifica esta configuración. Esta etiqueta es visible para los usuarios de Cloud Manager y se utiliza al crear usuarios y roles para la autorización. Distingue entre mayúsculas y minúsculas y solo puede contener los siguientes caracteres:
Después de guardar la configuración, no puedes editar el nombre de la configuración. |
Issuer URI | Requerido | El valor del emisor lo proporciona su aplicación IdP registrada. Mediante esta URI, MongoDB encuentra un documento de configuración del proveedor OpenID, que debería estar disponible en el punto final |
Audience | Requerido | Entidad para la cual el proveedor de identidad externo destina el token. Ingresar el valor de |
Tipo de autorización | Requerido | Seleccione Es más común usar |
Customize User Claim | Requerido | El identificador del reclamo que incluye la identidad principal del usuario. Acepte el valor predeterminado a menos que su proveedor de identidad utilice una reclamación diferente. Por defecto: |
Customize Group Claim | Requerido | Requerido si selecciona Por defecto: |
Para configurar un proveedor de identidad de federación de identidad de carga de trabajo con GCP en Cloud Manager:
Navegue al cuadro de diálogo Security Settings para su implementación.
Selecciona la organización que contiene tu proyecto desde el menú Organizations en la barra de navegación.
Selecciona tu proyecto en el menú Projects de la barra de navegación.
Haz clic en Deployment en la barra lateral.
Haz clic en la pestaña Security.
Haz clic en la pestaña Settings.
Realiza una de las siguientes acciones:
Si es la primera vez que configura los ajustes de TLS, autenticación o autorización para este proyecto, haga clic en Get Started.
Si ya ha configurado la autenticación TLS o los ajustes de autorización para este proyecto, haga clic en Edit.
Opcional: Especifica los ajustes de TLS.
Campo | Acción | ||||
|---|---|---|---|---|---|
Seguridad de capa de transporte de implementación de MongoDB (TLS) | Active este control deslizante para ON. | ||||
Ruta del archivo CA de TLS | El archivo de la Autoridad de Certificación TLS es un archivo de certificado en formato La clave privada cifrada para el Escriba la ruta del archivo hasta el archivo de la Autoridad Certificadora TLS en cada host que ejecute un proceso de MongoDB:
Esto habilita la opción 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 Si no especificas el
| ||||
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 al cliente los certificados TLS, asegúrate de que sean válidos. Los valores aceptados son:
|
Introduce la siguiente configuración.
Configuración | Necesidad | Valor |
|---|---|---|
Configuration Name | Requerido | Etiqueta única que identifica esta configuración. Esta etiqueta es visible para los usuarios de Cloud Manager y se utiliza al crear usuarios y roles para la autorización. Distingue entre mayúsculas y minúsculas y solo puede contener los siguientes caracteres:
Después de guardar la configuración, no puedes editar el nombre de la configuración. |
Issuer URI | Requerido | Introducir el URI |
Audience | Requerido | Especificar cualquier valor personalizado. El parámetro Audience se usa al llamar a los controladores de MongoDB |
Tipo de autorización | Requerido | Seleccione Es más común usar |
Customize User Claim | Requerido | No modifique el valor por defecto, Por defecto: |
Configurar autorización OIDC
MongoDB no crea explícitamente usuarios de bases de datos para OIDC. Asocia a los usuarios de OIDC con 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:
Navega a la pestaña MongoDB Users para tu implementación.
Selecciona la organización que contiene tu proyecto desde el menú Organizations en la barra de navegación.
Selecciona tu proyecto en el menú Projects de la barra de navegación.
Haz clic en Deployment en la barra lateral.
Haz clic en la pestaña Security.
Haz clic en la pestaña MongoDB Users.
Agregue el usuario OIDC.
Nota
Antes de añadir usuarios, asegúrate de haber creado los roles que deseas asignar a los usuarios.
Completa los campos de la cuenta de usuario:
CampoDescripciónIdentifier
En el primer campo, introduce la base de datos
$external.En el segundo campo, introduzca un nombre de usuario utilizando el nombre de configuración de su IdP de OIDC y la declaración principal de usuario de su configuración, separados por una barra inclinada
/:{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
Haga clic en Add Entry.
Agregue una o más direcciones IP y/o bloques CIDR en las casillas Client Source o Server Address. 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.
Haga clic en Save.
Para añadir otra entrada, haz clic en Add Entry.
Haga clic en Add User.
Si seleccionaste el tipo de autorización Group Membership, completa los siguientes pasos para crear un rol personalizado que conceda autorización en función de la membresía del grupo de usuarios del IdP:
Navega a la pestaña MongoDB Roles para tu implementación.
Selecciona la organización que contiene tu proyecto desde el menú Organizations en la barra de navegación.
Selecciona tu proyecto en el menú Projects de la barra de navegación.
Haz clic en Deployment en la barra lateral.
Haz clic en la pestaña Security.
Haz clic en la pestaña MongoDB Roles.
Crea el rol OIDC.
Introduce los siguientes campos:
CampoNecesidadDescripciónIdentifier
Requerido
En el recuadro Database, introduzca
admin.En el cuadro Name, introduzca el nombre de configuración de su IdP de OIDC y el nombre del grupo de su proveedor de identidad externo, separados por una barra
/:{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 deseas restringir desde tu proveedor de identidad.
Privilege Actions by Resource
Opcional
Acciones permitidas sobre el recurso.
Para obtener más información, consulta Acciones de privilegio.
Haga clic en Add Role.
Conecta una aplicación a MongoDB con Federación de identidades de carga de trabajo
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:
Gestionar una configuración existente de Workload Identity Federation
Para administrar la configuración de tu Workload Identity Federation, puedes realizar las siguientes acciones.
Revoke JWKS
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:
En MongoDB Cloud Manager, ir a la página Security del proyecto.
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.
Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.
En la barra lateral, haz clic en Security en la sección Database.
Se muestra la página de Seguridad.
Edite una configuración
Para editar tu configuración de carga de trabajo Identity Federation:
En MongoDB Cloud Manager, ir a la página Security del proyecto.
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.
Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.
En la barra lateral, haz clic en Security en la sección Database.
Se muestra la página de Seguridad.
Borrar una configuración
Para borrar tu configuración de Workload Identity Federation:
En MongoDB Cloud Manager, ir a la página Security del proyecto.
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.
Si aún no aparece, selecciona el proyecto deseado en el menú Projects de la barra de navegación.
En la barra lateral, haz clic en Security en la sección Database.
Se muestra la página de Seguridad.