Single Sign-On Keycloak

Last reviewed 2025-01-13 UTC

Questa guida mostra come configurare il servizio Single Sign-On (SSO) tra Keycloak e il tuo account Cloud Identity o Google Workspace utilizzando la federazione SAML. Il documento presuppone che tu abbia installato e stia utilizzando Keycloak.

  • Configura il server Keycloak in modo che possa essere utilizzato come provider di identità (IdP) da Cloud Identity o Google Workspace.
  • Configura il tuo account Cloud Identity o Google Workspace in modo che utilizzi Keycloak per l'accessoSSO.

Prima di iniziare

  1. Se non hai un account Cloud Identity, registrati.
  2. Assicurati che il tuo account Cloud Identity disponga dei privilegi di super amministratore.
  3. Se il server Keycloak viene utilizzato per gestire più di un realm, decidi quale realm vuoi utilizzare per la federazione.
  4. Assicurati di disporre dell'accesso amministrativo all'ambito selezionato.

Creare un profilo SAML

Per configurare il Single Sign-On con Keycloak, devi prima creare un profilo SAML nel tuo account Cloud Identity o Google Workspace. Il profilo SAML contiene le impostazioni relative al server Keycloak, tra cui l'URL e il certificato di firma.

Successivamente, assegna il profilo SAML a determinati gruppi o unità organizzative.

Per creare un nuovo profilo SAML nel tuo account Cloud Identity o Google Workspace:

  1. Nella Console di amministrazione, vai a Sicurezza > Autenticazione > SSO con IdP di terze parti.

    Passare al SSO con IdP di terze parti

  2. Fai clic su Profili SSO di terze parti > Aggiungi profilo SAML.

  3. Nella pagina Profilo SSO SAML, inserisci le seguenti impostazioni:

    In tutti gli URL, sostituisci quanto segue:

    • KEYCLOAK: il nome di dominio completo del tuo server Keycloak
    • REALM: il nome del realm selezionato

    Non caricare ancora un certificato di verifica.

  4. Fai clic su Salva.

    La pagina Profilo SSO SAML visualizzata contiene due URL:

    • ID entità
    • URL ACS

    Questi URL ti serviranno nella sezione successiva quando configuri Keycloak.

Configura Keycloak

Configura il server Keycloak creando un client.

Crea un client

Crea un nuovo client SAML in Keycloak:

  1. Accedi a Keycloak e apri la console di amministrazione.
  2. Seleziona il realm da utilizzare per la federazione.
  3. Nel menu, seleziona Client.
  4. Fai clic su Crea cliente.
  5. Configura le seguenti impostazioni per il client:

    • Tipo di client: SAML
    • ID cliente: URL entità del tuo profilo SSO.
    • Nome: Google Cloud
    • ID cliente: URL entità del tuo profilo SSO.
    • Protocollo client: saml
    • Client SAML Endpoint (Endpoint SAML client): lascia vuoto
  6. Fai clic su Salva.

  7. Specifica i dettagli del cliente configurando le seguenti impostazioni:

    Nella scheda Impostazioni:

    • URI di reindirizzamento validi: URL ACS del tuo profilo SSO
    • Formato ID nome: email
    • Forza formato ID nome: On
    • Firma i documenti: off
    • Firma asserzioni: on

    Nella scheda Chiavi:

    • Firma del cliente obbligatoria: off
    • Nome: un nome come Google Cloud
    • Firma asserzioni: on
    • Firma del cliente obbligatoria: off
    • Forza formato ID nome: On
    • Formato ID nome: email
    • URI di reindirizzamento validi: URL ACS del tuo profilo SSO

    Mantieni i valori predefiniti per tutte le altre impostazioni.

  8. Fai clic su Salva.

Esporta il certificato di firma

Dopo aver autenticato un utente, Keycloak passa un'affermazione SAML a Cloud Identity o Google Workspace. Per consentire a Cloud Identity e Google Workspace di verificare l'integrità e l'autenticità dell'affermazione, Keycloak la firma con una chiave speciale per la firma del token e fornisce un certificato che consente a Cloud Identity o Google Workspace di controllare la firma.

Ora esporta il certificato di firma da Keycloak:

  1. Nel menu, seleziona Impostazioni del realm.
  2. Seleziona la scheda Chiavi.
  3. Trova la riga Algorithm: RS256 (Algoritmo: RS256). Se sono presenti più righe, utilizza quella con Use: SIG. Poi seleziona Certificate (Certificato).

    Viene visualizzata una finestra di dialogo contenente un certificato con codifica Base64.

  4. Copia il valore del certificato con codifica base64 negli appunti.

Prima di poter utilizzare il certificato di firma, devi convertirlo in formato PEM aggiungendo un'intestazione e un piè di pagina.

  1. Apri un editor di testo come Blocco note o Vim.
  2. Incolla l'intestazione seguente, seguita da una nuova riga:

    -----BEGIN CERTIFICATE-----
    
  3. Incolla il certificato con codifica base64 dagli appunti.

  4. Aggiungi una nuova riga e incolla il seguente piè di pagina:

    -----END CERTIFICATE-----
    

    Dopo la modifica, il file sarà simile al seguente:

    -----BEGIN CERTIFICATE-----
    MIICmzCCAYMCBgF7v8/V1TANBgkq...
    -----END CERTIFICATE-----
    
  5. Salva il file in una posizione temporanea sul computer.

Completa il profilo SAML

Utilizza il certificato di firma per completare la configurazione del tuo profilo SAML:

  1. Torna alla Console di amministrazione e vai a Sicurezza > Autenticazione > SSO con IdP di terze parti.

    Passare al SSO con IdP di terze parti

  2. Apri il profilo SAML Keycloak che hai creato in precedenza.

  3. Fai clic sulla sezione Dettagli IdP per modificare le impostazioni.

  4. Fai clic su Carica certificato e scegli il certificato di firma del token che hai scaricato in precedenza.

  5. Fai clic su Salva.

Il tuo profilo SAML è completo, ma devi ancora assegnarlo.

Assegna il profilo SAML

Seleziona gli utenti a cui applicare il nuovo profilo SAML:

  1. Nella Console di amministrazione, nella pagina SSO con IdP di terze parti, fai clic su Gestisci assegnazioni di profili SSO > Gestisci.

    Vai a Gestisci assegnazione di profili SSO

  2. Nel riquadro a sinistra, seleziona il gruppo o l'unità organizzativa per cui vuoi applicare il profilo SSO. Per applicare il profilo a tutti gli utenti, seleziona l'unità organizzativa principale.

  3. Nel riquadro a destra, seleziona Un altro profilo SSO.

  4. Nel menu, seleziona il profilo SSO Keycloak - SAML creato in precedenza.

  5. Fai clic su Salva.

Ripeti i passaggi per assegnare il profilo SAML a un altro gruppo o a un'altra unità organizzativa.

Testare il Single Sign-On

Hai completato la configurazione di Single Sign-On. Ora puoi verificare se la funzionalità SSO funziona come previsto.

  1. Scegli un utente Keycloak che soddisfi i seguenti criteri:

    • L'utente ha un indirizzo email.
    • L'indirizzo email corrisponde all'indirizzo email principale di un utente esistente nel tuo account Cloud Identity o Google Workspace.
    • L'utente Cloud Identity non dispone dei privilegi di super amministratore.

      Gli account utente con privilegi di super amministratore devono sempre accedere utilizzando le credenziali Google, pertanto non sono adatti per testare l'accesso singolo.

  2. Apri una nuova finestra del browser e vai alla console Google Cloud.

  3. Nella pagina di accesso di Google, inserisci l'indirizzo email dell'account utente, quindi fai clic su Avanti.

    Pagina Accedi con Google.

    Viene visualizzato Keycloak.

  4. Inserisci le tue credenziali Keycloak e poi fai clic su Accedi.

    Dopo l'autenticazione, Keycloak ti reindirizza nuovamente alla console Google Cloud. Poiché si tratta del primo accesso per questo utente, ti viene chiesto di accettare i Termini di servizio e le Norme sulla privacy di Google.

  5. Se accetti i termini, fai clic su Accetta.

  6. Verrà visualizzata la console Google Cloud, che ti chiede di confermare le preferenze e di accettare i Google Cloud Termini di servizio. Se accetti i termini, fai clic su e poi su Accetta e continua.

  7. Fai clic sull'icona dell'avatar, quindi su Esci.

    Viene visualizzato Keycloak.

Se hai difficoltà ad accedere, tieni presente che gli account utente con privilegi di super amministratore possono bypassare l'SSO, quindi puoi comunque utilizzare la Console di amministrazione per verificare o modificare le impostazioni.

(Facoltativo) Configura i reindirizzamenti per gli URL di servizio specifici del dominio

Quando esegui il collegamento alla console Google Cloud da portali o documenti interni, puoi migliorare l'esperienza utente utilizzando gli URL di servizio specifici del dominio.

A differenza dei normali URL di servizio come https://console.cloud.google.com/, gli URL di servizio specifici del dominio includono il nome del tuo dominio principale. Gli utenti non autenticati che fanno clic su un link a un URL di servizio specifico del dominio vengono reindirizzati immediatamente a Keycloak anziché visualizzare prima una pagina di accesso a Google.

Ecco alcuni esempi di URL di servizio specifici del dominio:

Servizio Google URL Logo
Console Google Cloud https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://console.cloud.google.com Logo Google Cloud
Documenti Google https://docs.google.com/a/DOMAIN Logo di Documenti Google
Fogli Google https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://sheets.google.com Logo di Fogli Google
Google Sites https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://slides.google.com Logo di Google Sites
Google Drive https://drive.google.com/a/DOMAIN Logo di Google Drive
Gmail https://mail.google.com/a/DOMAIN Logo di Gmail
Google Gruppi https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://groups.google.com Logo di Google Gruppi
Google Keep https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://keep.google.com Logo di Google Keep
Looker Studio https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://lookerstudio.google.com Logo di Looker Studio
YouTube https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://www.youtube.com/ Logo YouTube

Per configurare gli URL di servizio specifici del dominio in modo che reindirizzino a Keycloak, svolgi i seguenti passaggi:

  1. Nella Console di amministrazione, nella pagina SSO con IdP di terze parti, fai clic su URL di servizio specifici del dominio > Modifica.

    Vai agli URL di servizio specifici del dominio

  2. Imposta Reindirizza automaticamente gli utenti all'IdP di terze parti nel profilo SSO seguente su Attivato.

  3. Imposta Profilo SSO su Keycloak.

  4. Fai clic su Salva.

(Facoltativo) Configura le verifiche dell'accesso

L'accesso con Google potrebbe richiedere agli utenti un'ulteriore verifica quando accedono da dispositivi sconosciuti o quando il loro tentativo di accesso sembra sospetto per altri motivi. Queste verifiche dell'accesso contribuiscono a migliorare la sicurezza e ti consigliamo di lasciarle abilitate.

Se ritieni che le verifiche dell'accesso causino troppe difficoltà, puoi disattivarle:

  1. Nella Console di amministrazione, vai a Sicurezza > Autenticazione > Verifiche dell'accesso.
  2. Nel riquadro a sinistra, seleziona un'unità organizzativa per cui vuoi disattivare le verifiche dell'accesso. Per disattivare le verifiche dell'accesso per tutti gli utenti, seleziona l'unità organizzativa principale.
  3. In Impostazioni per gli utenti che eseguono l'accesso con altri profili SSO, seleziona Non chiedere agli utenti ulteriori verifiche da parte di Google.
  4. Fai clic su Salva.

Passaggi successivi