Unified User Management e Single Sign-On
Durante i miei “pellegrinaggi” tra i clienti e anche tra i miei stessi colleghi ho scoperto che c’è un po’ di confusione sul significato del termine Single Sign-On. Molto spesso pensano che questo termine indichi il fatto di poter immettere sempre le stesse username e password, ma in realtà il termine esatto per descrivere questo concetto è Unified User Management.
Unified User Management
L’Unified User Management è in realtà un data-store unico contenente la base utenti; in pratica si tratta di un singolo punto dove gli utenti e le loro caratteristiche (indirizzo e-mail, numero di telefono, home directory, ecc.) vengono caricati (user provisioning) e gestiti. Per utenti si intende sia gli utenti “umani” che quelli digitali, ad esempio un’applicazione che deve autenticarsi verso un’altra applicazione. Tipicamente il repository viene collocato su un database capace di interfacciarsi attraverso il Lightweight Directory Access Protocol (LDAP); si tratta fondamentalmente di un database fortemente specializzato per dati che vengono modificati piuttosto raramente e ottimizzato per la loro lettura e ricerca: vedremo in seguito cosa è e come funziona in dettaglio un LDAP server.
Teoricamente un Unified User Management può essere realizzato mettendo la base utenti e le relative caratteristiche in un database più tradizionale come Oracle, DB2 o MySQL, ma si è dimostrato che l’uso di database specializzati aumenta la scalabilità in un ambiente distribuito e con un alto numero di utenti (tipicamente oltre i 2/3 milioni). Inoltre LDAP è un protocollo standard definito nell’RFC 3673 e universalmente riconosciuto per l’interrogazione delle base dati di utenti: molte applicazioni supportano LDAP, mentre supportare differenti database potrebbe essere più oneroso (compatibilità SQL, API differenti, ecc.).
Tutte le applicazioni, sia quelle Web sia le più tradizionali applicazioni di logon, possono appoggiarsi quindi al repository LDAP per verificare le credenziali dell’utente, ma quest’ultimo solitamente è “costretto” ad inserire usename e password ad ogni accesso (login) dell’applicazione.
Single Sign-On
Il Single Sign-On è differente, o meglio, è qualcosa in più dello Unified User Management, in quanto ne presuppone l’esistenza. Il Single Sign-On è la possibilità per un utente di autenticarsi (più banalmente di inserire username e password) una sola volta sul sistema e di essere successivamente autenticato automaticamente ogni volta che tenta di accedere ad una risorsa di rete. Per risorsa di rete si intende un qualsiasi servizio erogato su qualsiasi sistema operativo, ad esempio l’accesso interattivo telnet/ssh, la condivisione di file e stampanti o l’accesso ad un’applicazione Web. Come si vede, in realtà si tratta di un processo molto più complesso dello Unified User Management nel quale il concetto di single assume un’importanza fondamentale.
I benefici sono molteplici, ad esempio si esemplifica l’amministrazione, in quanto l’utente viene inserito una volta sola e modificato in un singolo punto con una singola interfaccia di ammininistrazione, e conseguentemente si dà luogo ad un consolidamento di reti e sistemi eterogenei, in quanto operante cross-platform.
Avendo un singolo punto di accesso e un repository unico si ha conseguentemente un maggior controllo, evitando di lasciare utenze non più usate nelle applicazioni (ad esempio per un dipendente che ha lasciato l’azienda). Si ha anche una maggior produttività dell’utente che non è più costretto a collegarsi a diverse applicazioni o ricordarsi per ogni sito Web o risorsa di rete una diversa coppia username-password, con un conseguente minor numero di chiamate all’helpdesk interno per problemi di login o reset di password.
Da ciò potrebbe derivare una migliore sicurezza, in quanto l’utente sarà meno invogliato a scriversi le password su un foglietto (ne deve ricordare solo una).