Italiano
  • SAML
  • SSO
  • Provider di Identità

Semplificare l'integrazione delle app SAML per gli sviluppatori

Scopri cos'è SAML, come implementare SSO e i passaggi rapidi per integrare le app SAML come Provider di Identità (IdP) o Provider di Servizi (SP).

Ran
Ran
Product & Design

Smetti di sprecare settimane sull'autenticazione degli utenti
Lancia app sicure più velocemente con Logto. Integra l'autenticazione degli utenti in pochi minuti e concentrati sul tuo prodotto principale.
Inizia ora
Product screenshot

Single Sign-On (SSO) è fondamentale per le app moderne, e SAML consente un'autenticazione sicura e conviviale tra i sistemi di identità aziendale. Questa guida semplifica SAML per sviluppatori e designer con passaggi chiari ed esempi pratici per aiutarti a implementarlo in modo efficiente.

Cosa sono SAML SSO e le app SAML?

La Security Assertion Markup Language (SAML) è uno standard basato su XML utilizzato per scambiare dati di autenticazione e autorizzazione tra due attori chiave: il Provider di Identità (IdP) e il Provider di Servizi (SP). È una soluzione comune per il Single Sign-On (SSO) nelle organizzazioni, facilitando la vita degli utenti aziendali consentendo loro di accedere una volta e di utilizzare più applicazioni.

Il Provider di Identità (IdP) è responsabile della gestione e verifica delle credenziali degli utenti, come nomi utente e password. Quando un utente cerca di accedere a un servizio protetto, l'IdP conferma la sua identità e invia questa conferma al servizio.

  • Esempio: Immagina di lavorare per una grande azienda che utilizza Microsoft Azure AD per gestire gli account dei dipendenti. Quando vuoi accedere a Salesforce, Azure AD funge da IdP. Controlla le tue credenziali e informa Salesforce che sei autorizzato a utilizzarlo.

Il Provider di Servizi (SP) è l'applicazione o il servizio a cui gli utenti cercano effettivamente di accedere. Dipende dall'IdP per gestire il carico pesante dell'autenticazione.

  • Esempio: Continuando con il nostro scenario sopra, Salesforce è lo SP. Si affida a Microsoft Azure AD (l'IdP) per confermare la tua identità. Una volta che Azure AD si garantisce per te, Salesforce ti lascia entrare.

Quando si parla di una "app SAML", si fa generalmente riferimento allo SP.

Utilizzando il protocollo SAML, puoi impostare il tuo servizio come IdP per supportare le integrazioni delle applicazioni (come Azure Ad / Google Workspace); o come SP (come Salesforce / Slack) per supportare SSO per gli utenti.

Una Asserzione SAML è il cuore del protocollo SAML. È una "nota" digitale creata dall'IdP e inviata a uno SP che dice, "Ho confermato l'identità di questo utente." Successivamente, vedremo come funziona il processo sia per IdP che per SP.

Quando agisci come un Provider di Identità SAML

Quando il tuo servizio funziona come IdP, abiliti l'autenticazione SAML su più applicazioni. Questo consente agli utenti di accedere a vari servizi tramite un'unica identità aziendale.

as_saml_identity_provider_idp.png

Ecco un tipico flusso di lavoro SAML SSO per un IdP:

  1. L'utente cerca di accedere a un'applicazione (SP), come Salesforce.
  2. L'applicazione reindirizza l'utente al tuo IdP per l'autenticazione.
  3. L'utente inserisce le proprie credenziali nella pagina di accesso del tuo IdP.
  4. L'IdP controlla le credenziali.
  5. Se le credenziali sono verificate, l'IdP invia un'asserzione SAML allo SP.
  6. Lo SP elabora l'asserzione, ne conferma la validità e concede l'accesso all'utente.

Quando agisci come un Provider di Servizi SAML

Se il tuo servizio è lo SP, ti integrerai con vari provider di identità per offrire ai tuoi utenti la capacità SSO. Questo consente agli utenti aziendali di diverse organizzazioni o tenant di accedere la tua applicazione in modo sicuro ed efficiente.

as_saml_service_provider_sp.png

Ecco un flusso di lavoro per SSO avviato da SP:

  1. L'utente cerca di accedere alla tua applicazione.
  2. La tua applicazione genera una richiesta SAML e reindirizza l'utente alla pagina di accesso dell'IdP.
  3. L'utente accede all'IdP (o salta questo passaggio se è già connesso).
  4. L'IdP verifica l'identità dell'utente e, una volta confermata, impacchetta i dettagli dell'utente in un'asserzione SAML.
  5. L'IdP invia l'asserzione indietro alla tua applicazione.
  6. Il tuo servizio verifica l'asserzione. Se è valida, l'utente ottiene l'accesso alla tua applicazione.

Parametri chiave in SAML SSO

Per un'integrazione SAML SSO di successo, sia gli IdP che gli SP devono condividere parametri specifici. Ecco uno sguardo agli elementi essenziali:

Parametri dall'IdP

  1. IdP Entity ID: Un identificativo unico per l'IdP nelle comunicazioni SAML, come un'etichetta digitale.
  2. SSO URL: Il punto finale di accesso (URL) dove lo SP reindirizza gli utenti per l'autenticazione.
  3. Certificato X.509: Una chiave pubblica utilizzata per firmare l'asserzione SAML, garantendo che sia sicura. Questo è il "sigillo" che verifica l'autenticità.

Suggerimento: Se il tuo IdP offre un URL Metadati SAML, le cose si semplificano. Questo URL contiene tutte le informazioni necessarie (come certificati, URL SSO e IdP Entity ID) in un unico luogo. Minimizza il rischio di errori da copia incolla manuali ed elimina il fastidio di dover aggiornare manualmente i file certificato.

Parametri dallo SP

  1. SP Entity ID: L'identificativo unico dello SP, simile all'IdP Entity ID.
  2. Assertion Consumer Service (ACS) URL: Questo è il punto finale dello SP dove lo SP si aspetta di ricevere l'asserzione SAML dall'IdP.
  3. RelayState (Opzionale): Usato per passare dati durante il processo SAML, come l'URL che l'utente stava originariamente cercando di visitare.

Mapping degli attributi SAML e crittografia

  1. Formato NameID: Definisce il formato identificativo utente (es. indirizzo email o nome utente).
  2. Attributi SAML: Questi sono dettagli aggiuntivi dell'utente, come ruoli, email o dipartimento, che l'IdP invia allo SP.
    • Esempio: Se l'asserzione SAML firmata dall'IdP include email ([email protected]), ruolo (admin), e dipartimento (ingegneria). Lo SP può usare ruolo per assegnare privilegi admin o dipartimento per raggruppare l'utente nel team giusto. Così per ottenere questi dati essenziali dell'utente, sia l'IdP che lo SP devono decidere come mappare gli attributi. Ad esempio, l'IdP potrebbe definire "dipartimento" come team, mentre lo SP si aspetta che sia gruppo. Una corretta mappatura garantisce una comunicazione fluida.
  3. Asserzioni Crittografate (Opzionale): Per proteggere i dati di autenticazione sensibili, le asserzioni SAML possono essere crittografate.
    • Ruolo dell'IdP: Crittografa l'asserzione usando la chiave pubblica dello SP.
    • Ruolo dello SP: Decrittografa l'asserzione con la propria chiave privata per leggere i dettagli dell'utente.

A questo punto, dovresti avere le informazioni necessarie per impostare una connessione SAML. Per integrare Salesforce (Provider di Servizi) con Azure AD (Provider di Identità), segui questi passaggi:

  • Ottieni l'IdP Entity ID, l'SSO URL e il certificato da Azure AD e configurali in Salesforce.
  • Fornisci l'SP Entity ID e l'ACS URL di Salesforce ad Azure AD.

Logto rende l'integrazione SAML semplice

Logto può fungere sia da IdP che da SP per supportare SAML SSO per le tue applicazioni.

Utilizzare Logto come IdP SAML

Logto consente ad altre applicazioni di fare affidamento su di esso per l'autenticazione federata di identità e supporta l'autenticazione multi-fattore (MFA) per una sicurezza migliorata.

  1. Crea un'App Logto Vai a Logto Console > Applicazioni e crea una nuova app SAML.
  2. Configura i Parametri SAML Imposta l'app con l'Assertion Consumer Service URL e l'SP Entity ID del Provider di Servizi (SP).
  3. Fornisci l'URL dei metadati Logto fornisce un URL Metadati IdP che gli SP possono utilizzare per recuperare automaticamente i dettagli essenziali, come URL SSO e certificati.
  4. Configurazione Avanzata (Opzionale)
    • Puoi creare più nuovi certificati con impronte digitali e impostare date di scadenza, ma solo un certificato alla volta può essere attivo.
    • Modifica il formato Name ID per soddisfare le tue esigenze aziendali.
    • Abilita la crittografia delle asserzioni SAML copiando e incollando il certificato x509 dal tuo provider di servizi per crittografare le asserzioni.
  5. Mappa gli Attributi (Opzionale) Personalizza facilmente come gli attributi degli utenti sono condivisi con i Provider di Servizi (SP).

logto_saml_apps_saml_providers.png

Per una guida dettagliata, visita la documentazione ufficiale qui: App SAML

Utilizzare Logto come SP SAML

Logto si integra anche con qualsiasi IdP aziendale tramite protocolli SAML o OIDC. Che tu stia abilitando SSO avviato da SP per le tue pagine di accesso unificate o configurando SSO avviato da IdP, il processo è semplice.

  1. Crea un connettore aziendale Vai al Console Logto > Enterprise SSO e crea un nuovo Connettore Aziendale. Seleziona SAML come standard di protocollo.
  2. Configura i parametri SAML Fornisci l'URL dei metadati o il file XML dei metadati del tuo IdP. Se i metadati non sono disponibili, passa alla configurazione manuale inserendo l'IdP Entity ID, l'SSO URL e caricando il certificato di firma.
  3. Condividi l'ACS URL e l'SP Entity ID Fornisci l'ACS URL e l'SP Entity ID di Logto al tuo IdP per completare l'impostazione dell'integrazione.
  4. Mappa gli attributi (Opzionale) Configura le mappature dei dati utente, come email o nomi, per garantire che le informazioni vengano trasmesse correttamente tra l'IdP e Logto.
  5. Aggiungi domini email aziendali Nella scheda "SSO Experience" per il connettore aziendale, aggiungi uno o più domini email. Questo assicura che solo gli utenti con i domini specificati possano autenticarsi tramite SSO.
  6. Abilita SSO avviato da IdP (Opzionale) Abilita SSO avviato da IdP solo se richiesto dai tuoi clienti aziendali. Questa funzionalità consente agli utenti di accedere alle tue applicazioni direttamente dal dashboard IdP.

logto-enterprise-saml-sso.png

Per una guida dettagliata, visita la documentazione ufficiale qui: documentazione Enterprise SSO.

Considerazioni finali

SAML offre un metodo sicuro e standardizzato per SSO, rendendo l'autenticazione più fluida. Logto semplifica il processo sia che tu lo stia configurando come IdP o SP. Con la sua interfaccia intuitiva e il supporto per entrambe le versioni cloud e open-source, Logto elimina le complessità dell'integrazione SAML. Configurando solo pochi parametri, puoi connettere i tuoi servizi a qualsiasi IdP o SP SAML e concentrarti sulla creazione di esperienze straordinarie per i tuoi utenti.