Puoi configurare il tuo account Cloud Identity o Google Workspace per utilizzare il Single Sign-On (SSO). Quando attivi il servizio SSO, agli utenti non viene chiesto di inserire una password quando tentano di accedere ai servizi Google. Vengono invece reindirizzati a un provider di identità (IdP) esterno per l'autenticazione.
L'utilizzo del servizio SSO può offrire diversi vantaggi:
- Offri una migliore esperienza agli utenti perché possono utilizzare le credenziali esistenti per l'autenticazione e non devono inserirle così spesso.
- Ti assicuri che l'IdP esistente rimanga il sistema di registrazione per l'autenticazione degli utenti.
- Non devi sincronizzare le password con Cloud Identity o Google Workspace.
Per utilizzare il servizio SSO, un utente deve avere un account utente in Cloud Identity o Google Workspace e un' identità corrispondente nell'IdP esterno. Il servizio SSO è quindi di uso comune in combinazione con un' origine autorevole esterna che esegue automaticamente il provisioning degli utenti in Cloud Identity o Google Workspace.
Procedura di Single Sign-On
Cloud Identity e Google Workspace supportano SAML (Security Assertion Markup Language) 2.0 per il Single Sign-On. SAML è uno standard aperto per lo scambio di dati di autenticazione e autorizzazione tra un IdP SAML e i fornitori di servizi SAML. Quando utilizzi il servizio SSO per Cloud Identity o Google Workspace, l'IdP esterno è l'IdP SAML e Google è il fornitore di servizi SAML.
Google implementa il binding HTTP POST SAML 2.0. Questo binding specifica come vengono scambiate le informazioni di autenticazione tra l'IdP SAML e il fornitore di servizi SAML. Il seguente diagramma illustra un esempio di come funziona questa procedura quando utilizzi il servizio SSO per accedere alla Google Cloud console.
- Indirizza il browser alla Google Cloud console (o a qualsiasi altra risorsa Google che richieda l'autenticazione).
- Poiché non hai ancora eseguito l'autenticazione, la Google Cloud console reindirizza il browser ad Accedi con Google.
- Accedi con Google restituisce una pagina di accesso in cui ti viene chiesto di inserire il tuo indirizzo email.
- Inserisci il tuo indirizzo email e invia il modulo.
- Accedi con Google cerca l'account Cloud Identity o Google Workspace associato al tuo indirizzo email.
Poiché l'account Cloud Identity o Google Workspace associato ha il Single Sign-On attivato, Accedi con Google reindirizza il browser all'URL dell'IdP esterno configurato. Prima di emettere il reindirizzamento, aggiunge due parametri all'URL:
RelayStateeSAMLRequest.RelayStatecontiene un identificatore che l'IdP esterno dovrebbe restituire in un secondo momento.SAMLRequestcontiene la richiesta di autenticazione SAML, un documento XML che è stato decompresso, codificato in Base64 e codificato in URL. In formato decodificato, la richiesta di autenticazione SAML è simile alla seguente:<samlp:AuthnRequest ProviderName="google.com" IsPassive="false" AssertionConsumerServiceURL="https://www.google.com/a/example.com/acs" ...> <saml:Issuer xmlns:saml="...">google.com</saml:Issuer> <samlp:NameIDPolicy AllowCreate="true" Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified"/> </samlp:AuthnRequest>
Questa richiesta di esempio indica all'IdP esterno di autenticare l' utente, creare un'asserzione SAML per il pubblico
google.come pubblicarla nel servizio ACS (Assertion Consumer Service) all'https://www.google.com/a/example.com/acs.Il dominio incorporato nell'URL ACS (
example.com) corrisponde al dominio principale del tuo account Google Workspace o Cloud Identity.Se utilizzi la funzionalità di emittente specifica del dominio quando configuri l'SSO, l'emittente è
google.com/a/DOMAINanzichégoogle.com, doveDOMAINè il dominio principale del tuo account Cloud Identity o Google Workspace.I passaggi eseguiti dall'IdP esterno per eseguire l'autenticazione dipendono dall'IdP e dalla sua configurazione. Ad esempio, potrebbe visualizzare una finestra di dialogo di accesso o richiedere l'autenticazione a MFA o un'impronta digitale. Al termine di questi passaggi, lo scambio SAML continua:
L'IdP esterno restituisce una pagina HTML appositamente creata che fa sì che il browser invii immediatamente una richiesta HTTP POST all'URL ACS. Questa richiesta contiene due parametri:
RelayState, che contiene il valore originariamente passato all'IdP nella richiesta di autenticazione SAML.SAMLResponse, che contiene l'asserzione SAML codificata in Base64. L'asserzione SAML è un documento XML che indica che l'IdP ha autenticato correttamente l'utente. In formato decodificato, l'asserzione SAML è simile alla seguente:<samlp:Response ...> ... <Assertion x...> <Issuer>https://idp.example.org/</Issuer> <Signature ...> ... </Signature> <Subject> <NameID Format="...:nameid-format:emailAddress">bob@example.org</NameID> ... </Subject> <Conditions NotBefore="..." NotOnOrAfter="..."> <AudienceRestriction> <Audience>google.com</Audience> </AudienceRestriction> </Conditions> <AttributeStatement> ... </AttributeStatement> <AuthnStatement AuthnInstant="..." ...> <AuthnContext> <AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:Password</AuthnContextClassRef> </AuthnContext> </AuthnStatement> </Assertion> </samlp:Response>
Questa asserzione di esempio è stata emessa per il pubblico
google.com(corrispondente all'emittente della richiesta di autenticazione SAML) e indica che l'IdPhttps://idp.example.org/ha autenticato l'utentebob@example.org.L'asserzione SAML contiene anche una firma digitale. L'IdP crea questa firma utilizzando la chiave privata di un certificato di firma. La chiave privata è nota solo all'IdP. La chiave pubblica corrispondente fa parte della configurazione SSO in Cloud Identity o Google Workspace e viene condivisa con Accedi con Google.
L'asserzione SAML contiene anche una firma digitale che consente al fornitore di servizi SAML di verificarne l'autenticità.
Il browser pubblica l'asserzione SAML nell'endpoint ACS di Google.
L'endpoint ACS verifica la firma digitale dell'asserzione SAML. Questo controllo viene eseguito per assicurarsi che l'asserzione provenga dall'IdP esterno attendibile e non sia stata manomessa. Supponendo che la firma sia valida, l'endpoint ACS analizza i contenuti dell'asserzione, inclusa la verifica delle informazioni sul pubblico e la lettura dell'attributo
NameID.L'endpoint ACS cerca l'account utente abbinando l'attributo
NameIDdell'asserzione SAML all'indirizzo email principale dell'utente. L'endpoint avvia quindi una sessione.In base alle informazioni codificate nel parametro
RelayState, l' endpoint determina l'URL della risorsa a cui intendevi accedere originariamente e viene reindirizzato alla Google Cloud console.
Accesso avviato dall'IdP
La procedura descritta nella sezione precedente viene a volte definita accesso avviato dal fornitore di servizi perché la procedura inizia dal fornitore di servizi, che nell'esempio precedente è la Google Cloud console.
SAML definisce anche un flusso alternativo chiamato accesso avviato dall'IdP, che inizia dall'IdP. Google non supporta questo flusso, ma puoi ottenere risultati simili utilizzando il seguente URL per avviare un accesso avviato dal fornitore di servizi:
https://www.google.com/a/DOMAIN/ServiceLogin?continue=https://console.cloud.google.com/
In questo esempio, DOMAIN è il dominio principale del tuo account Cloud Identity o Google Workspace.
Autenticazione a più fattori
Per proteggere gli account utente da accessi non autorizzati, puoi richiedere agli utenti di fornire un secondo fattore durante l'autenticazione. Esistono due modi per implementare l'autenticazione a più fattori quando utilizzi il Single Sign-On:
- Se l'IdP esterno supporta l'autenticazione a più fattori, puoi farla eseguire come parte della procedura di accesso basata su SAML. In questo caso, non è necessaria alcuna configurazione aggiuntiva in Cloud Identity o Google Workspace.
- Se l'IdP non supporta l'autenticazione a più fattori, puoi configurare il tuo account Cloud Identity o Google Workspace per eseguire la verifica in due passaggi immediatamente dopo che un utente ha eseguito l'autenticazione con l'IdP esterno.
Networking
Nel binding HTTP Redirect SAML 2.0, l'IdP e il fornitore di servizi non comunicano direttamente. Tutte le comunicazioni vengono invece inoltrate tramite il browser dell'utente, come mostrato nel seguente diagramma:
Data questa architettura, non è necessario che l'IdP sia esposto su internet o che abbia accesso a internet, purché gli utenti possano accedervi dalla rete aziendale.
Configurazione dell'IdP esterno
Cloud Identity e Google Workspace ti consentono di configurare il Single Sign-On utilizzando le seguenti funzionalità:
Profili SAML: puoi creare un profilo SAML per ogni IdP che vuoi integrare. Per ogni utente, gruppo o unità organizzativa nel tuo account Cloud Identity o Google Workspace, decidi se deve utilizzare il servizio SSO e quale profilo SAML deve utilizzare.
Profilo SAML legacy (precedentemente denominato profilo SSO organizzativo): puoi utilizzare il profilo SAML legacy per l'integrazione con un singolo IdP. Per ogni utente, gruppo o unità organizzativa nel tuo account Cloud Identity o Google Workspace, decidi se deve utilizzare il servizio SSO.
Il modo corretto per configurare l'IdP dipende dal fatto che tu utilizzi i profili SAML o il profilo SAML legacy. La tabella seguente riassume le impostazioni che in genere devono essere configurate in un IdP esterno per garantire la compatibilità.
| Configurazione | Impostazione obbligatoria per il profilo SAML legacy |
Impostazione obbligatoria per i profili SAML |
Note |
|---|---|---|---|
| ID nome | Indirizzo email principale di un utente | Indirizzo email principale di un utente | |
| Formato ID nome | urn:oasis:names:tc:SAML:1.1: |
urn:oasis:names:tc:SAML:1.1: |
|
| ID entità |
Se la funzionalità di emittente specifica del dominio è attivata:
Se la funzionalità di emittente specifica del dominio è disattivata (impostazione predefinita):
Utilizza la funzionalità di emittente specifica del dominio se vuoi integrare più account Google Workspace o Cloud Identity con lo stesso IdP. In caso contrario, lasciala disattivata. |
ID entità univoco del tuo profilo SAML. A seconda della data di creazione del profilo SAML, l'ID entità utilizza uno dei seguenti formati:
|
|
| Pattern URL ACS (o URL di reindirizzamento) | https://www.google.com/a/* |
URL ACS univoco del tuo profilo SAML. A seconda della data di creazione del profilo SAML, l'URL utilizza uno dei seguenti formati:
|
|
| Firma della richiesta | Off | Off | Le richieste di autenticazione SAML emesse da Accedi con Google non vengono mai firmate |
| Firma dell'asserzione | On | On | Le asserzioni SAML devono essere firmate per consentire ad Accedi con Google di verificarne la
autenticità. Quando configuri il servizio SSO nella Console di amministrazione, devi caricare la chiave pubblica della coppia di chiavi di firma del token. |
| Crittografia delle asserzioni | Off | Off | |
| Algoritmo di firma | RSA-SHA256 | RSA-SHA256 | RSA-SHA256 è a volte abbreviato come RS256 |
Passaggi successivi
- Esamina le architetture di riferimento per l'integrazione con un IdP esterno.
- Scopri come configurare il provisioning degli account e il servizio SSO con Microsoft Entra ID o Active Directory.
- Leggi le nostre best practice per la federazione Google Cloud con un IdP esterno.
Collaboratori
Autore: Johannes Passing | Cloud Solutions Architect