Esta guía le muestra cómo configurar la federación de identidades de la fuerza laboral utilizando Okta como su proveedor de identidad (IdP).
Tras integrar Okta y Atlas, sus empleados podrán usar sus credenciales de Okta para acceder a los clústeres de Atlas con autenticación OIDC.
Acceso requerido
Para gestionar la autenticación federada, debe tener Organization Owner acceso a una o más organizaciones que delegan la configuración de federación en la instancia.
Requisitos previos
Para utilizar Okta como proveedor de identidad para Atlas, debe tener:
Una cuenta de Okta.
Un nombre de dominio personalizado y enrutable.
Procedimientos
Durante el siguiente procedimiento, es útil tener una pestaña del navegador abierta en tu Consola de gestión de federaciones de Atlas y otra pestaña abierta en tu cuenta de Okta.
Configurar Okta como proveedor de identidad
Utilice su cuenta de Okta para configurar Okta como un proveedor de identidad OIDC.
Para registrar su aplicación OIDC con Okta:
Crear una aplicación en Okta.
En tu tablero de Okta Admin, utiliza el panel de navegación izquierdo para ir a Applications → Applications.
En la pantalla Applications, haz clic en Create App Integration.
En la sección Sign-in method, seleccione OIDC - OpenID Connect.
En la sección Application type, seleccione Native Application.
Haga clic en Next.
Para obtener más información, consulte Crear integraciones de aplicaciones OIDC.
Configura tu New Native App Integration.
Después de crear una integración de aplicación, se te redirige automáticamente a la pantalla New Native App Integration.
En el campo App integration name, ingresa un nombre para la aplicación.
En el campo Grant type, selecciona los tipos de subvención.
Habilitar los siguientes tipos de concesión:
Authorization Code or Device Authorization
(Opcional) Refresh Token
Habilitar tokens de actualización proporciona una mejor experiencia de usuario. Cuando los tokens de actualización no están habilitados, los usuarios deben reautenticarse con el proveedor de identidad una vez que su token de acceso expire.
En la sección Sign-in redirect URIs, introduce una URL.
Introduce la siguiente URL:
http://localhost:27097/redirect.En la sección Assignments, configure los campos Controlled access y Enable immediate access.
Para el campo Controlled access, seleccione Allow everyone in your organization to access.
Para el campo Enable immediate access, asegúrate que Enable immediate access with Federation Broker Mode esté marcado.
Haga clic en Save.
Para obtener más información, consulte Crear integraciones de aplicaciones OIDC.
Configura PKCE y obtén el ID de cliente.
En el panel de su aplicación, vaya a la pestaña General y configure lo siguiente:
En el campo Client ID, haga clic en el icono para copiar el ID de cliente para su uso posterior.
En el campo Proof Key for Code Exchange (PKCE), asegúrese de que Require PKCE as additional verification esté habilitado (marcado por defecto).
Agrega un servidor de autorización.
En el panel de navegación izquierdo, ve a Security → API. Haz clic en Add Authorization Server.
En el campo Name ingrese un nombre para su servidor.
En el campo Audience, pega el ID del cliente del paso anterior.
(Opcional) En el campo Description, introduzca una descripción de su servidor.
Haga clic en Save.
Para más información, consulte Cree un servidor de autorización.
Encuentra y guarda el URI del emisor.
Después de crear tu servidor de autorización, eres redirigido automáticamente a la pantalla de tu servidor de autorización.
En la pestaña Settings, guarda el URI del emisor copiando la primera parte del Metadata URI hasta la sección .well-known. La estructura de URI debe ser similar a: https://trial4238026.okta.com/oauth2/ausabgmhveoOQSMsE697.
Agregar Groups reclamo.
En la pantalla de tu servidor de autorización, ve a la pestaña Claims y haz clic en Add Claim.
Configura el reclamo de Groups con la siguiente información de configuración:
CampoValorName
Escribe un nombre para tu propuesta.
Include in token type
Haz clic en el menú desplegable y selecciona Access Token.
Value type
Haz clic en el menú desplegable y selecciona Groups.
Filter
Haga clic en el menú desplegable y seleccione Matches regex. Junto al menú desplegable, introduzca una expresión regular que coincida únicamente con los grupos utilizados para la autorización de Atlas. Por ejemplo, si sus grupos de autorización de Atlas utilizan un prefijo de nomenclatura común, introduzca
^<mongodb-atlas-group-prefix>.*donde<mongodb-atlas-group-prefix>es el prefijo elegido.Disable claim
No marcar.
Include in
Seleccione Any scope.
Haga clic en Create.
Importante
Evite usar .* como valor de filtro. La expresión .* coincide con cada grupo asignado al usuario, incluidos los grupos no relacionados con la autorización de Atlas. Un filtro amplio aumenta el tamaño del token de acceso y puede provocar errores de autenticación cuando el token supera el límite de preAuthMaximumMessageSizeBytes (16 KiB por defecto).
Para reducir el tamaño del token, cree una convención de nomenclatura dedicada para los grupos de autorización de Atlas y filtre según esa convención.
Si su implementación requiere intencionalmente un gran número de solicitudes de grupo, puede aumentar el parámetro preAuthMaximumMessageSizeBytes en su clúster. Sin embargo, aumentar este límite tiene implicaciones en cuanto a recursos y seguridad, y no debe utilizarse como solución alternativa para una solicitud innecesariamente amplia.
Para obtener más información, consulta Crear reclamos.
Crea una política de acceso.
En la pantalla de tu servidor de autorización, ve a la pestaña Access Policies y haz clic en Add Policy.
En el campo Name, introduce un nombre de política.
En el campo Description, introduce una descripción de la política.
En el campo Assign to, seleccione All clients.
Haga clic en Create Policy.
Para obtener más información, consulta Crear una Política de Acceso.
Crea una regla para la política de acceso.
En la pestaña Access Policies, haz clic en Add Rule.
En el campo Rule Name, ingresa un nombre para la política de acceso.
Para IF Grant Type is, seleccione un tipo de concesión.
Al configurar tipos de permisos, seleccione la opción adecuada basada en el comportamiento del cliente:
Si el cliente actúa en nombre propio, seleccione Client Credentials.
Si el cliente actúa en nombre de un usuario, selecciona lo siguiente:
Authorization Code
Device Authorization
Agrega configuraciones de reglas basadas en la política de seguridad de tu organización.
Ejemplo de configuración de regla de Okta:
CampoValorAND user is
Seleccione Any user assigned to the app.
AND Scopes requested
Seleccione Any scopes.
THEN Use this inline hook
Ninguna (deshabilitada)
AND Access token lifetime is
1 Hours
AND Refresh token lifetime is
Haz clic en el segundo desplegable y selecciona Unlimited.
but will expire if not used every
Introduce 7 days.
Haga clic en Create Rule.
Para aprender más, consulta Crea reglas para cada política de acceso.
Cree un grupo.
En el panel de navegación izquierdo, ve a Directory → Groups y haz clic en Add Group.
En el campo Name, nombrar tu directorio
OIDC.(Opcional) En el campo Description, ingresa una descripción para tu regla.
Haga clic en Save.
Para obtener más información, consulte Crear un grupo.
Sigue la documentación de Okta para asignar manualmente personas al grupo.
Agregue un usuario a su organización.
En el panel de navegación izquierdo, ve a Directory → People y haz clic en Add Person.
Proporcione los datos del usuario ingresando los siguientes valores en los campos correspondientes:
CampoValorUser type
Seleccione User.
First name
Proporcione el nombre según sea necesario.
Last name
Proporcione el nombre según sea necesario.
Username
Introduzca un correo electrónico como nombre de usuario.
Primary email
Ingrese un correo electrónico. El correo electrónico debe ser el mismo que se utilizó para el campo Username.
Secondary email
Opcional.
Groups
Introduce OIDC.
Activation
Selecciona Activate Now y verifica I will set password.
Password
Ingresa una contraseña.
User must change password on first login
Seleccionar Optional
Haga clic en Save.
Para obtener más información, consulta Añadir usuarios manualmente.
Configurar la federación de identidades de la fuerza laboral en Atlas
Nota
Requisito previo
Este procedimiento requiere acceso a Organization Owner y presupone que ya tiene una aplicación OIDC creada en su IdP. Para obtener información sobre cómo configurar un IdP, consulte Configurar Okta como proveedor de identidad.
Para configurar un proveedor de identidades de Workforce en Atlas:
En Atlas, ir a la consola Federation Management de la organización.
Si aún no se muestra, selecciona la organización deseada en el menú Organizations de la barra de navegación.
En la barra lateral, haz clic en Federation en la sección Identity & Access.
Haga clic en Open Federation Management App.
La página de Federación se muestra.
Configurar proveedores de identidad.
Hacer clic en Identity Providers en la barra lateral izquierda.
Realice uno de los siguientes pasos:
Si aún no tiene ningún proveedor de identidad configurado, haga clic en Set Up Identity Provider.
De lo contrario, en la pantalla Identity Providers, hacer clic en Configure Identity Provider(s).
Seleccione Workforce Identity Federation y haga clic en Continue.
Seleccione OIDC for Data Access.
Introducir la siguiente configuración del protocolo del proveedor de identidad de Workforce.
Configuración | Necesidad | Valor |
|---|---|---|
Configuration Name | Requerido | Etiqueta legible por humanos que identifica esta configuración. Esta etiqueta es visible para los usuarios de Atlas designados. |
Configuration Description | Opcional | Etiqueta legible por humanos que describe esta 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 |
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 realizar una solicitud de datos desde el punto de autorización. Si se planea brindar soporte a tokens de actualización, este campo debe incluir el valor Para cada ámbito adicional que se desee agregar, hacer clic en Add more scopes. |
Authorization Type | Requerido | Seleccione Group Membership para otorgar autorización en función de la pertenencia al grupo de usuarios del IdP, o seleccione User ID para otorgar autorización a un usuario individual. |
Customize Groups Claim | Requerido | Identificador de la reclamación que incluye la información de pertenencia al grupo de usuarios del proveedor de identidad (IdP) del principal. Acepte el valor predeterminado a menos que su IdP utilice una reclamación diferente o necesite una reclamación personalizada. Este campo solo es obligatorio si selecciona Group Membership. Por defecto: |
Customize User Claim | Requerido | Identificador de la reclamación que incluye la identidad principal del usuario. Aceptar el valor por defecto a menos que el proveedor de identidad utilice una reclamación diferente. Por defecto: |
(Opcional) Asociar un dominio al proveedor de identidad de Workforce.
Nota
Este paso solo es obligatorio si se necesita conectar varios proveedores de identidad de Workforce a la misma organización con diferentes dominios. Atlas admite un máximo de dos proveedores de identidad de Workforce conectados a una organización: un proveedor de identidad de OIDC (para el acceso a la base de datos) y un proveedor de identidad de SAML (para el acceso a la interfaz de usuario).
En su tarjeta de proveedor de identidad de Workforce, hacer clic en Associate Domains.
En el cuadro modal Associate Domains with Identity Provider, seleccione uno o más dominios.
Haga clic en Submit.
Habilitar al proveedor de identidad de Workforce en una organización.
Haga clic en Connect Organizations.
Para la organización a la que desea conectarse con el Proveedor de Identidad de Workforce, haga clic en Configure Access.
Haga clic en Connect Identity Provider.
Nota
Si tiene configurado otro IdP, este botón mostrará Connect Identity Provider(s).
Agregar un usuario de base de datos utilizando la autenticación de Workforce
En Atlas, ve a la página Database & Network Access de tu proyecto.
Si aún no aparece, se debe seleccionar la organización que contiene el proyecto en el menú Organizations de la barra de navegación.
Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.
En la barra lateral, haz clic en Database & Network Access en la sección Security.
La página de acceso a la base de datos y a la red se mostrará después de completar los pasos anteriores.
Abrir el cuadro de diálogo Add New Database User or Group.
Haga clic en Add New Database User or Group.
Nota
Hasta que se aplique el proveedor de identidad de Workforce a Atlas, este botón dice Add New Database User.
Seleccione Federated Auth.
En la sección Authentication Method, seleccione Federated Auth.
Nota
Hasta que habilites Workforce proveedor de identidad para tu organización, no podrás seleccionar esta casilla.
Selecciona el proveedor de identidad y el identificador
En la sección Select Identity Provider, seleccionar un proveedor de identidad OIDC configurado.
Especifica el identificador de usuario o el identificador de grupo asociado con tu proveedor de identidad de Workforce configurado.
Nota
Para los usuarios de Azure Entra ID, este valor se asigna al ID de objeto de su grupo de usuarios de Azure en lugar del nombre del grupo de usuarios.
Asigna privilegios de usuario o de grupo.
Para asignar privilegios al nuevo usuario o grupo, realice una o más de las siguientes tareas:
Selecciona un rol incorporado del menú desplegable Built-in Role.
Puede seleccionar un rol con funcionalidad incorporada por grupo de base de datos en la interfaz de usuario de Atlas.
Si borra la opción por defecto, puede hacer clic en Add Built-in Role para seleccionar un nuevo rol con funcionalidad incorporada.
Selecciona o agrega roles personalizados.
Si tiene roles personalizados definidos, puede expandir la sección Custom Roles y seleccionar uno o más roles del menú desplegable Custom Roles.
Haga clic Add Custom Role para añadir más roles personalizados.
Se debe hacer clic en el enlace Custom Roles para ver los roles personalizados del proyecto.
Add privilegio.
Expanda la sección Specific Privileges y seleccione uno o más privilegios del menú desplegable de Specific Privileges.
Haga clic en Add Specific Privilege para agregar más privilegios. Esto asigna al grupo privilegios específicos en bases de datos y colecciones individuales.
Remueve un rol o privilegio aplicado.
- Haz clic en Delete junto al
- rol o privilegio que deseas borrar.
Nota
Atlas no muestra el icono de Delete junto a la selección de Built-in Role, Custom Role o Specific Privilege si solo se seleccionó una opción. Se puede borrar el rol o privilegio seleccionado una vez que se aplique otro rol o privilegio.
Atlas puede aplicar un rol incorporado, varios roles personalizados y diversos privilegios específicos a un grupo de bases de datos.
Para obtener más información sobre la autorización, consulte Control de accesos en función del rol y Roles con funcionalidad incorporada en el manual de MongoDB.
Especifica los recursos del proyecto a los que el usuario o grupo pueden acceder.
Por defecto, los grupos pueden acceder a todos los clústeres e instancias federadas de bases de datos en el proyecto. Para restringir el acceso a clústeres específicos e instancias federadas de bases de datos:
Establece Restrict Access to Specific Clusters/Federated Database Instances en On.
Selecciona los clústeres e instancias federadas de bases de datos para conceder acceso al grupo desde la lista de Grant Access To.
Guarda como usuario o grupo temporal.
Cambia Temporary User o Temporary Group a On y elige un tiempo después del cual Atlas puede borrar al usuario o grupo del menú desplegable Temporary User Duration o Temporary Group Duration. Puedes seleccionar uno de los siguientes períodos de tiempo para que el grupo exista:
6 horas
1 día
1 semana
En la pestaña Database Users, los usuarios o grupos temporales muestran el tiempo restante hasta que Atlas borre a los usuarios o al grupo. Después de que Atlas borre al usuario o grupo, cualquier cliente o aplicación que utilice las credenciales temporales del usuario o grupo perderá acceso al clúster.
Conecte un cliente a MongoDB con la Federación de Identidad de la Fuerza Laboral
A continuación se enumeran las formas en las que se puede conectar un cliente a MongoDB con la autenticación de Workforce Identity Federation:
Compass v1.38+
MongoDB Shell v2.1.4+
Nota
Si configuraste el Flujo de autorización de dispositivos, debes pasar la bandera --oidcFlows=device-auth al conectarte con mongosh. Por ejemplo:
mongosh "<connection-string>" \ --authenticationMechanism MONGODB-OIDC \ --oidcFlows=device-auth