Cos'è SAML e come funziona?
SAML (Secure Assertion Markup Language) è un tipo di standard SSO (Single Sign-On). Definisce un insieme di regole/protocolli che consentono agli utenti di accedere alle applicazioni web con un unico login. Ciò è possibile perché queste applicazioni (chiamate “fornitori di servizi”) si fidano di tutti i sistemi che verificano l’identità degli utenti (chiamati “fornitori di identità”).
SAML è uno degli standard dominanti nel mondo FIM (Federated Identity Management), che fornisce funzionalità SSO (Single Sign-On) sul Web. Altri standard includono OpenID, OAuth e JWT (token Web JSON). Ogni standard è stato creato ed è mantenuto da organizzazioni separate. SAML è stato creato da OASIS[1], ad esempio. Queste organizzazioni hanno idee diverse su come implementare al meglio il Single Sign-On, quali tecnologie e linguaggi utilizzare e così via. Nonostante le loro differenze tecniche, tutti questi standard condividono almeno due obiettivi comuni:
- Offri un’esperienza utente piacevole garantendo un accesso facile e veloce alle applicazioni con un unico accesso.
- Migliora la sicurezza eliminando la necessità per le applicazioni di archiviare copie delle credenziali utente nei propri database.
Entrambi questi obiettivi sono semplici e lodevoli per l’era del business e della tecnologia di oggi. Continua a leggere per scoprire come SAML raggiunge questi obiettivi e come può svolgere un ruolo nella strategia di gestione dell’identità federata della tua organizzazione.
Fornitori SAML
Per comprendere appieno come funziona SAML, inizieremo esplorando il concetto di provider SAML. Un provider SAML è un server coinvolto nell’autenticazione e nell’autorizzazione di un utente durante una richiesta SAML. Nello specifico, esistono due tipi di provider SAML: Service Provider (SP) e Identity Provider (IdP).
I fornitori di servizi sono i sistemi e le applicazioni a cui gli utenti accedono durante il giorno. Prima di SSO, ognuno di loro gestiva il proprio database di nomi utente e password. Più app utilizzava una persona, più aveva bisogno di ricordare e gestire nomi utente e password. Questo aumento del numero di credenziali per utente ha incoraggiato pratiche di gestione delle password indesiderate, come l’utilizzo della stessa password su più siti Web e servizi e persino la scrittura di password sui post-it.
Con l’avvento degli standard SSO come SAML, gli utenti non hanno più bisogno di ricordare molte password. Devono accedere al loro provider di identità solo una volta e quindi hanno accesso alle loro app preferite. L’autenticazione da quel momento in poi è automatica e trasparente per l’utente.
Un provider di identità è il sistema che esegue l’autenticazione dell’utente. Questa è la posizione centrale in cui le credenziali dell’utente vengono effettivamente archiviate e convalidate. Una volta che un utente accede al proprio provider di identità, ha accesso alle proprie app abilitate per SSO. Quando un utente apre un’applicazione, il provider di identità e il provider di servizi collaborano per autenticare e autorizzare l’utente e quindi concedergli l’accesso, se necessario.
La conversazione che si verifica tra l’identità e i fornitori di servizi avviene attraverso un messaggio chiamato asserzione. È un documento XML creato dal provider di identità e verificato dal provider di servizi. È costruito secondo gli standard SAML stabiliti nel 2005 quando lo standard SAML2 è stato finalizzato dal consorzio OASIS[2].
Affermazioni SAML
Un’asserzione SAML è il messaggio che il provider di identità invia al provider di servizi. È un documento XML che contiene tutti i dettagli rilevanti dell’utente finale. Ciò include il loro identificatore univoco, nome e qualsiasi attributo aggiuntivo che potrebbe essere richiesto dal fornitore di servizi. Questi attributi sono talvolta indicati come “reclami”. I due termini possono essere usati in modo intercambiabile.
Tutte le asserzioni vengono firmate con un certificato X.509 dal provider di identità. Il fornitore di servizi dispone di una copia dell’impronta digitale del certificato, che utilizza per verificare l’autenticità dell’asserzione. Ciò impedisce a malintenzionati, che non dispongono del certificato, di falsificare le asserzioni e ottenere accessi non autorizzati.
n consentito.
Esempio di autenticazione Saml
Seguiamo un dipendente immaginario, Bob Johnson, dal suo arrivo al lavoro al lancio della sua prima applicazione abilitata per SSO. Questo ci darà una buona idea di come SAML e SSO in generale funzionano quotidianamente.
Dopo aver bevuto la sua tazza di caffè mattutina, Bob si siede alla sua scrivania e accede al suo computer. Quindi apre il suo browser, la cui home page è stata impostata sul portale SSO della sua azienda. Questo portale funge da provider di identità di Bob. Sul portale, Bob presenta le numerose applicazioni di cui ha bisogno per svolgere il suo lavoro.
Dopo un’attenta considerazione, Bob sceglie di aprire Salesforce facendo clic sulla sua icona nel portale. È qui che inizia il processo di autenticazione SAML.
Innanzitutto, la richiesta di Bob viene instradata a Salesforce. Salesforce risponde richiedendo l’autenticazione al provider di identità. Il provider di identità crea quindi un’asserzione SAML che contiene le informazioni sull’utente di Bob, come l’indirizzo e-mail e il nome. Quindi lo firma con un certificato che ha in archivio e invia l’asserzione a Salesforce.
Una volta ricevuta l’asserzione SAML, Salesforce utilizza la sua copia dell’impronta digitale del certificato per verificare che l’asserzione sia valida. Se è valido e Bob ha un account attivo, accederà a Salesforce.
Il processo di autenticazione dell’identità di Bob con il provider di identità avviene in background in millisecondi. Tutte le esperienze di Bob sono la facilità di accesso alle sue app con un solo clic e la gioia di non dover ricordare molti nomi utente e password diversi.
Cosa può fare SAML per te?
SAML e qualsiasi altra tecnologia di identità federata servono a rendere la vita degli utenti più facile e sicura. Senza di essa, gli utenti sono costretti a mantenere credenziali diverse per ogni sito che utilizzano. Questa raccolta di credenziali è difficile da gestire e apre gli utenti e le loro organizzazioni a malintenzionati e furti di identità [3].
Introducendo una soluzione completa di single sign-on nella tua organizzazione, i suoi utenti finali avranno un accesso semplificato alle applicazioni di cui hanno bisogno ogni giorno. Ciò riduce i tempi di inattività causati da password dimenticate e account bloccati, il che si traduce direttamente in una maggiore produttività e un aumento del morale. Tutto ciò può contribuire a un effetto positivo sui profitti di un’azienda, rendendo l’investimento nelle tecnologie SSO un chiaro vincitore in termini di ROI.
[1] https://www.oasis-open.org/
[2] https://www.oasis-open.org/< wbr />standards#samlv2.0
[3] http://citeseerx.ist.psu.edu/