← Torna ai progetti
Produzione · processo documentato

Identity Lifecycle Automation: Onboarding e Offboarding

Ciclo di vita governato dall’HR, con percorsi GROUND e CREW, rientri, rimozione differita e audit

n8n self-hosted (web + worker)PostgreSQL (code e audit)SQL Server HRPowerShell Remoting + KerberosMicrosoft Graph APIActive Directory + Entra ConnectExchange ibridoPython Flask + Gunicornoauth2-proxy + Entra ID SSOOne-Time SecretSharePoint (archivio verbali)

Context

Problema e contesto

La gestione manuale delle utenze espone a ritardi, configurazioni difformi e accessi residui. Il processo precedente richiedeva interventi separati su directory, posta, gruppi e comunicazioni, senza una coda operativa unica. Il sistema porta assunzioni, cessazioni, contratti a termine e rientri in un flusso tracciabile. Gli eventi provengono dal database HR: nel percorso ordinario l’IT non deve creare o disattivare account manualmente.

Solution

Soluzione implementata

Una piattaforma self-hosted combina n8n, PostgreSQL, PowerShell via Kerberos e Microsoft Graph. Ogni evento ha stato, timestamp e ultimo errore; retry e idempotenza consentono di riprendere il lavoro senza duplicazioni. GROUND segue il percorso ibrido Active Directory + Exchange; CREW nasce cloud-only in Entra ID. La dashboard IT affianca il processo identità e gestisce preparazione, consegna, firma e restituzione dei dispositivi con stati funzionali dichiarati.

HR come fonte di verità e code idempotenti

Una procedura sul database HR restituisce assunzioni, cessazioni e fine contratto. n8n normalizza i dati, determina il ramo GROUND/CREW e scrive code PostgreSQL con stati espliciti: pending, done, skipped o error. Gli eventi di assunzione vengono importati con un anticipo configurabile rispetto alla data di inizio, per consentire le attività di preparazione prima del primo giorno di lavoro. Alla cessazione parte la fase di disabilitazione. Eventi duplicati aggiornano la stessa chiave logica invece di creare operazioni parallele.

Provisioning differenziato: GROUND e CREW

GROUND — PowerShell Remoting autenticato con Kerberos crea l’utente AD e la Remote Mailbox nella OU corretta, imposta attributi organizzativi e scadenza per i contratti a termine. Un passaggio idempotente assegna i gruppi predefiniti.

CREW — Microsoft Graph crea l’utente direttamente in Entra ID dopo la validazione del ruolo. Il gruppo del personale navigante viene assegnato e verificato con retry; gli altri gruppi possono essere dinamici.

Dopo il successo, l’indirizzo aziendale viene sincronizzato sul record HR e le credenziali temporanee sono consegnate con link monouso, senza persistenza nella dashboard.

Rientri e offboarding in due fasi

Un rientro entro la finestra operativa configurata, nello stesso ramo, riattiva l’identità esistente. Per GROUND vengono ripristinati OU e gruppi dallo snapshot; per CREW vengono riabilitati account e attributi cloud.

Fase 1 — alla cessazione, l’account viene disabilitato immediatamente e le appartenenze ai gruppi GROUND vengono rimosse dopo averne salvato uno snapshot. Gli account CREW vengono disabilitati in Entra ID.

Fase 2 — trascorso un periodo di osservazione dalla data di cessazione, e solo dopo una verifica dello stato live, gli account GROUND vengono spostati nella OU dedicata alle identità dismesse, mentre gli account CREW vengono eliminati da Entra ID.

La finestra minima di recupero copre il periodo tra disabilitazione e rimozione definitiva, più il ripristino nativo Microsoft per le mailbox. L’oggetto AD GROUND non viene cancellato automaticamente.

Dashboard IT e dispositivi: stato reale

La dashboard Flask è protetta da SSO Entra ID e registra l’operatore su ogni scrittura. Disponibili: coda onboarding, checklist, preparazione PC, reset password GROUND, TAP, consegna/ritiro, firma, PDF, archivio SharePoint, dispositivi ritirati e spare. In sviluppo: condizioni dinamiche, classificazione nuovi dispositivi, notifiche di mancata restituzione e guida in-app. Pianificate: riassegnazione rapida, report dei ritirati e pulizia tecnica assistita con conferma umana. La dashboard integra il lifecycle ma non è la fonte degli eventi identità.

Guardrail e osservabilità

Il sistema verifica lo stato reale prima delle azioni distruttive, esclude dalle rimozioni ogni identità riattivata e isola gli errori per singolo record. TEST_MODE e dry-run usano tabelle gemelle, destinatari di verifica e simulazioni. Le evidenze comprendono timestamp di fase, snapshot dei gruppi, esito della sincronizzazione HR, report giornalieri e storico n8n. Una riconciliazione periodica in sola lettura confronta HR, AD ed Entra ID per evidenziare anomalie senza forzare azioni.

Governance e audit

Il progetto è stato realizzato nel contesto di un dipartimento IT certificato ISO 27001, ed è rientrato tra le evidenze operative valutate nell'audit di certificazione. Il valore del controllo deriva da fonte HR, separazione dei privilegi, stati espliciti, rimozione differita e prove di esecuzione. La dashboard e i workflow supportano audit e gestione degli asset senza esporre dettagli interni sul sito pubblico.

Outcomes

Risultati

HR come fonte di verità per assunzioni, cessazioni e contratti a termine
Percorsi distinti per identità ibride GROUND e identità cloud-only CREW
Rientri nella finestra configurata gestiti senza ricreazione quando ramo e stato lo consentono
Offboarding reversibile seguito da rimozione controllata dopo un periodo di osservazione
Recuperabilità estesa dalla disabilitazione al ripristino nativo Microsoft
Evidenze operative per fase: stato, timestamp, snapshot, esito e ultimo errore
Dashboard dispositivi con funzioni disponibili, in sviluppo e pianificate dichiarate