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 l'accessoSSO, 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 dell'accessoSSO 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.
  • Assicurati che l'IdP esistente rimanga il sistema di riferimento 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. 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 di dati di autenticazione e autorizzazione tra un IdP SAML e fornitori di servizi SAML. Quando utilizzi il servizio SSO per Cloud Identity o Google Workspace, il tuo IdP esterno è l'IdP SAML e Google è il fornitore di servizi SAML.

Google implementa la associazione POST HTTP SAML 2.0. Questa associazione specifica in che modo le informazioni di autenticazione vengono scambiate tra il provider di identità SAML e il 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 il tuo indirizzo email.
  4. Inserisci il tuo indirizzo email e invia il modulo.
  5. Accedere con Google cerca l'account Cloud Identity o Google Workspace associato al tuo indirizzo email.
  6. Poiché nell'account Cloud Identity o Google Workspace associato è abilitato il Single Sign-On, Accedi con Google reindirizza il browser all'URL del provider di identità esterno configurato. Prima di emettere il reindirizzamento, aggiunge due parametri all'URL, RelayState e SAMLRequest.

    • RelayState contiene un identificatore che l'IdP esterno dovrebbe ritrasmettere in un secondo momento.
    • SAMLRequest contiene la richiesta di autenticazione SAML, un documento XML che è stato sgonfiato, con codifica base64 e URL. In forma decodificata, la richiesta di autenticazione SAML ha il seguente aspetto:

      <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 del tuo account Google Workspace o 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 MFA o un'impronta. Una volta completati questi passaggi, la comunicazione SAML continua:

    Scambio SAML tramite SSO.

  7. L'IDP esterno restituisce una pagina HTML appositamente creata che fa in modo che il browser invii 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. L'affermazione SAML è un documento XML che indica che l'IdP ha effettuato l'autenticazione dell'utente. In forma decodificata, l'affermazione SAML è simile alla seguente:

      <samlp:Response ...>
        ...
        <Assertion x...>
          <Issuer>https://idp.example.org/</Issuer>
          <Signature ...>
            ...
          </Signature>
          <Subject>
            <NameID Format="...:nameid-format:emailAddress">[email protected]</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 [email protected].

    L'affermazione 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 della configurazione di SSO in Cloud Identity o Google Workspace e viene condivisa 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. Se la firma è valida, l'endpoint ACS analizza i contenuti dell'affermazione, tra cui la verifica delle informazioni sul segmento di pubblico e la lettura dell'attributo NameID.

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

  11. In base alle informazioni codificate nel parametro RelayState, l'endpoint determina l'URL della risorsa a cui avevi originariamente intenzione di accedere e ti reindirizza alla console Google Cloud.

Accesso avviato dall'IdP

Il processo descritto nella sezione precedente viene a volte definito accesso avviato dal fornitore di servizi perché inizia dal fornitore di servizi, 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 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 multifattoriale quando utilizzi il Single Sign-On:

  1. Se il tuo provider di identità esterno supporta l'autenticazione a più fattori, puoi chiedere di eseguire l'autenticazione a più fattori nell'ambito della procedura di accesso basata su SAML. In questo caso, non è necessaria alcuna configurazione aggiuntiva in Cloud Identity o Google Workspace.
  2. Se il tuo IdP non supporta l'autenticazione multifattoriale, puoi configurare il tuo account Cloud Identity o Google Workspace in modo da eseguire la verifica in due passaggi immediatamente 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. Tutta la comunicazione viene invece inoltrata tramite il browser dell'utente, come mostrato nel seguente diagramma:

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

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 protocollo Single Sign-On utilizzando le seguenti funzionalità:

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

  • Profili SSO di organizzazioni classici: puoi creare un singolo profilo di organizzazione da integrare con un singolo IdP. Per ogni utente, gruppo o unità organizzativa nel tuo account Cloud Identity o Google Workspace, devi decidere se deve utilizzare o meno l'accessoSSO.

Il modo corretto per configurare l'IdP dipende dall'utilizzo di profili SAML o profili organizzativi classici. La seguente tabella 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 Indirizzo email principale di un utente 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 la funzionalità relativa all'emittente specifica per dominio è attiva:

google.com/a/DOMAIN

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

google.com

Utilizza la funzionalità di emittente specifica per il dominio se vuoi integrare più account Google Workspace o Cloud Identity con lo stesso fornitore di servizi di identità. In caso contrario, lascialo disattivato.

L'ID entità univoco del tuo profilo SAML.

In base alla 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 Accesso Google non vengono mai firmate
Firma delle asserzioni On On Le asserzioni SAML devono essere firmate per consentire a Accedi con Google di verificarne l'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 viene talvolta abbreviato come RS256

Passaggi successivi