Impostazioni amministratore - Autenticazione OpenID Connect

Le aziende utilizzano provider (OP) OpenID Connect diversi per coordinarsi con OpenID Connect (ad esempio, Okta o OneLogin). I termini utilizzati nelle seguenti istruzioni di configurazione e nella UI di Looker potrebbero non corrispondere direttamente a quelli utilizzati dal tuo OP.

La pagina OpenID Connect nella sezione Autenticazione del menu Amministratore ti consente di configurare Looker per l'autenticazione degli utenti utilizzando il protocollo OpenID Connect. Questa pagina descrive tale processo e include istruzioni per collegare i gruppi OpenID Connect a ruoli e autorizzazioni di Looker.

Considerazioni sulla pianificazione

  • Prendi in considerazione l'utilizzo dell'opzione Accesso alternativo per gli utenti specificati per consentire agli amministratori di Looker di accedere a Looker senza OpenID Connect.
  • Non disabilitare l'autenticazione OpenID Connect dopo aver eseguito l'accesso a Looker tramite OpenID Connect, a meno che tu non abbia configurato un accesso all'account alternativo. In caso contrario, potresti non riuscire più ad accedere all'app.
  • Looker può eseguire la migrazione degli account esistenti a OpenID Connect utilizzando indirizzi email provenienti dalle attuali configurazioni di email e password, da LDAP, SAML o Google Auth. Potrai configurarla durante il processo di configurazione.
  • Looker supporta solo l'autenticazione OpenID Connect mediante il flusso del codice di autorizzazione di OpenID Connect. Non sono supportati altri flussi di codice.
  • La specifica OpenID Connect include un meccanismo di rilevamento facoltativo. Looker non supporta questo meccanismo, quindi devi fornire URL espliciti nella sezione Impostazioni di autenticazione OpenID Connect, come descritto in Configurazione delle impostazioni di autenticazione di OpenID Connect.

Configurazione di OpenID Connect

Per configurare la connessione tra Looker e OpenID Connect, esegui queste attività:

  1. Fornisci l'URL di Looker al tuo provider OpenID Connect (OP).
  2. Ottieni le informazioni richieste dal tuo OP.

Configurazione di Looker sul tuo OP

Il tuo provider OpenID Connect (OP) avrà bisogno dell'URL della tua istanza di Looker. Il tuo OP potrebbe chiamarlo URL di reindirizzamento o URI di reindirizzamento dell'accesso, tra gli altri nomi. Sul sito web del tuo OP, fornisci al OP l'URL da cui solitamente accedi all'istanza di Looker in un browser, seguito da /openidconnect. Ad esempio: https://instance_name.looker.com/openidconnect.

Recupero di informazioni dal tuo OP

Per configurare Looker per l'autenticazione OpenID Connect, dall'OP sono necessarie le seguenti informazioni:

  • Un identificatore client e un client secret. Questi vengono generalmente forniti dall'OP sul proprio sito web al momento della configurazione dell'URI di reindirizzamento.
  • Durante il processo di autenticazione OpenID Connect, Looker si connetterà a tre diversi endpoint: un endpoint di autenticazione, un endpoint del token ID e di un endpoint Informazioni utente. Avrai bisogno degli URL usati dal tuo OP per ciascuno di questi endpoint.
  • Ogni OP fornirà le informazioni sull'utente in insiemi chiamati ambiti. Devi conoscere i nomi degli ambiti utilizzati dal tuo OP. OpenID Connect richiede l'ambito openid, ma il tuo OP probabilmente includerà altri ambiti, ad esempio email, profile e groups.
  • In OpenID Connect, gli attributi in cui sono archiviati i dati utente vengono chiamati claim. Devi sapere quali rivendicazioni il tuo OP passa a Looker per fornire le informazioni utente che vuoi sulla tua istanza Looker. Looker richiede attestazioni che contengano indirizzo email e nome, ma se disponi di altri attributi utente, come fuso orario o reparto, Looker dovrà identificare anche le dichiarazioni che contengono queste informazioni. Le attestazioni possono essere incluse nella risposta dall'endpoint Informazioni utente o dall'endpoint del token ID. Looker può mappare le attestazioni restituite da entrambi gli endpoint agli attributi utente di Looker.

Molti OP forniscono informazioni sulla configurazione di OpenID Connect sotto forma di documento di rilevamento, permettendoti di raccogliere alcune o tutte le informazioni necessarie per configurare Looker per OpenID Connect. Se non hai accesso a un documento di rilevamento, devi ottenere le informazioni necessarie dal tuo OP o dal team di autenticazione interno.

La sezione seguente è tratta da un esempio di documento di rilevamento:

{
  "issuer": "https://accounts.google.com",
  "authorization_endpoint": "https://accounts.google.com/o/oauth2/v2/auth",
  "token_endpoint": "https://www.googleapis.com/oauth2/v4/token",
  "userinfo_endpoint": "https://www.googleapis.com/oauth2/v3/userinfo",
  "revocation_endpoint": "https://accounts.google.com/o/oauth2/revoke",
  "jwks_uri": "https://www.googleapis.com/oauth2/v3/certs",
  "response_types_supported": [
    "code",
    "token",
    "id_token",
    "code token"
    "code id_token",
    "token id_token",
    "code token id_token",
    "none"
  ],
  "subject_types_supported": [
    "public"
  ],
  "id_token_signing_alg_values_supported": [
    "RS256"
  ],
  "scopes_supported": [
    "openid",
    "email",
    "profile"
  ],
  "token_endpoint_auth_methods_supported": [
    "client_secret_post",
    "client_secret_basic"
  ],
  "claims_supported": [
    "aud",
    "email",
    "email_verified",
    "exp",
    "family_name",
    "given_name",
    "iat",
    "iss",
    "locale",
    "name",
    "picture",
    "sub"
  ],

Configurazione delle impostazioni di autenticazione OpenID Connect

Utilizza le informazioni di configurazione ottenute nel documento di rilevamento del tuo OP, dal tuo OP o dal tuo team di autenticazione interno per inserire le impostazioni di connessione nei seguenti campi:

Identificatore: l'identificatore client univoco della tua istanza di Looker. Dovrebbe essere fornito dal tuo OP.

Secret: la chiave client secret univoca per la tua istanza di Looker. Dovrebbe essere fornito dal tuo OP.

Emittente: l'URL sicuro che identifica il tuo OP.

Pubblico: un identificatore che indica al OP chi è il cliente. Spesso coincide con il valore Identificatore, ma può essere un valore diverso.

URL di autorizzazione: l'URL dell'OP in cui inizia la sequenza di autenticazione. Spesso chiamato authorization_endpoint in un documento di rilevamento.

URL token: l'URL in cui Looker recupera un token OAuth dopo che Looker è stato autorizzato. Spesso chiamato token_endpoint in un documento di rilevamento.

URL informazioni utente: l'URL in cui Looker recupererà le informazioni dettagliate sull'utente. Spesso chiamato userinfo_endpoint in un documento di rilevamento.

Ambiti: un elenco separato da virgole di ambiti utilizzati dall'OP per fornire informazioni sugli utenti a Looker. Devi includere l'ambito openid e tutti gli ambiti che includono le informazioni richieste da Looker, tra cui indirizzi email, nomi utente ed eventuali attributi utente configurati sulla tua istanza di Looker.

Configurazione delle impostazioni degli attributi utente

In questa sezione, devi mappare le rivendicazioni del tuo OP agli attributi utente di Looker.

Nella sezione Impostazioni attributi utente, inserisci il nome della dichiarazione del tuo OP contenente le informazioni corrispondenti per ogni campo. Questo indica a Looker come mappare queste dichiarazioni ai dati utente di Looker al momento dell'accesso. Looker non prende in considerazione il modo in cui vengono create le rivendicazioni, ma è solo importante che le informazioni sulle rivendicazioni inserite qui corrispondano al modo in cui le rivendicazioni sono definite nel tuo OP.

Rivendicazioni standard

Looker richiede nome utente e dati email per l'autenticazione utente. Inserisci in questa sezione le informazioni sul reclamo corrispondente del tuo OP:

Rivendicazione via email: la rivendicazione utilizzata dal tuo OP per gli indirizzi email degli utenti, ad esempio email.

Rivendicazione del nome: la dichiarazione utilizzata dal tuo OP per i nomi degli utenti, ad esempio given_name.

Rivendicazione del cognome: la dichiarazione utilizzata dal tuo OP per i cognomi degli utenti, ad esempio family_name.

Tieni presente che alcuni OP utilizzano una singola dichiarazione per i nomi, invece di separare nome e cognome. Se questo è il caso del tuo OP, inserisci la rivendicazione che memorizza i nomi in entrambi i campi Rivendicazione del nome e Rivendicazione del cognome. Per ogni utente, Looker utilizzerà i contenuti fino al primo spazio come Nome e tutto quello successivo come Cognome.

Associazioni di attributi

Facoltativamente, puoi utilizzare i dati nelle attestazioni OpenID Connect per compilare automaticamente i valori negli attributi utente di Looker quando un utente esegue l'accesso. Ad esempio, se hai configurato OpenID Connect per creare connessioni specifiche per l'utente al tuo database, puoi accoppiare le attestazioni OpenID Connect con gli attributi utente di Looker per rendere le connessioni al tuo database specifiche per l'utente in Looker.

Per associare le attestazioni con gli attributi utente di Looker corrispondenti:

  1. Inserisci la dichiarazione come identificata dal tuo OP nel campo Rivendicazione e l'attributo utente Looker con cui vuoi accoppiarla nel campo Attributi utente Looker.
  2. Seleziona Obbligatorio se vuoi bloccare l'accesso da parte di qualsiasi account utente privo di valore nel campo di rivendicazione.
  3. Fai clic su + e ripeti questi passaggi per aggiungere altre coppie di attestazioni e attributi.

Tieni presente che alcuni OP possono avere rivendicazioni "nidificate". Ad esempio:

"zoneinfo": "America/Los Angeles",
"phone_number": "555-1235",
"address": {
  "street_address": "1234 Main Street",
  "locality": "Anyton",
  "region": "IL",
  "postal_code": "60609",
  "country": "US"
},

Nell'esempio precedente, la rivendicazione locality è nidificata all'interno della rivendicazione address. Per le rivendicazioni nidificate, specifica quelle principali e nidificate, separate da una barra ( /). Per configurare Looker per la dichiarazione locality nell'esempio, devi inserire address/locality.

Gruppi e ruoli

Puoi consentire a Looker di creare gruppi che eseguono il mirroring dei tuoi gruppi OpenID Connect gestiti esternamente e quindi di assegnare ruoli Looker agli utenti in base ai loro gruppi OpenID Connect con mirroring. Quando apporti modifiche all'appartenenza al gruppo OpenID Connect, queste vengono propagate automaticamente alla configurazione del gruppo di Looker

Il mirroring dei gruppi OpenID Connect ti consente di utilizzare la directory OpenID Connect definita esternamente per gestire gruppi e utenti di Looker. Questo, a sua volta, ti consente di gestire la tua iscrizione ai gruppi per più strumenti Software as a Service (SaaS), come Looker, in un unico posto.

Se attivi Esegui il mirroring dei gruppi OpenID Connect, Looker creerà un gruppo di Looker per ogni gruppo OpenID Connect introdotto nel sistema. Questi gruppi di Looker possono essere visualizzati nella pagina Gruppi della sezione Amministrazione di Looker. I gruppi possono essere utilizzati per assegnare ruoli ai membri del gruppo, impostare i controlli di accesso ai contenuti e assegnare gli attributi utente.

Gruppi e ruoli predefiniti

Per impostazione predefinita, l'opzione Mirroring di gruppi OpenID Connect è disattivata. In questo caso, puoi impostare un gruppo predefinito per i nuovi utenti OpenID Connect. Nei campi Nuovi gruppi utente e Nuovi ruoli utente, inserisci i nomi dei gruppi o dei ruoli Looker a cui vuoi assegnare nuovi utenti Looker al primo accesso a Looker:

Questi gruppi e ruoli vengono applicati ai nuovi utenti al momento dell'accesso iniziale. Non vengono applicate agli utenti preesistenti e non vengono riapplicate se vengono rimossi dagli utenti dopo il loro accesso iniziale.

Abilitazione del mirroring dei gruppi OpenID Connect

Per eseguire il mirroring dei gruppi OpenID Connect all'interno di Looker, attiva l'opzione Mirroring di gruppi OpenID Connect:

Rivendicazione gruppi: inserisci la dichiarazione che il tuo OP utilizza per archiviare i nomi dei gruppi. Looker creerà un gruppo Looker per ogni gruppo OpenID Connect introdotto nel sistema dalla dichiarazione Gruppi. Questi gruppi di Looker possono essere visualizzati nella pagina Gruppi della sezione Amministratore di Looker. I gruppi possono essere utilizzati per impostare i controlli di accesso ai contenuti e assegnare gli attributi utente.

Nome gruppo / Ruoli / Nome gruppo OpenID Connect preferiti: questo insieme di campi consente di assegnare un nome di gruppo personalizzato e uno o più ruoli assegnati al gruppo OpenID Connect corrispondente in Looker.

  1. Inserisci il nome del gruppo OpenID Connect nel campo Nome gruppo OpenID Connect. Gli utenti OpenID Connect inclusi nel gruppo OpenID Connect verranno aggiunti al gruppo con mirroring in Looker.

  2. Inserisci un nome personalizzato per il gruppo sottoposto a mirroring nel campo Nome personalizzato. Questo è il nome che verrà visualizzato nella pagina Gruppi della sezione Amministrazione di Looker.

  3. Nel campo a destra del campo Nome personalizzato, seleziona uno o più ruoli di Looker che verranno assegnati a ciascun utente del gruppo.

  4. Fai clic su + per aggiungere ulteriori insiemi di campi in modo da configurare altri gruppi sottoposti a mirroring. Se hai configurato più gruppi e vuoi rimuovere la configurazione per un gruppo, fai clic sulla X accanto al relativo insieme di campi.

Se modifichi un gruppo sottoposto a mirroring che era stato precedentemente configurato in questa schermata, la configurazione del gruppo cambierà, ma il gruppo stesso rimarrà intatto. Ad esempio, puoi modificare il nome personalizzato di un gruppo, il che cambia l'aspetto del gruppo nella pagina Gruppi di Looker, ma non i ruoli e i membri del gruppo assegnati. La modifica dell'ID gruppo OpenID Connect manterrebbe il nome e i ruoli del gruppo, ma i membri del gruppo verrebbero riassegnati in base agli utenti membri del gruppo OpenID Connect esterno con il nuovo ID gruppo OpenID Connect.

Se elimini un gruppo in questa pagina, questo non sarà più sottoposto a mirroring in Looker e ai suoi membri non saranno più assegnati i ruoli in Looker tramite quel gruppo.

Qualsiasi modifica apportata a un gruppo sottoposto a mirroring verrà applicata agli utenti di quel gruppo all'accesso successivo a Looker.

Gestione avanzata dei ruoli

Se hai attivato l'opzione Mirroring di gruppi OpenID Connect, Looker visualizza queste impostazioni. Le opzioni in questa sezione determinano il livello di flessibilità a disposizione degli amministratori di Looker durante la configurazione dei gruppi e degli utenti di Looker di cui è stato eseguito il mirroring da OpenID Connect.

Ad esempio, se vuoi che il gruppo Looker e la configurazione utente corrispondano rigorosamente alla configurazione di OpenID Connect, attiva queste opzioni. Quando tutte le prime tre opzioni sono abilitate, gli amministratori di Looker non possono modificare l'appartenenza ai gruppi con mirroring e possono solo assegnare ruoli agli utenti tramite i gruppi con mirroring OpenID Connect.

Se vuoi avere maggiore flessibilità per personalizzare ulteriormente i gruppi in Looker, disattiva queste opzioni. I gruppi Looker continueranno a rispecchiare la configurazione di OpenID Connect, ma potrai eseguire ulteriori attività di gestione di gruppi e utenti all'interno di Looker, ad esempio aggiungendo utenti OpenID Connect a gruppi specifici di Looker o assegnando ruoli di Looker direttamente agli utenti di OpenID Connect.

Per le nuove istanze di Looker o per le quali non sono stati configurati gruppi con mirroring precedentemente configurati, queste opzioni sono disattivate per impostazione predefinita.

Per le istanze Looker esistenti in cui sono configurati gruppi con mirroring, queste opzioni sono attive per impostazione predefinita.

La sezione Gestione avanzata dei ruoli contiene le seguenti opzioni:

Impedisci ai singoli utenti OpenID Connect di ricevere ruoli diretti: l'attivazione di questa opzione impedisce agli amministratori di Looker di assegnare i ruoli Looker direttamente agli utenti OpenID Connect. Gli utenti di OpenID Connect riceveranno i ruoli solo tramite l'iscrizione ai gruppi. Se agli utenti di OpenID Connect è consentita l'appartenenza a gruppi Looker integrati (non con mirroring), possono comunque ereditare i loro ruoli sia dai gruppi OpenID Connect con mirroring sia dai gruppi Looker integrati. A tutti gli utenti di OpenID Connect a cui sono stati assegnati direttamente dei ruoli in precedenza, questi ruoli verranno rimossi all'accesso successivo.

Se questa opzione è disattivata, gli amministratori di Looker possono assegnare ruoli di Looker direttamente agli utenti OpenID Connect come se fossero utenti configurati direttamente in Looker.

Impedisci l'appartenenza diretta a gruppi non OpenID Connect: se attivi questa opzione, impedisci agli amministratori di Looker di aggiungere utenti OpenID Connect direttamente ai gruppi Looker integrati. Se i gruppi OpenID Connect con mirroring possono essere membri di gruppi Looker integrati, gli utenti OpenID Connect possono mantenere l'appartenenza a qualsiasi gruppo Looker principale. Tutti gli utenti OpenID Connect precedentemente assegnati ai gruppi Looker integrati verranno rimossi da questi gruppi al successivo accesso.

Se questa opzione è disattivata, gli amministratori di Looker possono aggiungere utenti OpenID Connect direttamente ai gruppi Looker integrati.

Impedisci l'ereditarietà dei ruoli da gruppi non OpenID Connect: se attivi questa opzione, impedisci ai membri dei gruppi OpenID Connect con mirroring di ereditare ruoli dai gruppi Looker integrati. Tutti gli utenti OpenID Connect che in precedenza hanno ereditato ruoli da un gruppo Looker padre perderanno questi ruoli all'accesso successivo.

Se questa opzione è disattivata, i gruppi OpenID Connect con mirroring o gli utenti OpenID Connect aggiunti come membri di un gruppo Looker integrato erediteranno i ruoli assegnati al gruppo Looker padre.

L'autenticazione richiede un ruolo: se questa opzione è attiva, agli utenti OpenID Connect deve essere assegnato un ruolo. Gli utenti OpenID Connect a cui non è assegnato un ruolo non potranno accedere a Looker.

Se questa opzione è disattivata, gli utenti di OpenID Connect possono eseguire l'autenticazione in Looker anche se non hanno ruoli assegnati. Un utente a cui non è stato assegnato un ruolo non potrà visualizzare dati o eseguire azioni in Looker, ma potrà accedere a Looker.

Disattivazione del mirroring dei gruppi OpenID Connect

Se vuoi interrompere il mirroring dei gruppi OpenID Connect in Looker, disattiva l'opzione Mirroring di gruppi OpenID Connect. Tutti i gruppi OpenID Connect vuoti con mirroring verranno eliminati.

I gruppi OpenID Connect speculari non vuoti rimarranno disponibili per l'utilizzo nella gestione dei contenuti e nella creazione di ruoli. Tuttavia, gli utenti non possono essere aggiunti o rimossi dal mirroring dei gruppi OpenID Connect.

Configurazione delle opzioni di migrazione

Come spiegato in questa sezione, Looker consiglia di attivare l'accesso alternativo e di fornire una strategia di unione per gli utenti esistenti.

Accesso alternativo per gli utenti specificati

Gli accessi tramite email e password di Looker sono sempre disabilitati per gli utenti normali quando è abilitata l'autenticazione OpenID Connect. L'opzione Accesso alternativo per gli utenti specificati consente l'accesso alternativo basato su email utilizzando /login/email per gli amministratori e per gli utenti specificati con l'autorizzazione login_special_email.

L'attivazione di questa opzione è utile come opzione di riserva durante la configurazione di OpenID Connect, nel caso in cui si verifichino problemi di configurazione di OpenID Connect in un secondo momento o se devi fornire assistenza ad alcuni utenti che non dispongono di account nella tua directory OpenID Connect.

Specifica il metodo utilizzato per unire gli utenti OpenID Connect a un account Looker

Nel campo Unisci utenti con, specifica il metodo da utilizzare per unire il primo accesso OpenID Connect a un account utente esistente. Puoi unire gli utenti dai seguenti sistemi:

  • Email/password di Looker (non disponibile per Looker (Google Cloud core))
  • Google
  • LDAP (non disponibile per Looker (Google Cloud core))
  • SAML

Se utilizzi più sistemi di autenticazione, puoi specificare più di un sistema da utilizzare per l'unione in questo campo. Looker cercherà gli utenti dai sistemi elencati nell'ordine in cui sono stati specificati. Ad esempio, supponiamo che tu abbia creato alcuni utenti utilizzando email/password di Looker, poi abbia attivato LDAP e ora voglia utilizzare OpenID Connect. Nell'esempio precedente, Looker veniva unito prima via email e password e poi in LDAP.

Quando un utente accede per la prima volta con OpenID Connect, questa opzione connetterà l'utente al suo account esistente trovando l'account con un indirizzo email corrispondente. Se non esiste un account per l'utente, ne verrà creato uno nuovo.

Unione degli utenti quando si utilizza Looker (Google Cloud core)

Quando utilizzi Looker (Google Cloud core) e OpenID Connect, l'unione funziona come descritto nella sezione precedente. Tuttavia, è possibile solo quando è soddisfatta una delle due condizioni seguenti:

  • Condizione 1: gli utenti si autenticano in Looker (Google Cloud core) utilizzando le proprie identità Google mediante il protocollo OpenID Connect.
  • Condizione 2: prima di selezionare l'opzione di unione, devi completare i seguenti due passaggi:

    1. Identità degli utenti federati in Google Cloud utilizzando Cloud Identity.
    2. Imposta l'autenticazione OAuth come metodo di autenticazione di backup utilizzando gli utenti federati.

Se la configurazione non soddisfa una di queste due condizioni, l'opzione Unisci utenti utilizzando non sarà disponibile.

Durante l'unione, Looker cercherà i record degli utenti che condividono esattamente lo stesso indirizzo email.

Test dell'autenticazione utente

Mentre specifichi questa configurazione, fai clic sul pulsante Test per provare la configurazione di OpenID Connect.

I test eseguiranno il reindirizzamento agli endpoint e apriranno una nuova scheda del browser. Nella scheda vengono visualizzati:

  • Se Looker è riuscito a comunicare con i vari endpoint e a convalidare
  • Una traccia della risposta dell'endpoint di autenticazione
  • Le informazioni sull'utente che Looker riceve dall'endpoint delle informazioni utente
  • Sono state ricevute entrambe le versioni decodificate e non elaborate del token ID

Puoi utilizzare questo test per verificare che le informazioni ricevute dai vari endpoint siano corrette e per risolvere eventuali errori.

Suggerimenti:

  • Puoi eseguire questo test in qualsiasi momento, anche se OpenID Connect è parzialmente configurato. Eseguire un test può essere utile durante la configurazione per vedere quali parametri devono essere configurati.
  • Il test utilizza le impostazioni inserite nella pagina OpenID Connect Authentication, anche se non sono state salvate. Il test non influisce né modifica le impostazioni in quella pagina.

Salva e applica impostazioni

Dopo aver inserito le informazioni e aver superato tutti i test, seleziona Ho confermato la configurazione di cui sopra e voglio abilitare l'applicazione globale della stessa e fai clic su Aggiorna impostazioni per salvare.