Aprovisionamiento SCIM
Tuist admite el aprovisionamiento SCIM 2.0 para que un proveedor de identidad pueda crear, actualizar y desaprovisionar miembros de la organización automáticamente.
SCIM se configura desde la pestaña Authentication en la configuración de tu organización. El token SCIM es un token de cuenta propiedad de la organización con ámbito de acceso SCIM y se muestra solo una vez al generarse.
SCIM controla la membresía y el ciclo de vida. No reemplaza Single Sign-On. Configura SSO por separado si los usuarios aprovisionados también deben iniciar sesión a través de tu proveedor de identidad.
Los usuarios aprovisionados ya son miembros de la organización. Cuando inician sesión con la misma dirección de correo electrónico, esa membresía puede establecer confianza para vincular su identidad del proveedor. El dominio de correo electrónico de inicio de sesión verificado y la política de inscripción controlan a los usuarios que aún no han sido aprovisionados ni añadidos a la organización.
Okta#
Okta utiliza dos aplicaciones separadas para Tuist:
- Una OIDC Web Application para iniciar sesión en Tuist.
- Una aplicación SCIM 2.0 Test App (Header Auth) para aprovisionar usuarios y grupos en Tuist.
Configura primero Okta SSO si los usuarios deben iniciar sesión con Okta, luego configura el aprovisionamiento SCIM con los pasos siguientes.
Paso 1: Generar un token SCIM de Tuist#
- En Tuist, navega a la pestaña de configuración Authentication de tu organización.
- En la sección SCIM provisioning, copia la SCIM endpoint URL. Debe terminar en
/scim/v2. - Haz clic en Generate token.
- Asigna un nombre al token (por ejemplo,
Okta). - Copia el token generado. Tuist muestra el token solo una vez.
Paso 2: Añadir la aplicación SCIM de Okta#
- En tu panel de administración de Okta, ve a Applications > Applications > Browse App Catalog.
- Busca y añade SCIM 2.0 Test App (Header Auth).
- Asígnale un nombre reconocible, como
Tuist SCIM. - Completa la configuración de inicio de sesión para la aplicación de prueba SCIM. Tuist no usa esta aplicación para iniciar sesión; el inicio de sesión lo gestiona la aplicación OIDC de la guía de SSO.
Paso 3: Configurar la integración de API#
- Abre la pestaña Provisioning de la aplicación SCIM.
- En Settings > Integration, haz clic en Configure API Integration o Edit.
- Marca Enable API integration.
- Pega la SCIM endpoint URL de Tuist en el campo Base URL de Okta.
- Pega el token SCIM de Tuist en API Token con el prefijo
Bearer. Por ejemplo,Bearer tuist_scim_.... Okta envía este campo como la cabeceraAuthorization, y Tuist espera un token bearer. - Habilita Import Groups si quieres que Okta lea los grupos SCIM de Tuist.
- Haz clic en Test API Credentials. Okta debería informar de que la integración se verificó correctamente.
- Haz clic en Save.
Paso 4: Habilitar acciones de aprovisionamiento#
- En la pestaña Provisioning de la aplicación SCIM, abre Settings > To App.
- Haz clic en Edit.
- Habilita:
- Create Users
- Update User Attributes
- Deactivate Users
- Haz clic en Save.
Paso 5: Asignar usuarios o grupos#
- Abre la pestaña Assignments de la aplicación SCIM.
- Asigna los usuarios o grupos que deben aprovisionarse en Tuist.
- Asigna los mismos usuarios o grupos a la aplicación OIDC de Okta si también deben poder iniciar sesión con SSO.
- Consulta la pestaña Members de Tuist para verificar que los usuarios asignados aparezcan en la organización.
Para probar el desaprovisionamiento, anula la asignación o desactiva un usuario en Okta y verifica que desaparezca de la pestaña Members de la organización de Tuist.
Asignación de roles#
Tuist tiene tres roles: admin, user y viewer. Tuist expone un grupo SCIM por rol: Tuist Admins, Tuist Users y Tuist Viewers. Asocia los grupos de Okta a ellos mediante Group Push:
- Elige o crea un grupo de Okta para cada rol que quieras asignar y asigna esos grupos en la pestaña Assignments de la aplicación SCIM.
- Asegúrate de que Import Groups esté habilitado en la integración de API, luego abre la pestaña Import de la aplicación SCIM y haz clic en Import Now para que Okta conozca los grupos de Tuist.
- Abre la pestaña Push Groups de la aplicación SCIM y haz clic en Push Groups > Find groups by name.
- Selecciona un grupo de Okta, elige Link Group como acción de push y selecciona el grupo de Tuist correspondiente. Tuist no admite la creación de grupos a través de SCIM, así que enlaza a un grupo existente en lugar de crear uno nuevo.
- Haz clic en Save y repite el proceso para los roles restantes.
Añadir un usuario a un grupo enlazado le otorga ese rol. Eliminarlo del grupo lo devuelve al rol con el que la organización registra a los miembros de inicio de sesión único, que es user a menos que un administrador lo haya cambiado en Settings > Authentication. Los usuarios que no están en ningún grupo enlazado también obtienen ese rol. Eliminar a un usuario de un grupo no lo elimina de la organización; para hacerlo, anula su asignación o desactívalo en Okta.
Microsoft Entra ID#
Entra ID aprovisiona Tuist a través de una aplicación empresarial fuera de la galería. Configura primero Microsoft Entra ID SSO si los usuarios también deben iniciar sesión con Entra ID.
La aplicación que registras para el inicio de sesión único y la aplicación empresarial que usas para el aprovisionamiento pueden ser la misma. El aprovisionamiento se configura en la entrada de la aplicación empresarial.
Paso 1: Generar un token SCIM de Tuist#
- En Tuist, navega a la pestaña de configuración Authentication de tu organización.
- En la sección SCIM provisioning, copia la SCIM endpoint URL. Debe terminar en
/scim/v2. - Haz clic en Generate token.
- Asigna un nombre al token (por ejemplo,
Entra ID). - Copia el token generado. Tuist muestra el token solo una vez.
Paso 2: Configurar el aprovisionamiento#
- En el centro de administración de Microsoft Entra, ve a Identity > Applications > Enterprise applications y abre la aplicación de Tuist.
- Abre Provisioning y establece Provisioning Mode en Automatic.
- Establece Tenant URL en la SCIM endpoint URL de Tuist.
- Establece Secret Token en el token SCIM de Tuist. Introduce el token solo, sin el prefijo
Bearer; Entra ID añade el esquema por sí mismo. - Haz clic en Test Connection. Entra ID debería informar de que las credenciales proporcionadas están autorizadas.
- Guarda la configuración.
Paso 3: Establecer el atributo de coincidencia#
- En Mappings, abre Provision Microsoft Entra ID Users.
- Confirma que
userPrincipalNameomailse asigne al atributo SCIMuserName, y que este atributo sea el utilizado para Matching precedence 1. - Elimina
externalIdde los atributos de coincidencia si está presente.
Tuist coincide con los usuarios aprovisionados por userName. No almacena el identificador de objeto de directorio que Entra ID envía como externalId, por lo que un filtro sobre ese atributo no encuentra un miembro existente y los ciclos de aprovisionamiento pueden comportarse de manera impredecible.
Paso 4: Deshabilitar el aprovisionamiento de grupos#
En Mappings, deshabilita Provision Microsoft Entra ID Groups.
Los grupos SCIM de Tuist son un grupo fijo por rol de organización en lugar de grupos de directorio que puedas crear, por lo que un intento de aprovisionar un grupo de directorio falla. Asigna roles como se describe a continuación en su lugar.
Paso 5: Asignar usuarios e iniciar el aprovisionamiento#
- Abre la pestaña Users and groups de la aplicación y asigna los usuarios o grupos que deben aprovisionarse en Tuist.
- Vuelve a Provisioning e inícialo.
- Consulta la pestaña Members de Tuist para verificar que los usuarios asignados aparezcan en la organización.
Entra ID realiza el aprovisionamiento según su propia programación, que suele ser cada 40 minutos, por lo que los miembros no aparecen al instante. Usa Provision on demand para probar un único usuario de inmediato.
Para probar la desaprovisión, anula la asignación o deshabilita un usuario en Entra ID y verifica que desaparezca de la pestaña Members de la organización de Tuist.
Si más adelante cambias el alcance del aprovisionamiento, por ejemplo de Sync all users and groups a Sync only assigned users and groups, haz clic en Restart provisioning después. Entra ID aplica el nuevo alcance, incluida la desaprovisión de usuarios que ya no están en él, solo después de un reinicio.
Asignación de roles#
Tuist tiene tres roles: admin, user y viewer. Para configurarlos desde Entra ID:
- En App registrations, abre la aplicación de Tuist y añade un rol de aplicación por cada rol de Tuist que quieras asignar. Establece Allowed member types en Users/Groups y Value en
admin,useroviewer. - En la pestaña Users and groups de la aplicación empresarial, asigna a cada usuario o grupo uno de esos roles de aplicación. Un usuario puede tener varios roles de aplicación. Tuist aplica el más privilegiado, donde
admintiene prioridad sobreuseryusersobreviewer, por lo que un usuario que pertenezca a grupos asignados a distintos roles obtiene el de mayor privilegio. - En Provisioning > Mappings, abre el menú desplegable Advanced Options y selecciona Edit target User attributes. Añade un atributo llamado
rolescon Type establecido enStringy marca la casilla Multi-Value. - En Provisioning > Mappings > Provision Microsoft Entra ID Users, haz clic en Add New Mapping. Establece Mapping type en Expression, Expression en
AssertiveAppRoleAssignmentsComplex([appRoleAssignments])y Target attribute en el atributorolesque has añadido. - Mantén el alcance del aprovisionamiento configurado en Sync only assigned users and groups.
AssertiveAppRoleAssignmentsComplexno es compatible con Sync all users and groups.
AssertiveAppRoleAssignmentsComplex envía todos los roles de aplicación que tiene un usuario y también envía eliminaciones, por lo que quitar un rol en Entra ID reduce al usuario al rol más privilegiado que aún conserve. SingleAppRoleAssignment([appRoleAssignments]) mapeado a roles[primary eq "True"].value también funciona, pero solo envía un rol y Entra ID no garantiza cuál elige cuando un usuario tiene varios.
Cambiar los roles de aplicación de un usuario en Entra ID actualiza su rol en Tuist en el siguiente ciclo de aprovisionamiento. Un usuario aprovisionado sin un rol de aplicación, o con valores distintos de admin, user o viewer, obtiene el rol con el que la organización inscribe a los miembros de inicio de sesión único, que es user a menos que un administrador lo haya cambiado en Settings > Authentication.
Comportamiento del ciclo de vida#
Cuando tu proveedor de identidad asigna un usuario a la aplicación de aprovisionamiento, Tuist crea el usuario si el correo electrónico no es conocido previamente por Tuist y luego lo añade a la organización. Si el correo electrónico ya pertenece a un usuario existente de Tuist fuera de la organización, Tuist rechaza la solicitud para evitar que un IdP reclame un usuario que no gestiona ya en esa organización.
Cuando tu proveedor de identidad anula la asignación o desactiva al usuario, Tuist elimina su rol en la organización mientras conserva el registro del usuario y cualquier trabajo que posea. La desaprovisión no deshabilita al usuario a nivel global, porque el mismo usuario de Tuist puede pertenecer a otras organizaciones.
Tuist expone tres grupos SCIM sintéticos: Tuist Admins, Tuist Users y Tuist Viewers. Añadir un miembro a un grupo establece su rol en la organización. Eliminar a un miembro del grupo que coincide con su rol actual lo devuelve al rol de inscripción, y la pertenencia en sí misma solo finaliza cuando se anula la asignación o se desactiva al usuario. Los proveedores de identidad también pueden establecer el rol mediante el atributo SCIM roles en un usuario, con un valor de admin, user o viewer. Un proveedor de identidad que envía varios valores obtiene el más privilegiado de ellos, donde admin tiene prioridad sobre user y user sobre viewer.
Funcionalidades SCIM compatibles#
Tuist admite los puntos finales SCIM 2.0 que necesitan los proveedores de identidad para la gestión del ciclo de vida:
POST,GET,PUT,PATCHyDELETEpara/Users.GETyPATCHpara/Groups.- Puntos finales de descubrimiento SCIM para
/ServiceProviderConfig,/ResourceTypesy/Schemas.