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 Amministrazione ti consente di configurare Looker in modo che autentichi gli utenti utilizzando il protocollo OpenID Connect. Questa pagina descrive la procedura e include istruzioni per collegare i gruppi OpenID Connect ai ruoli e alle autorizzazioni di Looker.

Considerazioni sulla pianificazione

  • Valuta la possibilità di utilizzare l'opzione Accesso alternativo per 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, 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. Gli altri flussi di codice non sono supportati.
  • 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, svolgi le seguenti 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 Looker. Il tuo OP potrebbe chiamarlo URI 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.

Ricevere informazioni dall'operatore

Per configurare Looker per l'autenticazione OpenID Connect, devi richiedere le seguenti informazioni all'OP:

  • Un identificatore e un client secret del client. In genere vengono forniti dall'OP sul suo sito web quando configuri l'URI di reindirizzamento.
  • Durante la procedura di autenticazione OpenID Connect, Looker si connette a tre diversi endpoint: un endpoint di autenticazione, un endpoint di token ID e un endpoint di informazioni utente. Avrai bisogno degli URL utilizzati dall'operatore 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 l'OP probabilmente includerà altri ambiti, come 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 rivendicazioni che contengono informazioni su email e nome, ma se hai altri attributi utente, come fuso orario o reparto, Looker dovrà anche identificare quali rivendicazioni 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 scoperta, devi ottenere le informazioni necessarie dall'operatore partner o dal team di autenticazione interno.

La seguente sezione è 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 dal documento di rilevamento dell'OP, dall'OP o dal 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 del client secret univoca per la tua istanza di Looker. Questo dovrebbe essere fornito dall'OP.

Issuer: l'URL sicuro che identifica l'OP.

Pubblico: un identificatore che indica all'operatore pubblicitario chi è il cliente. Spesso corrisponde al valore Identifier, 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 discovery.

URL token: l'URL in cui Looker recupera un token OAuth dopo l'autorizzazione. Spesso chiamato token_endpoint in un documento di discovery.

URL informazioni utente: l'URL da cui Looker recupererà 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 nell'istanza di Looker.

Configurare le impostazioni degli attributi utente

In questa sezione, mapperai i diritti dell'operatore agli attributi utente di Looker.

Nella sezione Impostazioni attributi utente, inserisci il nome della rivendicazione dell'OP che contiene 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 è esigente in merito alla modalità di costruzione delle rivendicazioni, ma è importante che le informazioni sulle rivendicazioni inserite qui corrispondano al modo in cui le rivendicazioni sono definite nell'OP.

Rivendicazioni standard

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

Pretesa email: la rivendicazione utilizzata dall'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 rivendicazione utilizzata dall'OP per i cognomi degli utenti, ad esempio family_name.

Tieni presente che alcuni OP utilizzano un'unica rivendicazione per i nomi, anziché separare il nome e il cognome. Se questo è il caso della tua OP, inserisci la rivendicazione che memorizza i nomi in entrambi i campi First Name Claim (Rivendicazione nome) e Last Name Claim (Rivendicazione 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 effettuare 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 rivendicazione identificata dal tuo OP nel campo Rivendicazione e l'attributo utente di Looker con cui vuoi accoppiarla nel campo Attributi utente di Looker.
  2. Seleziona Obbligatorio se vuoi bloccare l'accesso da qualsiasi account utente in cui manca un valore in quel campo della rivendicazione.
  3. Fai clic su + e ripeti questi passaggi per aggiungere altre coppie di rivendicazioni e attributi.

Tieni presente che alcuni OP possono avere "nidificati" rivendicazioni. 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, l'affermazione locality è nidificata all'interno dell'affermazione address. Per i claim nidificati, specifica i claim principali e nidificati, separati da un carattere barra ( / ). Per configurare Looker per la rivendicazione 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 modifiche 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 l'opzione Crea un gruppo Looker per ogni gruppo OpenID Connect, Looker creerà un gruppo 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 di utenti e Nuovi ruoli utente, inserisci i nomi di eventuali gruppi o ruoli di Looker a cui vuoi assegnare i nuovi utenti di Looker quando accedono per la prima volta a Looker:

Questi gruppi e ruoli vengono applicati ai nuovi utenti al loro primo accesso. 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:

Claim gruppi: inserisci il claim utilizzato dall'operatore di primo livello per memorizzare i nomi dei gruppi. Looker creerà un gruppo Looker per ogni gruppo OpenID Connect introdotto nel sistema dall'attestazione dei gruppi. Questi gruppi di Looker possono essere visualizzati nella pagina Gruppi della sezione Amministrazione di Looker. I gruppi possono essere utilizzati per impostare i controlli di accesso ai contenuti e assegnare attributi utente.

Nome gruppo preferito/Ruoli/Nome gruppo OpenID Connect: questo insieme di campi ti consente di assegnare un nome 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 altri insiemi di campi per configurare altri gruppi con 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, in modo da cambiare la sua visualizzazione nella pagina Gruppi di Looker, ma non i ruoli assegnati e i membri del gruppo. 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 sono attivate tutte e tre le prime opzioni, gli amministratori di Looker non possono modificare l'appartenenza ai gruppi sottoposti a mirroring e possono assegnare i ruoli agli utenti solo tramite i gruppi sottoposti a mirroring di OpenID Connect.

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

Per le nuove istanze Looker o per quelle che non hanno gruppi con mirroring configurati in precedenza, 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 dei ruoli avanzata 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 di Looker direttamente agli utenti OpenID Connect. Gli utenti OpenID Connect riceveranno i ruoli solo tramite le iscrizioni ai gruppi. Se agli utenti OpenID Connect è consentito l'appartenenza ai gruppi di Looker integrati (non sottoposti a mirroring), possono comunque ereditare i loro ruoli sia dai gruppi OpenID Connect sottoposti a mirroring sia dai gruppi di Looker integrati. A tutti gli utenti OpenID Connect a cui sono stati assegnati direttamente i ruoli verranno rimossi i ruoli al successivo accesso.

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 dai gruppi non OpenID Connect: l'attivazione di questa opzione impedisce ai membri dei gruppi OpenID Connect sottoposti a mirroring di ereditare i ruoli dai gruppi Looker integrati. Tutti gli utenti OpenID Connect che in precedenza avevano ereditato i ruoli da un gruppo Looker principale perderanno questi ruoli al successivo accesso.

Se questa opzione non è attiva, i gruppi OpenID Connect o gli utenti OpenID Connect sottoposti a mirroring aggiunti come membri di un gruppo Looker integrato erediteranno i ruoli assegnati al gruppo Looker principale.

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 è stato assegnato un ruolo non potranno accedere a Looker.

Se questa opzione non è attiva, gli utenti OpenID Connect possono autenticarsi in Looker anche se non hanno un ruolo assegnato. Un utente senza un ruolo assegnato non potrà visualizzare dati o eseguire azioni in Looker, ma potrà accedere a Looker.

Disattivazione dei gruppi OpenID Connect mirror

Se vuoi interrompere il mirroring dei gruppi OpenID Connect in Looker, disattiva l'opzione Esegui il mirroring dei gruppi OpenID Connect. Eventuali gruppi OpenID Connect di mirroring vuoti verranno eliminati.

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

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 con email e password di Looker sono sempre disattivati per gli utenti normali quando è attiva 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:

  • Indirizzo 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 dei sistemi elencati nell'ordine in cui sono specificati. Ad esempio, supponiamo che tu abbia creato alcuni utenti utilizzando l'email/la password di Looker, poi hai attivato LDAP e ora vuoi 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 aver completato i seguenti due passaggi:

    1. Utenti Federated di identità in Google Cloud utilizzando Cloud Identity.
    2. Configura l'autenticazione OAuth come metodo di autenticazione di riserva 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 utente che condividono lo stesso indirizzo email.

Testare l'autenticazione utente

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

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

  • Se Looker è stato in grado di comunicare con i vari endpoint e convalidare
  • Una traccia della risposta dell'endpoint di autenticazione
  • Le informazioni sull'utente che Looker riceve dall'endpoint delle informazioni utente
  • Sia le versioni decodificate che quelle non elaborate del token ID ricevuto

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 è configurato parzialmente. Eseguire un test può essere utile durante la configurazione per vedere quali parametri devono essere configurati.
  • Il test utilizza le impostazioni inserite nella pagina Autenticazione OpenID Connect, anche se non sono state salvate. Il test non influirà né modificherà le impostazioni della pagina.

Salva e applica impostazioni

Una volta inserite le informazioni e superati tutti i test, seleziona Ho verificato la configurazione precedente e voglio attivarne l'applicazione a livello globale e fai clic su Aggiorna impostazioni per salvare.