Single Sign-On

Last reviewed 2024-09-05 UTC

Puoi configurare il tuo account Cloud Identity o Google Workspace in modo da utilizzare il servizio Single Sign-On (SSO). Quando attivi SSO, agli utenti non viene richiesto di inserire un quando tentano di accedere ai servizi Google. Vengono invece reindirizzati a un provider di identità (IdP) esterno per l'autenticazione.

L'uso del servizio SSO può offrire diversi vantaggi:

  • Offri un'esperienza migliore agli utenti perché possono utilizzare le loro credenziali esistenti per l'autenticazione e non devono inserire le credenziali così spesso.
  • Ti assicuri che l'IdP esistente rimanga il sistema di registrazione per con l'autenticazione degli utenti.
  • Non è necessario sincronizzare le password su Cloud Identity o Google Workspace.

Per utilizzare SSO, un utente deve disporre di un account utente in Cloud Identity o Google Workspace e di un identità corrispondente nell'IdP esterno. Pertanto, il protocollo SSO viene comunemente utilizzato in combinazione con una fonte autorevole esterna che esegue automaticamente il provisioning degli utenti in Cloud Identity o Google Workspace.

Procedura Single Sign-On

Cloud Identity e Google Workspace supportano Security Assertion Markup Language (SAML) 2.0 per il Single Sign-On. SAML è uno standard aperto per lo scambio Dati di autenticazione e autorizzazione tra un IdP SAML e un servizio SAML di Google Cloud. Quando utilizzi l'accesso SSO per Cloud Identity o Google Workspace, il tuo IdP esterno è l'IdP SAML e Google è il fornitore di servizi SAML.

Google implementa Associazione POST HTTP 2.0 di SAML. Questa associazione specifica il modo in cui le informazioni di autenticazione vengono scambiate tra IdP SAML e fornitore di servizi SAML. Il seguente diagramma mostra un esempio di funzionamento di questo processo quando utilizzi l'accessoSSO per accedere alla console Google Cloud.

Utilizzo dell'accessoSSO per accedere alla console Google Cloud.

  1. Indirizzi il browser alla console Google Cloud (o a qualsiasi altra risorsa Google che richiede l'autenticazione).
  2. Poiché non hai ancora eseguito l'autenticazione, la console Google Cloud reindirizza il browser ad Accedi con Google.
  3. Accedi con Google restituisce una pagina di accesso in cui ti viene chiesto di inserire l'indirizzo email .
  4. Inserisci il tuo indirizzo email e invia il modulo.
  5. Accedi con Google cerca Cloud Identity o Google Workspace associato al tuo indirizzo email.
  6. Poiché gli elementi Cloud Identity o Google Workspace associati con Single Sign-On attivato, Accedi con Google reindirizza il browser a l'URL dell'IdP esterno configurato. Prima di emettere il reindirizzamento, aggiunge due parametri all'URL, RelayState e SAMLRequest.

    • RelayState contiene un identificatore previsto dall'IdP esterno da ripercorrere in seguito.
    • SAMLRequest contiene la richiesta di autenticazione SAML, un documento XML che è stato sgonfiato, codificato in base64 e codificato in URL. In forma decodificata, il metodo 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 segmento di pubblico google.com e pubblicarla nel servizio Assertion Consumer Service (ACS) all'indirizzo https://www.google.com/a/example.com/acs.

    Il dominio incorporato nell'URL ACS (example.com) corrisponde al dominio principale di Google Workspace oppure Account Cloud Identity.

    Se utilizzi la funzionalità di emittente specifico per il dominio durante la configurazione del servizio SSO, l'google.com/a/DOMAIN è google.com/a/DOMAIN anziché google.com, dove DOMAIN è 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 relativa configurazione. Ad esempio, potrebbe essere visualizzata una finestra di dialogo di accesso o potrebbe essere richiesta l'autenticazione a due fattori o un'impronta. Quando questi passaggi completato correttamente, lo scambio SAML continua:

    piattaforma SAML mediante SSO.

  7. L'IdP esterno restituisce una pagina HTML creata appositamente browser per inviare immediatamente una richiesta POST HTTP 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'affermazione SAML codificata in base64. La L'asserzione SAML è un documento XML che indica che l'IdP ha ha autenticato l'utente correttamente. In forma decodificata, l'affermazione SAML assomiglia al 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 segmento di pubblico google.com (corrispondente all'emittente della richiesta di autenticazione SAML) e indica che l'IdP https://idp.example.org/ ha autenticato l'utente bob@example.org.

    L'asserzione SAML contiene anche una firma digitale. L'SP 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 del configurazione SSO in Cloud Identity o Google Workspace e condiviso con Accedi con Google.

    L'affermazione SAML contiene anche una firma digitale che consente al fornitore di servizi SAML di verificare l'autenticità dell'affermazione.

  8. Il browser pubblica l'asserzione SAML nell'endpoint ACS di Google.

  9. L'endpoint ACS verifica la firma digitale dell'asserzione SAML. Questo controllo viene eseguito per garantire che l'affermazione provenga dall'IdP esterno attendibile e non sia stata manomessa. Supponendo che la firma sia valida, l'endpoint ACS analizza quindi il contenuto dell'asserzione, inclusa la verifica delle informazioni sul pubblico e la lettura dei Attributo NameID.

  10. L'endpoint ACS cerca il tuo account utente associando il NameID della dichiarazione SAML all'indirizzo email principale dell'utente. La quindi avvia una sessione.

  11. In base alle informazioni codificate nel parametro RelayState, il valore determina l'URL della risorsa che intendevi inizialmente per accedere e il sistema ti reindirizzerà alla console Google Cloud.

Accesso avviato dall'IdP

La procedura descritta nella sezione precedente è a volte indicata come accesso avviato dal fornitore di servizi perché la procedura inizia dal servizio che nell'esempio precedente è la console Google Cloud.

SAML definisce anche un flusso alternativo chiamato accesso avviato dall'IdP, che inizia dall'IdP. Google non supporta questa procedura, ma puoi ottenere risultati simili utilizzando il seguente URL per avviare un servizio accesso avviato dal provider:

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 con il Single Sign-On:

  1. Se l'IdP esterno supporta l'autenticazione a più fattori, puoi: esegue l'autenticazione a più fattori nell'ambito del modello di accesso. Non è richiesta alcuna configurazione aggiuntiva in Cloud Identity o Google Workspace in questo caso.
  2. Se il tuo IdP non supporta l'autenticazione a più fattori, puoi configurare il tuo account Cloud Identity o Google Workspace eseguire la verifica in due passaggi subito dopo che un utente ha eseguito l'autenticazione con l'IdP esterno.

Networking

Nel vincolo di reindirizzamento HTTP SAML 2.0, l'IdP e il fornitore di servizi non comunicano direttamente. Tutte le comunicazioni vengono invece trasmesse tramite come mostrato nel diagramma seguente:

La comunicazione viene inoltrata tramite il browser dell&#39;utente.

Data questa architettura, non è necessario che l'IdP sia esposto o persino avere accesso a internet, purché gli utenti possano accedere dalla rete aziendale.

Configurazione dell'IdP esterno

Cloud Identity e Google Workspace ti consentono di configurare il protocollo Single Sign-On utilizzando le seguenti funzionalità:

  • Profili SAML: puoi creare un profilo SAML per ciascun IdP che vuoi con cui eseguire l'integrazione. Per ogni utente, gruppo o unità organizzativa nel tuo account Cloud Identity o Google Workspace, devi decidere se deve utilizzare l'accesso SSO e quale profilo SAML deve utilizzare.

  • Profili SSO organizzativi classici: puoi creare una singola organizzazione per l'integrazione con un singolo IdP. Per ogni utente, gruppo o organizzazione nell'account Cloud Identity o Google Workspace, decideranno se devono utilizzare l'accesso SSO o meno.

Il modo corretto per configurare l'IdP dipende dall'utilizzo di profili SAML o profili organizzativi classici. La tabella seguente riassume le impostazioni che in genere devono essere configurate in un IdP esterno per contribuire a garantire la compatibilità.

Configurazione Impostazione obbligatoria per
i profili organizzativi classici
Impostazione obbligatoria per i
profili SAML
Note
ID nome L'indirizzo email principale di un utente L'indirizzo email principale di un utente
Formato ID nome urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
ID entità

Se è abilitata la funzionalità dell'emittente specifica per il dominio:

google.com/a/DOMAIN

Se la funzionalità di emittente specifico per il dominio è disattivata (impostazione predefinita):

google.com

Utilizza la funzionalità emittente specifica per il dominio se vuoi integrare più risorse Google Workspace o Cloud Identity con lo stesso o provider di identità. 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:

https://accounts.google.com/samlrp/metadata?rpid=ID

https://accounts.google.com/samlrp/ID

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:

https://accounts.google.com/samlrp/acs?rpid=ID

https://accounts.google.com/samlrp/ID/acs

Richiedi firma 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 la verifica tramite Accedi con Google autenticità.

Quando configuri l'accessoSSO 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 viene abbreviato come RS256

Passaggi successivi