Protocolo SCIM 2.0
El problema: el provisioning manual no escala
Cuando una empresa contrata a un nuevo empleado, esa persona necesita cuentas en docenas de sistemas. Cuando ese empleado se va, todas esas cuentas necesitan desactivarse — inmediatamente.
El provisioning manual crea tres categorías de problemas:
| Problema | Impacto |
|---|---|
| Retraso en el onboarding | Los nuevos empleados esperan horas o días para la creación de cuentas |
| Lagunas en el offboarding | Los empleados que se van mantienen acceso porque alguien olvidó desaprovisionarlos |
| Cuentas huérfanas | Cuentas que no pertenecen a nadie se acumulan con el tiempo |
| Desviación de atributos | El departamento de un usuario cambia en RRHH pero no en los sistemas downstream |
| Riesgo de conformidad | Los auditores preguntan “¿puedes demostrar que el empleado X perdió acceso en 24 horas?” |
| Carga de TI | El provisioning y desprovisioning es trabajo repetitivo y propenso a errores |
Qué resuelve SCIM
SCIM (System for Cross-domain Identity Management) es una API REST estandarizada para el provisioning de usuarios, definida en dos RFCs:
- RFC 7643: El Esquema Core de SCIM — define el modelo de datos (User, Group, EnterpriseUser)
- RFC 7644: El Protocolo SCIM — define las operaciones REST, filtrado, paginación y operaciones en lote
SCIM da a cada proveedor de identidad y a cada proveedor de servicios un lenguaje común. Cuando Okta necesita crear un usuario en Auris, habla SCIM. Cuando Azure AD necesita deshabilitar un usuario, habla SCIM.
SCIM es un protocolo de provisioning entrante en Auris. El IdP empuja los cambios a Auris — Auris no consulta al IdP. Esto significa que el provisioning es casi en tiempo real.
Tipos de recursos SCIM
Usuarios (/Users)
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
"id": "usr_abc123",
"externalId": "okta-user-id-456",
"userName": "[email protected]",
"name": {
"givenName": "Jane",
"familyName": "Doe",
"formatted": "Jane Doe"
},
"emails": [
{
"value": "[email protected]",
"type": "work",
"primary": true
}
],
"active": true,
"title": "Ingeniera Senior",
"department": "Ingeniería"
}Grupos (/Groups)
{
"schemas": ["urn:ietf:params:scim:schemas:core:2.0:Group"],
"id": "grp_engineering",
"displayName": "Ingeniería",
"members": [
{ "value": "usr_abc123", "display": "Jane Doe" },
{ "value": "usr_def456", "display": "John Smith" }
]
}Operaciones admitidas
| Operación | Endpoint | Descripción |
|---|---|---|
| Crear usuario | POST /scim/v2/Users | Provisionar un nuevo usuario |
| Obtener usuario | GET /scim/v2/Users/{id} | Recuperar un usuario específico |
| Listar usuarios | GET /scim/v2/Users?filter=... | Listar y filtrar usuarios |
| Actualizar usuario | PUT /scim/v2/Users/{id} | Reemplazar completamente un usuario |
| Actualización parcial | PATCH /scim/v2/Users/{id} | Actualizar atributos específicos |
| Deshabilitar usuario | PATCH /scim/v2/Users/{id} con "active": false | Suspender la cuenta del usuario |
| Eliminar usuario | DELETE /scim/v2/Users/{id} | Desaprovisionamiento permanente |
Autenticación
El endpoint SCIM de Auris usa autenticación Bearer Token. El token se genera en:
Consola → SCIM → Generar token de acceso SCIM
Configura este token en tu proveedor de identidad (Okta, Azure AD, etc.) como el Bearer token para las solicitudes SCIM.
Sincronización de atributos
| Atributo SCIM | Campo de usuario Auris |
|---|---|
userName | email |
name.givenName | firstName |
name.familyName | lastName |
active | isActive |
externalId | externalId |
title | metadata.title |
department | metadata.department |
| Membresías de grupo | Roles de Auris (si la asignación está configurada) |
Consulta la guía de Provisioning SCIM para instrucciones de configuración paso a paso para Okta, Azure AD y JumpCloud.