Con Workload Identity Federation, sus aplicaciones pueden acceder a las implementaciones de MongoDB Cloud Manager mediante identidades programáticas externas, como Azure Service Principals, Azure Managed Identities y Google Service Accounts.
Cómo funciona
La federación de identidades de carga de trabajo permite que sus aplicaciones accedan a implementaciones de MongoDB mediante tokens de acceso OAuth 2.0. Estos tokens pueden ser emitidos por cualquier proveedor de identidad externo, incluidos Azure Entra ID y Google Cloud Platform (GCP). Cloud Manager almacena los identificadores y privilegios de usuario, pero no los secretos. Un conjunto limitado de controladores de MongoDB ofrece este mecanismo de autenticación para sus aplicaciones.
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 usar la autenticación integrada si implementas tu aplicación en una infraestructura compatible con un tipo de entidad principal compatible. Tu aplicación puede acceder a las implementaciones de Cloud Manager sin necesidad de proporcionar una contraseña ni solicitar manualmente un JWT al servicio de metadatos de tu proveedor de nube. En su lugar, tu controlador utiliza el identificador de entidad principal existente para solicitar un token de acceso JSON Web Token (JWT). El controlador pasa el token a la implementación de Cloud Manager cuando tu aplicación se conecta.
Para obtener más detalles sobre la implementación, consulte la documentación de su controlador.
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 de devolución de llamada con cualquier servicio que admita tokens de acceso OAuth 2.0. Workload Identity Federation llama a un método de devolución de llamada donde solicitas el JWT necesario a tu servidor de autorización o proveedor de la nube. Luego, pasas el token a Cloud Manager con Workload Identity Federation cuando tu aplicación se conecta.
Para obtener más detalles sobre la implementación, consulte la documentación de su controlador.
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 cumplir con los siguientes requisitos previos:
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 otro mecanismo de autenticación para el agente de MongoDB. Si Cloud Manager no gestiona la monitorización ni las copias de seguridad, debe configurarlas manualmente para que utilicen el mecanismo de autenticación alternativo.
Procedimientos
Para configurar la federación de identidades de carga de trabajo, siga estos 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.
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.
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.
Complete el procedimiento correspondiente al tipo de autorización que seleccionó al configurar la autenticación OIDC.
ID de usuario
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, ingrese 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 (
/):{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.
Membresía de grupo
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, ingrese 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 Workload Identity Federation.
Utilice estos controladores de MongoDB para conectar una aplicación a MongoDB con autenticación de federación de identidades de carga de trabajo:
Gestionar una configuración existente de Workload Identity Federation
Para administrar la configuración de Workload Identity Federation, puede realizar estas acciones.
Revoke JSON Web Key Sets (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 su clave privada se ve comprometida, puede revocar inmediatamente los conjuntos de claves web JSON 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.