Carga de trabajo Identity Federation permite que tus aplicaciones accedan a implementaciones de MongoDB Ops Manager utilizando identidades programáticas externas como Azure Service Principals, Identidades gestionadas de Azure y Google Service Accounts.
Cómo funciona
La Federación de Identidades de Carga de Trabajo permite que sus aplicaciones accedan a las implementaciones de MongoDB con tokens de acceso OAuth 2.0. Estos tokens de acceso pueden ser emitidos por cualquier proveedor de identidad externo, como Azure Entra ID y Google Cloud Platform. Ops Manager almacena los identificadores y privilegios de usuario, pero no los secretos. Este mecanismo de autenticación para sus aplicaciones solo es compatible con ciertos controladores 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
Puede usar la autenticación integrada si implementa su aplicación en una infraestructura compatible con un tipo de principal compatible. Su aplicación puede acceder a las implementaciones de Ops Manager sin proporcionar una contraseña ni solicitarla manualmente. JWT del servicio de metadatos de su proveedor de nube. En su lugar, el controlador MongoDB elegido utiliza su identificador principal existente para solicitar un token de acceso JWT en segundo plano, que se envía automáticamente a la implementación de Ops Manager cuando su aplicación se conecta.
Para obtener más detalles de implementación, consulte la documentación del controlador 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
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 Ops Manager con Workload Identity Federation.
Revise la documentación del controlador elegido para obtener detalles de implementación adicionales.
Seguridad con Azure Managed Identities
La federación de identidades de carga de trabajo con identidades administradas de Azure ofrece la forma más segura de autenticarse en las implementaciones de MongoDB Ops Manager que se ejecutan en Azure. Este enfoque ofrece las siguientes ventajas de seguridad:
Aprovecha las identidades administradas: esto permite que sus aplicaciones que se ejecutan en servicios de Azure (como máquinas virtuales de Azure, AKS, Azure Functions) se autentiquen en MongoDB Ops Manager mediante sus identidades administradas de Azure asignadas sin necesidad de administrar credenciales de MongoDB por separado.
Autenticación segura sin contraseña: Sus aplicaciones obtienen tokens de acceso OAuth 2.0 de corta duración del servidor de metadatos de Azure, que MongoDB Ops Manager verifica. Esto elimina la necesidad de almacenar y administrar nombres de usuario y contraseñas confidenciales de bases de datos en el código o las configuraciones de su aplicación.
Gestión de identidades centralizada: gestionas las identidades de tus cargas de trabajo de Azure dentro del marco de Azure Entra ID, lo que proporciona una fuente única de información fiable para la gestión de identidades.
Auditoría mejorada: Azure proporciona registros de auditoría de la actividad de las cuentas de servicio, lo que mejora la trazabilidad y las capacidades de supervisión de la seguridad.
Acceso requerido
Para configurar Workload Identity Federation, debe tener
Project Owner acceso a Ops 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 su implementación mediante OIDC. Debe habilitar un mecanismo de autenticación adicional para el Agente de MongoDB. Si Ops Manager no administra la monitorización ni la copia de seguridad, debe configurarlas manualmente para que usen el mecanismo de autenticación alternativo.
Procedimientos
Para configurar Workload Identity Federation, complete los siguientes pasos:
Configurar un proveedor de identidad de carga de trabajo (configuración única).
Otorgar acceso a identidades externas (usuarios principales) o grupos.
Configurar una aplicación de Proveedor de Identidad Externo
Nota
Si desea restablecer la configuración de autenticación y TLS para su proyecto, primero deje de administrar cualquier implementación de MongoDB que Ops Manager administre en su proyecto.
Para acceder a las implementaciones de Ops Manager con Azure Managed Identities o Azure Service Principals, debe registrar una aplicación de Azure Entra ID. Si ya tiene una aplicación registrada para el acceso a Workforce (usuario humano), le recomendamos registrar una aplicación independiente para el acceso a Workload.
Registre una aplicación.
Navegar a App registrations.
En su portal de Azurecuenta, busque y Microsoft Entra ID haga clic 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
Ops Manager Database - Workload
Supported Account Types
Accounts in this organizational directory only (single tenant)
Redirect URI
Web
(Opcional) Agregar reclamaciones de grupos.
Se recomienda usar identificadores de entidad de servicio como identificadores de usuario de MongoDB al definir los derechos de acceso en Ops Manager. Si planea usar este método común, omita este paso. Sin embargo, si prefiere usar identificadores de grupo, como el identificador de grupo de seguridad de Microsoft Entra ID, puede configurar la notificación de grupos en el registro de su aplicación siguiendo los pasos a continuación.
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.
Conserve el URI de ID de aplicación predeterminado asignado por Azure, que es
<application_client_id>. Copie y guarde este valor, ya que Ops Manager y todos los controladores de MongoDB lo requieren para la configuración de la federación de identidades de carga 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 OpenID Connect metadata document URL y copiando el valor
issuerde.
La siguiente tabla muestra a qué propiedades de configuración de Ops Manager se mapean estos valores de Interfaz de Usuario de Microsoft Entra ID.
Microsoft Entra ID UI | Propiedad de configuración de Ops Manager |
|---|---|
OpenID Connect metadata document (without /.well-known/openid-configuration) | Issuer URI. |
Application ID URI (<Application ID>) | Audience |
No necesita realizar ningún cambio de configuración en su cuenta de GCP.
Configura la autenticación de Workload Identity Federation
Nota
Workload Identity Federation solo admite JWT para la autenticación. No admite tokens de acceso opacos.
Para configurar un proveedor de identidad de federación de identidad de carga de trabajo con Azure Entra ID en Ops Manager:
Navegue hasta el Security Settings cuadro de diálogo para su implementación.
Seleccione la organización que contiene su proyecto desde el Organizations menú en la barra de navegación.
Seleccione su proyecto en el menú Projects de la barra de navegación.
Haga clic en Deployment en la barra lateral.
Haz clic en la pestaña Security.
Haz clic en la pestaña Settings.
Realice una de las siguientes acciones:
Si es la primera vez que configura TLS, autenticación o autorización para este proyecto, haga clic Get Started en.
Si ya ha configurado la autenticación TLS o las configuraciones de autorización para este proyecto, haga clic Edit en.
Opcional: especifique la configuración de TLS.
Campo | Acción | ||||
|---|---|---|---|---|---|
Seguridad de capa de transporte de implementación de MongoDB (TLS) | Cambie este control deslizante a ON. | ||||
Ruta de archivo CA TLS | El archivo de la autoridad de certificación TLS es un archivo de certificado con formato que contiene la cadena de certificados raíz de la autoridad de certificación. El agente de MongoDB utiliza este mismo archivo de autoridad de certificación para conectarse a todos los elementos de su implementación. La clave privada Escriba la ruta del archivo de la autoridad de certificación TLS en cada host que ejecute un proceso MongoDB:
Esto habilita la configuración para los procesos MongoDB en el 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 especifica, el clúster utiliza
| ||||
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 con TLS habilitado. Cada implementación de MongoDB comprueba si estos hosts cliente tienen certificados al intentar conectarse. Si decide requerir los certificados TLS del cliente, asegúrese de que sean válidos. Los valores aceptados son:
|
Cree una nueva configuración de IdP de OIDC.
En la sección OIDC Connection and Authorization (Required for OIDC), haga clic en + OIDC IdP Configuration.
En el cuadro de diálogo OIDC Protocol Settings, seleccione Workload Identity Federation.
Introduzca 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 Ops 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 podrá 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 |
Audience | Requerido | Entidad para la cual el proveedor de identidad externo destina el token. Ingresar el valor de |
Tipo de autorización | Requerido | Seleccionar Es más común utilizar |
Customize User Claim | Requerido | El identificador de la reclamación que incluye la identidad principal del usuario. Acepte el valor predeterminado a menos que su IdP utilice una reclamación diferente. Por defecto: |
Customize Group Claim | Requerido | Se requiere si selecciona Por defecto: |
Para configurar un proveedor de identidad de federación de identidad de carga de trabajo con GCP en Ops Manager:
Navegue hasta el Security Settings cuadro de diálogo para su implementación.
Seleccione la organización que contiene su proyecto desde el Organizations menú en la barra de navegación.
Seleccione su proyecto en el menú Projects de la barra de navegación.
Haga clic en Deployment en la barra lateral.
Haz clic en la pestaña Security.
Haz clic en la pestaña Settings.
Realice una de las siguientes acciones:
Si es la primera vez que configura TLS, autenticación o autorización para este proyecto, haga clic Get Started en.
Si ya ha configurado la autenticación TLS o las configuraciones de autorización para este proyecto, haga clic Edit en.
Opcional: especifique la configuración de TLS.
Campo | Acción | ||||
|---|---|---|---|---|---|
Seguridad de capa de transporte de implementación de MongoDB (TLS) | Cambie este control deslizante a ON. | ||||
Ruta de archivo CA TLS | El archivo de la autoridad de certificación TLS es un archivo de certificado con formato que contiene la cadena de certificados raíz de la autoridad de certificación. El agente de MongoDB utiliza este mismo archivo de autoridad de certificación para conectarse a todos los elementos de su implementación. La clave privada Escriba la ruta del archivo de la autoridad de certificación TLS en cada host que ejecute un proceso MongoDB:
Esto habilita la configuración para los procesos MongoDB en el 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 especifica, el clúster utiliza
| ||||
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 con TLS habilitado. Cada implementación de MongoDB comprueba si estos hosts cliente tienen certificados al intentar conectarse. Si decide requerir los certificados TLS del cliente, asegúrese de que sean válidos. Los valores aceptados son:
|
Cree una nueva configuración de IdP de OIDC.
En la sección OIDC Connection and Authorization (Required for OIDC), haga clic en + OIDC IdP Configuration.
En el cuadro de diálogo OIDC Protocol Settings, seleccione Workload Identity Federation.
Introduzca 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 Ops 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 podrá 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 | Seleccionar Es más común utilizar |
Customize User Claim | Requerido | No modifique el valor por defecto, Por defecto: |
Configurar la autorización de OIDC
MongoDB no crea usuarios de base de datos explícitamente para OIDC. Asigna usuarios de OIDC a roles de MongoDB según la configuración.
Seleccione una pestaña según el tipo de autorización que seleccionó al configurar la autenticación OIDC.
Si seleccionó el tipo de autorización User ID, cree un nuevo usuario para otorgar una autorización de usuario individual:
Navegue a la MongoDB Users pestaña para su implementación.
Seleccione la organización que contiene su proyecto desde el Organizations menú en la barra de navegación.
Seleccione su proyecto en el menú Projects de la barra de navegación.
Haga 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 agregar usuarios, asegúrese de haber creado todos los roles que desea asignarles.
Completa los campos de la cuenta de usuario:
CampoDescripciónIdentifier
En el primer campo, ingrese 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 el reclamo principal del usuario de su configuración, separados por una
/barra:{configuration_name}/{user_principal_claim}
Roles
Authentication Restrictions
Haga clic en Add Entry.
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 qué direcciones puede autenticar este usuario y utilizar los roles dados.
Server Address restringe las direcciones que este usuario puede autenticar y tiene los roles determinados.
Haga clic en Save.
Para agregar otra entrada, haga clic en Add Entry.
Haga clic en Add User.
Si seleccionó el Group Membership tipo de autorización, complete los siguientes pasos para crear un rol personalizado que otorgue autorización según la membresía del grupo de usuarios de IdP:
Navegue a la MongoDB Roles pestaña para su implementación.
Seleccione la organización que contiene su proyecto desde el Organizations menú en la barra de navegación.
Seleccione su proyecto en el menú Projects de la barra de navegación.
Haga clic en Deployment en la barra lateral.
Haz clic en la pestaña Security.
Haz clic en la pestaña MongoDB Roles.
Crear el rol OIDC.
Introduzca los siguientes campos:
CampoNecesidadDescripciónIdentifier
Requerido
En el cuadro Database, introduzca
admin.En el Name cuadro, 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
Lista de pares de nombres de rol y bases de datos. El formato de 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.
Haga clic en Add Role.
Conecta una aplicación a MongoDB con Federación de identidades de carga de trabajo
Utilice los siguientes controladores MongoDB para conectar una aplicación a MongoDB con autenticación de federación de identidad de carga de trabajo:
Gestionar una configuración existente de Workload Identity Federation
Para administrar la configuración de Workload Identity Federation, puede 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:
Navegue hasta el Security Settings cuadro de diálogo para su implementación.
Si aún no se muestra, se debe seleccionar la organización que contiene el proyecto deseado en el menú Organizations de la barra de navegación.
Si aún no se muestra, se debe seleccionar el proyecto deseado en el menú Projects de la barra de navegación.
Si aún no se muestra, haga clic en Deployment en la barra lateral.
Haz clic en la pestaña Security.
Haz clic en la pestaña Settings.
Editar una configuración
Para editar la configuración de su Federación de identidad de carga de trabajo:
Navegue hasta el Security Settings cuadro de diálogo para su implementación.
Seleccione la organización que contiene su proyecto desde el Organizations menú en la barra de navegación.
Seleccione su proyecto en el menú Projects de la barra de navegación.
Haga clic en Deployment en la barra lateral.
Haz clic en la pestaña Security.
Haz clic en la pestaña Settings.
Eliminar una configuración
Para borrar tu configuración de Workload Identity Federation:
Navegue hasta el Security Settings cuadro de diálogo para su implementación.
Seleccione la organización que contiene su proyecto desde el Organizations menú en la barra de navegación.
Seleccione su proyecto en el menú Projects de la barra de navegación.
Haga clic en Deployment en la barra lateral.
Haz clic en la pestaña Security.
Haz clic en la pestaña Settings.