Esta guía acompaña a los administradores de empresa a lo largo de todo el ciclo de vida de SSO con Devin, desde la configuración inicial hasta la configuración de grupos de IdP, y explica cómo Devin gestiona el aprovisionamiento de usuarios sin SCIM. Para obtener instrucciones de configuración específicas de cada proveedor, consulta Okta, Azure AD, SAML o OIDC genérico.Documentation Index
Fetch the complete documentation index at: https://docs.devinenterprise.com/llms.txt
Use this file to discover all available pages before exploring further.
1. Configuración del SSO (inicio de sesión único)
Creación de tu aplicación de SSO
| Tipo de conexión | Protocolo | Qué proporcionar |
|---|---|---|
| Okta | OIDC (Okta Workforce Identity) | Dominio de Okta, ID de cliente, secreto de cliente, ámbitos |
| Azure AD | OIDC (Microsoft Entra ID) | Dominio de Azure AD, ID de cliente, secreto de cliente |
| SAML | SAML 2.0 (cualquier IdP) | URL de inicio de sesión, certificado de firma X.509 |
| Generic OIDC | OIDC | URL de descubrimiento, ID de cliente, secreto de cliente, ámbitos |
También debes proporcionar tus dominios de correo electrónico verificados para que Devin sepa en qué direcciones de correo electrónico de tu IdP debe confiar.
Qué sucede después de la configuración
- La conexión de SSO se vincula a tu cuenta Enterprise de Devin
- Se habilita la membresía automática al iniciar sesión — cualquier usuario que se autentique mediante SSO se agrega automáticamente a tu empresa
- Tus dominios de correo electrónico se registran como de confianza — solo se aceptan direcciones de correo electrónico de esos dominios
- Se habilita la asignación de roles basada en grupos (RBAC) — los grupos de IdP enviados durante el inicio de sesión pueden mapearse a roles de Devin
- Los inicios de sesión sociales predeterminados (Google, GitHub) se deshabilitan — SSO pasa a ser el método de autenticación obligatorio
La experiencia de inicio de sesión del usuario
- El usuario accede a tu URL de Devin
- Se le redirige al IdP configurado (Okta, Azure AD, etc.)
- El usuario se autentica normalmente
- El IdP envía a Devin la información del usuario y su pertenencia a grupos
- Devin automáticamente:
- Crea la cuenta del usuario si es su primer inicio de sesión (aprovisionamiento just-in-time)
- Le asigna el rol predeterminado de Miembro de Enterprise
- Sincroniza su pertenencia a grupos del IdP: agrega grupos nuevos y elimina los inactivos
- Registra el inicio de sesión en el registro de auditoría de Enterprise
Administración de autoservicio
Gestión de grupos de IdP
- Ver todos los grupos que se han sincronizado a partir de los inicios de sesión de los usuarios
- Asignar un grupo a un rol a nivel Enterprise (p. ej., “Todos los miembros de
Engineering-Adminsreciben el rol de Enterprise Admin”) - Asignar un grupo a orgs específicas con roles específicos (p. ej., “
Team-Backendrecibe acceso de Member en la org Backend”) - Agregar o quitar grupos en bloque en múltiples orgs
- Ver a cuántas orgs está asignado cada grupo
Gestión de miembros
- Ver todos los miembros de Enterprise, incluidos los grupos de IdP a los que pertenecen
- Invitar a nuevos miembros por correo electrónico
- Actualizar los roles de los miembros
- Eliminar miembros
Roles personalizados
- Crea roles personalizados con permisos granulares
- Asigna roles personalizados a usuarios individuales o a grupos de IdP
API para la automatización
| Acción | Endpoint de la API |
|---|---|
| Listar todos los miembros | GET /v2/enterprise/members |
| Invitar usuarios por correo electrónico (en bloque) | POST /v2/enterprise/members/invite |
| Eliminar un miembro | DELETE /v2/enterprise/members/{user_id} |
| Actualizar en bloque los roles de los miembros | PATCH /v2/enterprise/members/roles |
| Migrar miembros entre roles | PATCH /v2/enterprise/members/migrate-roles |
| Listar todos los roles | GET /v2/enterprise/roles |
| Listar todos los grupos de IdP | GET /v2/enterprise/groups |
| Crear grupos de IdP de antemano | PUT /v2/enterprise/groups |
| Obtener las asignaciones de organización de un grupo | GET /v2/enterprise/groups/{group_name} |
2. Cómo funciona Devin sin SCIM
Aprovisionamiento de usuarios: solo al iniciar sesión
| Con SCIM | Devin (sin SCIM) | |
|---|---|---|
| Cómo se crean los usuarios | El IdP crea el usuario en la aplicación de inmediato cuando se le asigna | El usuario solo existe en Devin después de su primer inicio de sesión con SSO, o tras una invitación manual a través de la UI o la API |
| Cuándo ocurre | El Admin asigna la aplicación al usuario → el usuario aparece en cuestión de segundos | El Admin asigna la aplicación al usuario → no ocurre nada en Devin hasta que inicia sesión |
| Preaprovisionamiento | La cuenta de usuario está lista antes de que visite la aplicación por primera vez | No hay preaprovisionamiento, a menos que el Admin lo invite explícitamente a través de la UI de Devin o la API |
Desaprovisionamiento de usuarios: solo manual
| Con SCIM | Devin (sin SCIM) | |
|---|---|---|
| Cómo se eliminan los usuarios | El IdP desactiva/elimina al usuario → la aplicación lo desactiva de inmediato | Desactivar/eliminar a un usuario en el IdP no tiene ningún efecto en Devin |
| Baja | El empleado dado de baja pierde el acceso en cuestión de minutos | El empleado dado de baja mantiene el acceso hasta que se lo elimina manualmente de Devin y su sesión expira |
| Cumplimiento | Cumplimiento automatizado: sin cuentas huérfanas | Riesgo de cuentas huérfanas, a menos que el administrador gestione ambos sistemas |
Sincronización de grupos: solo al iniciar sesión, no en tiempo real
| Con SCIM (Group Push) | Devin (sin SCIM) | |
|---|---|---|
| Momento de sincronización | El IdP envía los cambios de pertenencia a grupos en tiempo real | Los grupos solo se sincronizan cuando el usuario inicia sesión |
| Agregar a un grupo | El Admin agrega al usuario al grupo → la app lo refleja de inmediato | El Admin agrega al usuario al grupo → Devin no lo detecta hasta que el usuario vuelva a iniciar sesión |
| Quitar de un grupo | El Admin quita al usuario del grupo → la app lo refleja de inmediato | El Admin quita al usuario del grupo → Devin sigue mostrando la pertenencia anterior hasta el siguiente inicio de sesión |
| Fuente de verdad | El IdP es siempre la fuente de verdad | El IdP es la fuente de verdad solo en el momento del inicio de sesión; puede desincronizarse entre inicios de sesión |
Alternativas nativas a SCIM
- Aprovisionamiento just-in-time — los usuarios se crean automáticamente en el primer inicio de sesión con SSO con el rol empresarial predeterminado
- Sincronización completa de grupos en cada inicio de sesión — cada vez que un usuario inicia sesión, Devin realiza una comparación completa de sus grupos de IdP: agrega los nuevos y elimina los antiguos
- RBAC basado en grupos — puedes asignar grupos de IdP a roles empresariales y acceso a la organización en la configuración de Devin; esto se aplica en el siguiente inicio de sesión
- API v2 para automatización — las invitaciones, eliminaciones y modificaciones masivas de roles se pueden automatizar con scripts para cerrar la brecha entre el aprovisionamiento y el desaprovisionamiento
- Registros de auditoría — cada inicio de sesión queda registrado, lo que da visibilidad sobre quién ha accedido a Devin
3. Configuración de grupos gestionados por el IdP
Contexto: grupos de SCIM vs. grupos de IdP
- Grupos de SCIM: La app de destino le indica al IdP qué grupos existen (el IdP los “importa”). La app es la fuente de verdad de la estructura de los grupos. El IdP sincroniza a los usuarios con esos grupos definidos por la app.
- Grupos de IdP (lo que usa Devin): El IdP es la fuente de verdad. Los grupos se definen en el directorio del IdP, y las membresías de los grupos se envían a Devin mediante claims de SAML/OIDC en el momento del inicio de sesión.
Paso 1: Definir grupos en el IdP
- Ve a Directory → Groups
- Crea grupos que se correspondan con los niveles de acceso de Devin (p. ej.,
Devin-Engineering,Devin-Admins,Devin-DataScience) - Asigna usuarios a estos grupos
Paso 2: Configurar los claims de grupo en la aplicación del IdP
Para conexiones SAML
- Ve a Applications → [Devin App] → SAML Settings → Edit
- En Group Attribute Statements, agrega:
- Name:
groups - Filter: “Comienza con” →
Devin-(o usa “Matches regex” para patrones más complejos)
- Name:
- Esto le indica al IdP que incluya en la aserción SAML los nombres de los grupos que coincidan
Para conexiones OIDC
- Ve a Applications → [app de Devin] → Sign On → Edit
- En OpenID Connect ID Token → Groups claim type, selecciona “Filter”
- Configura el filtro para que coincida con los grupos de Devin (p. ej., “Starts with” →
Devin-)
Paso 3: Asigna grupos a roles y orgs en Devin
En la UI de Devin
- Settings → Enterprise → Grupos de IdP
- Los grupos aparecen automáticamente después de que inicie sesión cualquier miembro de ese grupo
- Haz clic en un grupo → asígnale un rol a nivel de Enterprise (p. ej., Enterprise Admin o un rol personalizado)
- Haz clic en un grupo → asígnalo a orgs específicas con roles específicos a nivel de org
A través de la API (para la configuración previa o la automatización)
- Cree los grupos de antemano, antes de que alguien inicie sesión:
PUT /v2/enterprise/groups - Liste los grupos y las org a las que están asignados:
GET /v2/enterprise/groups
Paso 4: Si migras desde grupos de SCIM en otras aplicaciones
- Detén la importación de grupos de SCIM en las otras aplicaciones:
- En el IdP: ve a la pestaña Provisioning → Integration de la aplicación → desmarca “Import Groups”
- Esto evita que la aplicación de destino sea la fuente de verdad de los grupos
- Crea grupos equivalentes en el directorio del IdP:
- Ve a Directory → Groups y crea grupos que reflejen los que existían en la aplicación de destino
- Asigna usuarios a estos grupos nativos del IdP
- Configura Group Push (para las aplicaciones que lo admiten):
- En la configuración del IdP de la aplicación: pestaña Push Groups → busca los grupos por nombre → vincúlalos con los grupos existentes en la aplicación de destino
- Esto hace que el IdP sobrescriba la membresía interna de la aplicación; el IdP pasa a ser la única fuente de verdad
- Devin no necesita Group Push porque lee los grupos directamente de la aserción de inicio de sesión
- Desactiva la sincronización de grupos de SCIM en las otras aplicaciones:
- Asegúrate de que “Import Groups” siga desactivado para evitar que la aplicación de destino vuelva a declararse como fuente de verdad
Consideraciones clave
Cambios de nombre de grupos en el IdP
Cambios de nombre de grupos en el IdP
Si se cambia el nombre de un grupo, Devin lo trata como un grupo nuevo. Las asignaciones de roles del grupo anterior no se transfieren automáticamente; tendrás que volver a configurar el nuevo nombre del grupo en Settings de Devin.
Agregar a un grupo no implica acceso inmediato a Devin
Agregar a un grupo no implica acceso inmediato a Devin
Un usuario agregado a un grupo del IdP asignado a Devin no obtendrá ese acceso hasta que inicie sesión.
Quitar de un grupo no implica la eliminación inmediata del acceso a Devin
Quitar de un grupo no implica la eliminación inmediata del acceso a Devin
Quitar a un usuario de un grupo del IdP no revoca de inmediato su acceso a Devin. En su próximo inicio de sesión, Devin sincroniza y elimina la membresía de grupo obsoleta. Cualquier membresía directa (asignada fuera de los grupos) no se ve afectada.
Los nombres de los grupos deben coincidir exactamente
Los nombres de los grupos deben coincidir exactamente
El nombre del grupo en el IdP debe coincidir exactamente con lo que ve Devin. Distingue entre mayúsculas y minúsculas.
No hay grupos anidados
No hay grupos anidados
Devin no admite grupos anidados/jerárquicos. Si el IdP envía un grupo principal, los miembros de los grupos secundarios no se incluyen automáticamente. Cada grupo debe asignarse explícitamente.
Configuración recomendada para un comportamiento “similar a SCIM”
Configura tu proveedor de identidad (fuente de verdad)
- Define grupos:
Devin-Admins,Devin-Backend,Devin-Frontend, etc. - Asigna usuarios a los grupos
- Configura los claims de grupo de SAML/OIDC filtrados por “Empieza por:
Devin-”
Devin se sincroniza en cada inicio de sesión
Cuando un usuario inicia sesión mediante SSO, Devin automáticamente:
- Crea al usuario automáticamente si es nuevo
- Realiza una sincronización completa de grupos (agrega grupos nuevos y elimina los obsoletos)
- Aplica de inmediato las asignaciones de grupos a roles y a organizaciones
Opcional: Automatiza con la API V2
Configura un job programado para cubrir las brechas de SCIM:
- Lee los usuarios activos desde la API de tu IdP
- Lee los miembros de Devin desde
GET /v2/enterprise/members - Invita a nuevos empleados mediante
POST /v2/enterprise/members/invite - Elimina a los empleados que ya no están mediante
DELETE /v2/enterprise/members/{user_id}
Lo que esto te ofrece
- Tu IdP como fuente única de verdad para la estructura de grupos y la pertenencia a ellos
- Acceso automático basado en grupos en cada inicio de sesión
- Aprovisionamiento y desaprovisionamiento mediante API para cubrir la brecha que normalmente llenaría SCIM
- Registro de auditoría completo de todos los inicios de sesión y cambios de membresía
Limitaciones actuales
- Sincronización de grupos en tiempo real entre inicios de sesión — los grupos solo se actualizan cuando los usuarios inician sesión
- Revocación instantánea de sesiones tras el desaprovisionamiento — las sesiones siguen activas hasta que expiran
- Eventos del ciclo de vida iniciados por el IdP, como suspender/reactivar, no se admiten
