Skip to main content
  1. Concetti/

Account Lifecycle - Provisioning, Modification, Deprovisioning

·6 mins
Alessio Barnini
Author
Alessio Barnini
Table of Contents

Mappa Globale
#

Cosa fa
#

L'account lifecycle gestisce l'intero ciclo di vita di un account utente, dall'onboarding (provisioning) ai cambi di ruolo (modification) fino alla terminazione del rapporto (deprovisioning). Il punto critico non e' la creazione - e' la revoca immediata e completa alla fine del rapporto.

TL;DR
#

Un account nasce quando un dipendente inizia, viene modificato a ogni cambio di ruolo, e deve morire il giorno stesso in cui il rapporto finisce. Il problema piu' comune: account che sopravvivono alla fine del rapporto. Questi "account orfani" sono uno dei vettori di attacco piu' sfruttati.


Provisioning
#

Il provisioning e' la creazione dell'account con tutti gli accessi necessari per svolgere il proprio ruolo. Il principio guida e' il least privilege: accesso minimo necessario, niente di piu'.

In ambienti enterprise il flusso tipico parte dall'HR system e non da una richiesta IT manuale:

flowchart LR
  HR[HR System
  Contratto firmato
  Start date, ruolo]
  IDP[Identity Provider
  Okta, Azure AD
  Account creato]
  AD[Active Directory
  LDAP, OU assegnata
  Gruppi assegnati]
  APP[Applicazioni
  Email, Slack, GitHub
  VPN, SaaS tools]

  HR --> IDP --> AD --> APP

Privilege creep e' il rischio principale durante il provisioning di chi cambia ruolo frequentemente: ogni ruolo aggiunge permessi, ma raramente li toglie. Col tempo, un dipendente accumula accessi ben oltre il necessario.

Warning

Non delegare mai il provisioning alla persona stessa. Un utente non deve mai configurare i propri permessi. Il provisioning deve passare per un flusso approvato HR → IT.

Dev parallel: Come gestire i permessi di un'API key in un sistema SaaS multi-tenant: crei la chiave con scope minimi (read-only su un endpoint specifico), non con accesso admin globale "perche' fa prima". Il least privilege si applica sia agli account umani sia alle API key di servizio.


Modification
#

La modification aggiorna i permessi quando cambia il ruolo del dipendente: promozione, cambio reparto, trasferimento.

EventoAzione richiestaRischio se non fatto
Promozione a managerAggiungere accessi manageriali, rimuovere accessi operativi precedentiAccumulo inutile di permessi
Trasferimento repartoRimuovere accessi vecchio reparto, aggiungere nuoviCross-department data access non autorizzato
Cambio progettoRevocare accessi repository/sistemi precedentiEx-contributor mantiene accesso al codice
Contractor → DipendenteAggiornare tipo account, applicare policy dipendentiAccount contractor con policy piu' deboli

Deprovisioning
#

Il deprovisioning e' la fase piu' critica per la sicurezza. Quando un dipendente lascia, ogni ora di ritardo nella revoca e' un'ora in cui un account con credenziali potenzialmente compromesse rimane attivo.

Sequenza corretta:

  1. Disabilitare l'account (non cancellare - serve per forensics e audit log)
  2. Revocare tutti i token OAuth e sessioni attive
  3. Revocare certificati digitali e smart card
  4. Rimuovere dai gruppi di sicurezza e distribution list
  5. Trasferire la proprieta' dei file e dati
  6. Cancellare l'account dopo il periodo di retention richiesto
Warning

Il deprovisioning deve avvenire lo stesso giorno della terminazione, idealmente nello stesso momento. Non "quando l'IT ha tempo". Un ex-dipendente malintenzionato puo' esportare dati, installare backdoor o sabotare sistemi nelle ore di ritardo.


Account Orfani
#

Gli account orfani (orphaned accounts) sono account attivi di persone che non hanno piu' un rapporto con l'organizzazione. Sono il fallimento del deprovisioning.

TipoCausa tipicaRischio
Ex-dipendenteHR non ha notificato IT in tempoAccesso non autorizzato con credenziali note
Ex-contractorFine contratto non tracciato nel sistemaAccesso prolungato a sistemi cliente
Account condivisoPersona che lo gestiva ha lasciatoNessuno sa le credenziali, nessuno puo' disabilitarlo
Account di testDev environment non pulitoAccesso a produzione via account "temporaneo"

L'account review / recertification e' il processo periodico (trimestrale o semestrale) in cui ogni manager rivede e approva esplicitamente gli accessi dei propri riporti. Se un manager non approva un accesso entro la scadenza, viene revocato automaticamente.


Service Accounts
#

I service account sono account usati da applicazioni, script e servizi automatici, non da persone. Seguono un lifecycle separato e sono spesso i piu' trascurati.

Rischi specifici:

  • Non hanno un "owner" chiaramente assegnato - quando il progetto finisce, nessuno li disabilita
  • Spesso configurati con password che non scadono mai (no expiry) per non interrompere il servizio
  • A volte hanno permessi molto ampi per comodita' di configurazione iniziale
  • Non soggetti a MFA per design (sono automatici)

Dev parallel: Come le API key nei repository: quante volte hai trovato un .env.example con una chiave AWS commentata ma mai ruotata? I service account sono la versione enterprise di quella chiave dimenticata in config.php. La differenza: la chiave dimenticata spesso ha permessi S3 FullAccess su tutto l'account.


Just-in-Time Provisioning
#

Il Just-in-Time (JIT) provisioning crea l'account automaticamente al primo accesso tramite SSO, senza intervento manuale IT. E' la forma piu' avanzata di provisioning automatizzato.

Funziona tramite il protocollo SCIM (System for Cross-domain Identity Management):

sequenceDiagram
  participant U as Utente (nuovo dipendente)
  participant SSO as Identity Provider (Okta)
  participant APP as Applicazione SaaS

  U->>SSO: Accede con le credenziali aziendali
  SSO->>APP: SAML/OIDC assertion + attributi utente
  APP->>APP: Utente esiste? No
  APP->>APP: Crea account con ruolo da attributi SAML
  APP-->>U: Accesso concesso
  Note over APP: Account creato JIT - senza intervento IT

Il vantaggio: ogni nuova applicazione aggiunta all'SSO provvede automaticamente gli utenti al primo accesso, senza ticket IT. Lo svantaggio: se il deprovisioning non e' automatizzato con lo stesso sistema, si crea facilmente un orphaned account.


Account Review e Recertification
#

La recertification e' l'audit periodico in cui ogni manager deve certificare che i propri riporti abbiano ancora bisogno degli accessi assegnati.

FrequenzaApplicata a
TrimestraleAccount privilegiati, admin, service account
SemestraleAccount standard dipendenti
A ogni cambio ruoloAutomatic trigger da HR system
AnnualeContractor e account temporanei

Il processo: il sistema IAM invia una notifica al manager con lista di accessi dei riporti. Il manager approva o revoca. Se non risponde entro la deadline, gli accessi vengono revocati per default (fail-safe).


Scenario Reale
#

Un analista SOC nota accessi non autorizzati a sistemi interni alle 3 di notte. L'account appartiene a un ex-dipendente licenziato tre settimane prima. L'IT aveva chiuso il ticket di deprovisioning, ma aveva disabilitato l'account AD senza revocare il token OAuth della VPN aziendale - il token era valido per 30 giorni. L'ex-dipendente ha usato il token VPN ancora attivo per accedere alla rete. Fix: aggiungere la revoca esplicita di tutti i token OAuth al runbook di deprovisioning, non solo la disabilitazione AD.


Collegato a
#

Related