Por qué automatizar los flujos de trabajo de identidad
- Incorporar a nuevos empleados a varias aplicaciones empresariales en cuanto se aprovisionan en su IdP.
- Propagar cambios de identidad a varios sistemas de destino en un solo paso.
- Revocar el acceso en todos los sistemas de destino cuando se elimina un usuario.
- Eliminar pasos manuales de los procesos que dependen de eventos del ciclo de vida de la identidad.
Resumen de la arquitectura
- IdP corporativo (por ejemplo, Okta) — la fuente autorizada de las identidades de los empleados.
- Auth0 Inbound SCIM — recibe eventos de aprovisionamiento del IdP y crea o actualiza usuarios en Auth0.
- Event Stream con una Action de Auth0 — escucha eventos del ciclo de vida de los usuarios y ejecuta código en el servidor.
- Varios sistemas externos — los destinos que reciben los datos transformados. Este ejemplo usa como destino un CRM (HubSpot) y un canal de notificaciones de equipo (Slack).
- Un administrador asigna un usuario a una aplicación en el IdP corporativo.
- El IdP envía el cambio a Auth0 a través de SCIM.
- Auth0 crea o actualiza el perfil del usuario y publica un evento.
- Event Stream activa una Action que llama a varias API externas.
La diferencia entre la orquestación y la correlación es la cantidad de sistemas de destino. La correlación asigna un evento a un único registro externo. La orquestación distribuye un solo evento a varios sistemas como parte de un flujo de trabajo más amplio.
Requisitos previos
- Un inquilino de Auth0 con Events habilitado. Para obtener más información sobre la disponibilidad según el plan, lea Crear un Event Stream.
- Un IdP corporativo que admita aprovisionamiento SCIM (por ejemplo, Okta o Microsoft Entra ID).
- Auth0 Inbound SCIM configurado para la conexión correspondiente. Para obtener más información, lea SCIM entrante.
- Credenciales de API para cada sistema externo. Este ejemplo requiere:
- Un token de acceso de una aplicación privada de HubSpot con scope de escritura para Contacts.
- Una URL de Slack Incoming Webhook para el canal de destino.
Configurar el aprovisionamiento de SCIM
- Okta
- Other IdPs
- En el Auth0 Dashboard, vaya a Authentication > Enterprise y seleccione su conexión empresarial de SAML u OIDC.
- Seleccione la pestaña Provisioning y habilite Inbound SCIM.
- Genere un token de SCIM y cópielo.
- En Okta, abra la aplicación que usa para federarse con Auth0.
- Seleccione la pestaña Provisioning y luego Configure API Integration.
- Habilite la integración, pegue la URL del endpoint SCIM de Auth0 y el token, y seleccione Save.
- En To App, habilite Create Users, Update User Attributes y Deactivate Users.
Crear la Action del Event Stream
user.created, user.updated y user.deleted. A continuación, cree un Event Stream con una Action de Auth0 que distribuya estos eventos a varios sistemas de destino.
Crear el Event Stream
- Vaya a Auth0 Dashboard > Event Streams.
- Seleccione Create Event Stream.
- Seleccione Auth0 Actions como tipo de flujo.
- Introduzca un nombre descriptivo (por ejemplo,
Onboarding Workflow). - Suscríbase a
user.created,user.updatedyuser.deleted.
Escribe el controlador de la Action
Gestionar fallos parciales
- Registrar y continuar. Envuelve cada llamada externa en un bloque
try-catchpara que un fallo en un sistema no impida que las demás finalicen. Registra el error para hacer un seguimiento manual. - Reintentar con operaciones idempotentes. Si la Action genera un error, Auth0 reintenta el evento. Asegúrate de que cada llamada externa sea idempotente para que los reintentos no creen registros duplicados.
- Usar circuit breakers. Si un sistema externo falla de forma constante, considera interrumpir temporalmente las llamadas a ese sistema para evitar retrasos en cascada.
Guarda las claves de API como secretos
- En el editor de Action, selecciona Secrets (el icono de llave).
- Añade un secreto llamado
HUBSPOT_TOKENcon el valor del token de acceso de tu aplicación privada de HubSpot. - Añade un secreto llamado
SLACK_WEBHOOK_URLcon el valor de la URL del webhook entrante de Slack.
Guardar y desplegar
Verifica la canalización
- En tu IdP corporativo, asigna un usuario de prueba a la aplicación conectada a Auth0.
- Confirma que el usuario aparece en Auth0 en User Management > Users.
- Confirma que se crea el contacto correspondiente en HubSpot y que se publica una notificación en Slack.
- Actualiza el nombre del usuario en el IdP y verifica que el cambio se propaga tanto a Auth0 como a HubSpot.
- Desasigna al usuario de la aplicación en el IdP. Confirma que el usuario se desaprovisiona en Auth0, que se elimina el contacto de HubSpot y que se publica una notificación en Slack.
Amplía el patrón
- CRM + sistema de tickets — crea un contacto en Salesforce y abre un ticket de incorporación en Jira.
- CRM + analítica — actualiza un contacto en HubSpot y envía una llamada
identifya Segment. - Aprovisionamiento + notificaciones — llama a un servicio interno de aprovisionamiento y publica un mensaje en Microsoft Teams.