DanpLab · Lab NoteArchitettura operativa

Identity Lifecycle Automation: onboarding, rientri e offboarding governati dall’HR

Architettura reale del ciclo di vita delle identità: HR come fonte di verità, percorsi GROUND e CREW, code idempotenti, offboarding in due fasi, rientri e dashboard operativa per i dispositivi.

7 min di letturaNota basata su utilizzo operativo reale
automazionemicrosoftsicurezzaidentity governance

Perché il ciclo di vita dell’identità non può dipendere dai ticket

La creazione e la dismissione manuale delle utenze espongono l’organizzazione a ritardi, configurazioni difformi e accessi residui. Il sistema descritto qui porta il processo in un flusso governato: gli eventi nascono nel sistema HR, vengono normalizzati e accodati, quindi eseguiti in modo idempotente con uno stato esplicito e un esito verificabile.

La procedura copre assunzioni, contratti a termine, cessazioni e rientri. Il progetto è stato realizzato nel contesto di un dipartimento IT certificato ISO 27001, ed è rientrato tra le evidenze operative valutate nell'audit di certificazione.

I dettagli sensibili — host, tenant, account tecnici, indirizzi e percorsi interni — non sono pubblicati.


Architettura: HR, orchestrazione e sistemi target

SOURCE OF TRUTH — HR Database SQL Server → hires_queue + leaves_queue LAYER 1 — AUTOMATION ORCHESTRATION n8n Engine orchestrator PowerShell + Kerberos Graph API Microsoft 365 PostgreSQL audit + state Active Directory + Exchange on-prem GROUND · PowerShell + Kerberos Entra ID + Exchange Online + Intune CREW / Microsoft 365 · Graph API state + KPI LAYER 2 — OPERATIONAL DASHBOARD Flask + Gunicorn → SSO Entra ID → KPI real-time onboarding queue · devices · signatures · returns LAYER 3 — AUDIT & COMPLIANCE Audit trail PostgreSQL · HR↔AD/Entra reconciliation · Reports · GDPR/NIS2

Il sistema usa:

  • database HR come fonte di verità per assunzioni, cessazioni e scadenze;
  • n8n self-hosted per schedulazione, routing, notifiche e gestione degli errori;
  • PostgreSQL per code operative, stati, timestamp, snapshot e ultimo errore;
  • PowerShell via Kerberos per Active Directory ed Exchange ibrido;
  • Microsoft Graph API per le identità cloud e le comunicazioni di servizio;
  • dashboard IT come interfaccia operativa per onboarding e dispositivi, non come fonte degli eventi identità.

Ogni evento attraversa stati espliciti (pending, done, skipped, error). Una riesecuzione non deve duplicare utenti o ripetere operazioni già completate.

Due popolazioni, due percorsi

| | GROUND — personale di terra | CREW — personale navigante | |---|---|---| | Identità | Ibrida | Cloud-only | | Directory primaria | Active Directory on-premises | Microsoft Entra ID | | Casella | Remote Mailbox in scenario Exchange ibrido | Casella cloud associata all’identità | | Provisioning | PowerShell Remoting con Kerberos | Microsoft Graph API | | Offboarding fase 1 | Disabilitazione AD e rimozione gruppi | Disabilitazione account Entra ID | | Offboarding fase 2 | Spostamento in OU esclusa dalla sincronizzazione | Eliminazione controllata in Entra ID |

HR source of truth hires_queue → is_crew? GROUND (on-prem) PowerShell + Kerberos Invoke-Command → DC Create AD User OU + groups + UPN Remote Mailbox Exchange on-prem → AD Connect sync → Entra ID CREW (cloud-only) Graph API app registration Create Entra User UPN + password + profile Add to Group Personale Navigante → attributes + verified groups OTS

Pianificazione e onboarding

Gli eventi di assunzione vengono importati con un anticipo configurabile rispetto alla data di inizio, per consentire le attività di preparazione — creazione account e configurazione della postazione — prima del primo giorno di lavoro. Alla cessazione viene pianificata la fase di disabilitazione.

HR-governed onboarding · configurable lead time before start HR eventhire · leave · expiry Normalizeidempotency key Queuestate + schedule GROUNDAD + Remote Mailbox CREWEntra ID via Graph CloseHR + OTSreports Dashboard IT: checklist · device preparation · delivery · signature · return

1. Ricezione e normalizzazione

La procedura HR restituisce assunzioni, cessazioni e fine contratto. Il flusso normalizza i dati, determina il ramo GROUND/CREW, prepara gli identificativi e usa una chiave di idempotenza legata a persona, azione e data di efficacia. Le collisioni vengono risolte durante il provisioning consultando i sistemi reali.

2. Provisioning GROUND

Il flusso crea l’utente AD e la Remote Mailbox nella OU corretta, imposta gli attributi organizzativi e, per i contratti a termine, la data di scadenza. Gli identificativi definitivi restituiti dallo script vengono salvati nella coda. Un passaggio separato assegna i gruppi predefiniti in modo idempotente.

3. Provisioning CREW

Il flusso valida ruolo e attributi richiesti, crea l’utente cloud tramite Graph e attende la propagazione. L’appartenenza al gruppo del personale navigante viene verificata con retry; gli altri gruppi possono essere dinamici e dipendere dagli attributi dell’identità.

4. Chiusura del ciclo HR e consegna credenziali

Dopo un provisioning riuscito, l’indirizzo aziendale viene sincronizzato sul sistema HR secondo regole diverse per prima assunzione e rientro. Le credenziali temporanee non vengono persistite dalla dashboard: sono consegnate tramite link monouso, con una validità più breve per l’utente e una finestra operativa separata per l’IT. Le anomalie restano visibili nei report e nella coda.


Rientri: riattivare quando è sicuro, ricreare quando serve

Un rientro entro la finestra operativa configurata, nello stesso ramo, riusa l’identità esistente:

  • GROUND: ripristino della OU originaria se necessario, riabilitazione e recupero dei gruppi dallo snapshot;
  • CREW: riabilitazione dell’utente cloud e riallineamento degli attributi;
  • la riga di cessazione viene marcata come riattivata, impedendo alle fasi di rimozione di toccare l’account.

Fuori dalla finestra configurata, oppure quando cambia il ramo GROUND/CREW, il sistema esegue un nuovo provisioning.


Offboarding in due fasi

L’offboarding separa il blocco reversibile dalla rimozione differita. Nessuna cancellazione avviene subito.

TERMINATIONHR event PHASE 1immediate reversible block PHASE 2live check + removal RECOVERYnative restore window GROUND Disable ADsnapshot OU + groupsremove memberships Move to excluded OUonly if still disabledAD object retained CREW Disable Entra IDgroups unchangedidempotent outcome DELETE via Graphonly if still disablednative recycle bin Rehire within configured window → reactivate · exclude later removal

Fase 1 — blocco dell’accesso

Alla cessazione, l’account viene disabilitato immediatamente. Per GROUND, gruppi e OU di origine vengono salvati in uno snapshot e le appartenenze ai gruppi vengono rimosse. Per CREW, l’account Entra ID viene disabilitato; un account già assente è trattato in modo idempotente.

Il risultato e gli eventuali errori vengono registrati per singola identità. Un errore non viene forzato e non blocca il resto del batch.

Fase 2 — rimozione controllata

Trascorso un periodo di osservazione dalla data di cessazione — e solo dopo una verifica dello stato live dell’account:

  • GROUND: se l’account è ancora disabilitato, viene spostato nella OU dedicata alle identità dismesse ed esclusa da Entra Connect. L’oggetto AD resta conservato, disabilitato, per finalità di audit;
  • CREW: Graph verifica che l’utente esista e sia ancora disabilitato prima del DELETE. Un account abilitato è un’anomalia e non viene toccato. L’eliminazione porta l’utente nel cestino nativo di Entra ID.

Finestra minima di recupero

La finestra minima di recupero copre l’intero periodo tra la disabilitazione e la rimozione definitiva, più il periodo di ripristino nativo garantito da Microsoft per le mailbox — offrendo una copertura complessiva pensata per gestire rientri e riassunzioni senza perdita di identità o dati.


Dashboard IT e ciclo di vita dei dispositivi

La dashboard è un’applicazione separata con SSO Entra ID, accesso limitato al gruppo degli operatori e identità dell’operatore registrata su ogni scrittura. Integra il processo identità, ma gestisce un dominio distinto: preparazione, consegna, firma e restituzione dei dispositivi.

Funzioni disponibili

  • KPI e coda degli ingressi con checklist per persona;
  • preparazione PC, reset password GROUND, TAP e invio credenziali monouso;
  • consegna, ritiro o operazione combinata per qualsiasi dipendente;
  • firma touch/mouse, PDF firmato, email e archiviazione SharePoint;
  • firme in sospeso, moduli firmati, dispositivi ritirati e PC spare.

Funzioni in sviluppo

  • condizioni del verbale adattate al tipo di operazione;
  • classificazione dei dispositivi non ancora presenti nel catalogo HR;
  • notifica di mancata restituzione;
  • guida operativa in-app con dati trattati, responsabilità e controlli.

Funzioni pianificate

  • riassegnazione rapida da ritirati e spare;
  • report periodico dei dispositivi da pulire;
  • pulizia tecnica assistita, wipe e rimozioni da Entra ID, Intune e AD con conferma umana.

La dashboard non esegue azioni distruttive silenziose: le evoluzioni che toccano direttamente dispositivi o directory prevedono conferma esplicita e tracciamento per passo.


Guardrail, osservabilità e audit

  • HR come fonte di verità: IT non crea né disattiva manualmente nel flusso ordinario.
  • Code a stati e idempotenza: ogni evento è riavviabile e non produce duplicati.
  • Verifica live: prima di ogni rimozione si controlla lo stato reale in AD o Entra ID.
  • Doppia soglia temporale: la rimozione definitiva avviene solo quando sia l’evento di cessazione sia la disabilitazione effettiva dell’account risultano sufficientemente consolidati nel tempo, evitando rimozioni premature in caso di rettifiche o rientri last-minute.
  • Esclusione dei rientri: una riattivazione blocca qualsiasi fase successiva di rimozione.
  • Errori isolati e retry: una singola anomalia non blocca il batch e resta disponibile alla revisione.
  • Separazione dei privilegi: identità tecniche e applicazioni distinte per directory, cloud e invio posta.
  • TEST_MODE e dry-run: tabelle di test, destinatari reindirizzati e operazioni distruttive simulate.
  • Evidenze: 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 individuare account ancora attivi o eventi mancanti, senza trasformare automaticamente un’anomalia in un’azione distruttiva.


Risultato operativo

Il valore non è un numero promozionale sul “tempo in secondi”, ma un controllo ripetibile:

  1. gli ingressi sono preparati prima della data di avvio;
  2. le cessazioni entrano in una coda governata e verificabile;
  3. i rientri conservano l’identità quando rispettano la finestra prevista;
  4. le rimozioni definitive sono differite, precedute da controlli live e recuperabili;
  5. identità, credenziali e asset producono evidenze distinte ma correlate.

È questa combinazione — fonte HR, stati espliciti, separazione GROUND/CREW, doppia fase e audit — a rendere il ciclo di vita affidabile e difendibile durante un audit.