Tradotto con l'IA. Non ancora rivisto dalla comunità. Leggi in inglese

Blog · 26 settembre 2023 · Steve Simpson · Identità

Un'immersione nell'autenticazione SAML

Capire SAML nel single sign-on con Salesforce

Nell’ambito dell’autenticazione, SAML (Security Assertion Markup Language) ha un ruolo chiave nel garantire un accesso fluido tra le applicazioni. Approfondiamo SAML, capiamo la sua importanza nel single sign-on (SSO) ed esploriamo la sua implementazione con Salesforce.

Il contesto

Immagina uno scenario con due org Salesforce: un provider di identità (IDP) e un service provider. Il service provider ha i dati a cui vuoi accedere, ma invece di usare più credenziali vuoi farlo con un solo set di dati di accesso. L’idea sembra semplice, ma i meccanismi dietro le quinte possono essere complessi.

Diagramma: single sign-on da una org Salesforce a un'altra. Il browser viene inviato alla org del provider di identità con una richiesta SAML e torna alla org del service provider con un'asserzione SAML; ogni org ha il certificato dell'altra e gli utenti vengono abbinati tramite l'ID federazione

I termini chiave di SAML

Accesso dell’utente: quando un utente tenta di raggiungere una risorsa protetta del service provider prima di essersi autenticato.

Reindirizzamento: se l’utente non è autenticato, il service provider lo reindirizza al provider di identità con una richiesta SAML. Se serve, insieme può essere inviato un relay state (l’URL che l’utente voleva visitare all’inizio).

Autenticazione presso l’IDP: il provider di identità verifica l’identità dell’utente, di solito con nome utente, password o autenticazione a più fattori.

Asserzione SAML: dopo l’autenticazione, l’IDP invia un’asserzione SAML al service provider.

Fiducia del service provider: il service provider convalida l’asserzione SAML, ne estrae le informazioni sull’utente e concede l’accesso. Se prima era stato fornito un relay state, il service provider porta a quell’URL.

Sintesi di SAML: il flusso di base (accesso dell'utente, reindirizzamento, autenticazione, asserzione, ritorno, accesso concesso), i vantaggi e i termini chiave

I vantaggi del single sign-on

Accesso semplificato: agli utenti basta un solo set di credenziali per accedere a più servizi.

Sicurezza: SAML usa firme digitali per garantire l’integrità dei dati e impedire manomissioni.

Interoperabilità: essendo un protocollo standard, SAML può dialogare con vari IDP e service provider su tecnologie diverse.

Più a fondo: esaminare i flussi SAML

Richiesta SAML: inviata dal service provider all’IDP per chiedergli di autenticare un utente.

Esempio di richiesta SAML (AuthnRequest) dalla org del service provider alla org del provider di identità

Risposta SAML: un messaggio dell’IDP dopo l’autenticazione, che contiene i dettagli sull’utente.

Esempio di risposta SAML del provider di identità, con l'emittente e la firma digitale

Asserzioni: dichiarazioni dell’IDP sull’utente, con attributi come il nome utente o l’email.

Firme digitali: servono a verificare le asserzioni, garantendo che non siano state modificate illecitamente.

Relay state: un URL di deep link che garantisce che l’utente torni alla destinazione prevista dopo l’autenticazione.

Quando un utente avvia l’accesso, viene inviata una richiesta SAML all’IDP, che dopo la verifica restituisce un’asserzione SAML. Quando il service provider convalida questa asserzione, l’utente ottiene l’accesso desiderato.

Diagramma di sequenza: accesso SAML avviato dal service provider. L'utente chiede una pagina, viene reindirizzato al provider di identità per accedere, torna con un'asserzione SAML e il service provider la convalida e crea una sessione

Con strumenti come SAML Tracer per i browser si può visualizzare questo flusso. In questo modo il processo di autenticazione diventa trasparente, dalla richiesta iniziale fino al reindirizzamento finale.

Le misure di sicurezza nelle asserzioni SAML

Per contrastare le possibili minacce:

I timestamp impediscono gli attacchi di replay, facendo sì che l’asserzione SAML sia valida solo per una breve finestra.

Le firme digitali garantiscono che i dati non siano stati manomessi durante lo scambio.

Inoltre, le asserzioni possono contenere attributi dell’utente, come indirizzi email o tipi di utente, consentendo controlli di accesso più dettagliati lato service provider.

Conclusione

In sostanza, SAML è un protocollo basato su XML che contiene gli elementi chiave dell’autenticazione. Può sembrare magia, ma è il risultato di una tecnologia ben pensata per sventare attacchi come il “man-in-the-middle” o il replay.

La sua capacità di integrare più service provider con IDP basati su tecnologie diverse ne fa una pietra angolare dell’autenticazione digitale.

Resta sintonizzato

Inizia con fiducia il tuo percorso in Salesforce Identity! Per altri spunti e consigli, resta sintonizzato qui su www.SteveTechArc.com e sul canale YouTube @SteveTechArc (opens in a new tab). Iscriviti e approfondisci la tua comprensione di Salesforce Identity.

Contribuire a cambiare il mondo condividendo conoscenze sull’integrazione con altri architetti e con chi è in cammino per diventarlo!

Trascrizione realizzata con l’aiuto dell’IA

STA 3.6