En MongoDB 7.0 y versiones posteriores, Workforce Identity Federation le permite utilizar un proveedor de identidad (IdP) externo, como su proveedor corporativo. IdP, para autenticar y autorizar a una fuerza laboral determinada, como empleados, socios y contratistas.
Con Workforce Identity Federation, se puede:
Gestionar el acceso de la fuerza laboral a las implementaciones de MongoDB a través del proveedor de identidad que se tenga actualmente.
Aplique políticas de seguridad como complejidad de contraseña, rotación de credenciales y autenticación multifactor dentro de su IdP.
Solo puede crear una federación de identidad de Workforce por proyecto, pero puede editar o recrear la configuración en cualquier momento.
Acceso requerido
Para configurar Workforce Identity Federation, debe tener
Project Owner acceso a Cloud Manager.
Requisitos previos
Debes tener lo siguiente:
mongosh1.9.1 o posterior.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.
Procedimientos
Para acceder a las implementaciones de Cloud Manager con Workforce Identity Federation, complete los siguientes pasos:
Configurar un proveedor de identidad de Workforce (configuración única).
Otorgar acceso a identidades externas (usuarios principales) o grupos.
Configurar una aplicación de Proveedor de Identidad Externo
Nota
Para restablecer la configuración de autenticación y TLS para su proyecto, primero deje de administrar cualquier implementación de MongoDB que Cloud Manager administre en su proyecto.
Para configurar Workforce Identity Federation con OIDC, registre su aplicación OIDC con un IdP que admita el estándar OIDC, como Microsoft Entra ID, Okta o Ping Identity.
Se puede configurar su aplicación OIDC para los siguientes tipos de concesiones:
Flujo de código de autorización con PKCE
Flujo de autorización de dispositivos
MongoDB recomienda que se utilice el Flujo de códigos de autorización con PKCE para mayor seguridad. Se debe utilizar el Flujo de autorización de dispositivos solo si los usuarios necesitan acceder a la base de datos desde máquinas sin navegador.
Los pasos de registro de la aplicación OIDC pueden variar según el proveedor de identidad. Se debe garantizar que se completan los siguientes elementos durante el proceso de registro:
Los pasos de registro genérico para su solicitud OIDC son los siguientes:
(Condicional) Agregue o habilite un groups reclamo si se autentica con grupos.
Para los grupos, este paso garantiza que los tokens de acceso contengan la información de membresía del grupo del usuario que se autentica. MongoDB utiliza los valores enviados en una reclamación de grupos para la autorización.
(Opcional) Se puede permitir que se actualicen los tokens si se desea que los clientes de MongoDB actualicen los tokens para una mejor experiencia de usuario.
(Opcional) Configurar la vida útil del token de acceso (reclamaciónexp ) para que se alinee con el tiempo de sesión de la conexión a la base de datos.
Después de registrar su aplicación, guarde los valores issuer, clientId y audience para usarlos en la siguiente etapa de la configuración.
Para registrar la aplicación OIDC con Microsoft Entra ID:
Registre una aplicación.
Ir 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
Cloud Manager Database - Workforce
Supported Account Types
Accounts in this organizational directory only (single tenant)
Redirect URI
- Public client/native (mobile & desktop)-http://localhost:27097/redirectHaga clic en Register.
Para aprender más sobre cómo registrar una aplicación, se puede consultar Azure Documentation.
Agregar una reclamación de grupo.
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, seleccionar solo Group ID.
Haga clic en Add.
Para aprender más sobre cómo agregar una reclamación de grupo, se puede consultar Documentación de Azure.
Agregar una reclamación de identificador de usuario al token de acceso.
Haga clic en Add optional claim.
En el cuadro modal Add optional claim, seleccionar Access.
Seleccionar una reclamación que lleve un identificador de usuario al que se pueda referir en los registros de acceso de MongoDB, como un correo electrónico.
Se puede usar la reclamación UPN para identificar a los usuarios con su dirección de correo electrónico.
Haga clic en Add.
En la nota Microsoft Graph Permissions, marque la casilla y haga clic en Add.
Para aprender más, se puede consultar la documentación de Azure.
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.
Copiar el valor de Application (client) ID.
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 se puede obtener este valor copiando el valor de
issueren la URL OpenID Connect metadata document.
La siguiente tabla muestra a qué se asignan estos valores de UI de ID de Microsoft Entra en nuestras Propiedades de configuración de MongoDB Atlas:
Microsoft Entra ID UI | Propiedad de configuración de MongoDB Atlas |
|---|---|
Application (client) ID | Client ID Audience |
OpenID Connect metadata document (without /.well-known/openid-configuration) | Issuer URI. |
Configurar la autenticación de la Workforce Identity Federation
Para configurar Workforce Identity Federation con OIDC, complete el siguiente procedimiento.
Nota
Workforce Identity Federation solo brinda soporte a JWT para la autenticación. No brinda soporte para tokens de acceso opacos.
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 Workforce 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 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 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 |
Client ID | Requerido | Identificador único para la aplicación registrada. Ingresar el valor de |
Audience | Requerido | Entidad para la cual el proveedor de identidad externo destina el token. Ingresar el valor de |
Requested Scopes | Opcional | Tokens que otorgan a los usuarios permiso para solicitar datos del punto final de autorización. Para cada ámbito adicional que se desee agregar, hacer clic en Add more scopes. |
Tipo de autorización | Requerido | Seleccionar |
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: |
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 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.
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.
Conéctese a MongoDB con Workforce Identity Federation
Utilice mongosh o Compass para conectar una aplicación a MongoDB con autenticación de Workforce Identity Federation.
Gestionar una configuración existente de la Workforce Identity Federation
Para administrar la configuración de Workforce 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:
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.
Editar una configuración
Para editar la configuración de Workforce 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.
Eliminar una configuración
Para eliminar su configuración de Workforce 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.