Carga de trabajo Identity Federation utiliza OAuth 2.0 para permitir que tus aplicaciones accedan a MongoDB utilizando identidades programáticas externas como Azure Service Principals, Azure Identities gestionadas y Google Service Accounts.
Importante
OpenID Connect (OIDC) solo es compatible con Linux.
Casos de uso
Con carga de trabajo Identity Federation, puedes:
Administra el acceso de tu aplicación a las implementaciones de MongoDB a través de tu proveedor de nube existente o proveedor de identidad.
Aplicar políticas de seguridad como control de acceso basado en roles, rotación de credenciales y permisos específicos de carga de trabajo.
Concede acceso a aplicaciones específicas, contenedores o máquinas virtuales sin tener que gestionar cuentas de servicio individuales.
Comportamiento
Para utilizar la federación de identidad de carga de trabajo, debes utilizar MongoDB Enterprise y tener MongoDB 7.0.11 o una versión posterior.
Para verificar que está utilizando MongoDB Enterprise, pasa el
--versionopción de línea de comandos para elmongodomongos:mongod --version En la salida de este comando, busca la string
modules: subscriptionomodules: enterprisepara confirmar que estás usando los binarios de MongoDB Enterprise.La Federación de Identidad de la carga de trabajo permite que tus aplicaciones accedan a los clústeres de MongoDB con tokens de acceso OAuth 2.0. Los tokens de acceso pueden ser emitidos por cualquier proveedor de identidad externo, incluyendo Azure Entra ID y Google Cloud Platform.
MongoDB almacena identificadores y privilegios de usuarios, pero no secretos.
Empezar
Para configurar y utilizar la federación de identidad de carga de trabajo, realice las siguientes tareas:
Configurar Federación de Identidad de carga de trabajo
Registra tu aplicación OAuth 2.0 con un proveedor de identidad que sea compatible con el estándar OAuth 2.0, como Azure Service Principals, identidades gestionadas de Azure y las cuentas de servicio de Google.
Configura MongoDB con Federación de Identidad de Cargas de Trabajo
Configura tu servidor MongoDB para que use la Federación de identidad de carga de trabajo con OAuth 2.0.
Autoriza a los usuarios con federación de identidades de cargas de trabajo
Especifique privilegios para los principales de identidad de carga de trabajo añadiendo roles a MongoDB (para OAuth, autorización externa o ambos) , o añadiendo usuarios de base de datos a MongoDB (para la autorización gestionada por la base de datos).
Detalles
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
Se puede usar la autenticación integrada si se implementa la aplicación en una infraestructura compatible con un tipo de principal que sea compatible. Tu aplicación puede acceder a los clústeres de MongoDB sin proporcionar una contraseña ni solicitar manualmente un token web JSON (JWT) desde el servicio de metadatos del proveedor de nube. En su lugar, el controlador de MongoDB elegido utiliza su identificador principal existente para solicitar un token de acceso JWT de manera interna, el cual luego se pasa al clúster de Atlas automáticamente cuando su aplicación se conecta.
Para más detalles de implementación, consulta el Documentación del conductor.
Infraestructura y tipos principales compatibles con la autenticación incorporada
Proveedor de nube | Tipo de infraestructura | Tipo principal |
|---|---|---|
Proveedor de nube de Google (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 | ||
Google 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. La Federación de Identidad de Carga de Trabajo llama a un método de función de retorno, en el que puedes solicitar el JWT requerido desde tu servidor de autorización o proveedor de nube que debes pasar cuando tu aplicación se conecta a MongoDB con Federación de Identidad de Carga de Trabajo.
Consulta la documentación del controlador que elegiste para obtener más detalles de la implementación.