L'incorporamento firmato è un modo per presentare Look, visualizzazioni, esplorazioni, dashboard o dashboard LookML privati incorporati ai tuoi utenti senza richiedere loro di disporre di credenziali di accesso separate a Looker. Gli utenti verranno invece autenticati tramite la tua applicazione.
L'incorporamento firmato funziona creando un URL Looker speciale che verrà utilizzato in un iframe. L'URL contiene le informazioni che vuoi condividere, l'ID dell'utente nel tuo sistema e le autorizzazioni che vuoi concedere all'utente. Dopodiché, firmerai l'URL con una chiave segreta fornita da Looker.
Per l'incorporamento pubblico, consulta la sezione Incorporamento pubblico con tag iframe della pagina di documentazione Condivisione, importazione e incorporamento pubblici dei look.
Prima di poter utilizzare l'incorporamento firmato nell'istanza di Looker, un amministratore di Looker deve attivare l'incorporamento firmato nel pannello Amministrazione di Looker e creare una chiave segreta per l'incorporamento. Per le istruzioni, consulta la pagina di documentazione Guida introduttiva all'incorporamento: attivazione dell'incorporamento firmato.
Hosting appropriato per l'incorporamento firmato
Alcuni browser, ad esempio Safari o browser con estensioni installate che bloccano gli annunci o i cookie di monitoraggio, utilizzano per impostazione predefinita una norma sui cookie che blocca i cookie di terze parti. Quando la funzionalità Incorporamento senza cookie è attivata, i browser che bloccano i cookie di terze parti possono autenticare gli utenti nell'iframe incorporato in diversi domini. L'autenticazione senza cookie per i dispositivi incorporati richiede una configurazione lato server. Per esempi di configurazione, consulta la pagina della documentazione relativa all'incorporamento senza cookie.
Se la funzionalità Incorporamento senza cookie non è abilitata, Looker utilizza i cookie per l'autenticazione degli utenti. In questo caso, il tentativo di autenticare l'iframe incorporato nei domini non è possibile nei browser che bloccano i cookie di terze parti (a meno che l'utente non modifichi le impostazioni di privacy dei cookie del browser). Ad esempio, se vuoi incorporare informazioni su https://mycompany.com, devi assicurarti che Looker condivida lo stesso dominio, ad esempio https://analytics.mycompany.com. In questo caso, se Looker ospita la tua istanza, contatta l'assistenza Looker per configurare la configurazione DNS necessaria per attivare l'utilizzo del dominio personalizzato. In questo modo, Looker potrà condividere lo stesso dominio dell'applicazione di incorporamento e utilizzare i cookie proprietari, che vengono accettati per impostazione predefinita in tutti i browser.
Se hai un'istanza di Looker ospitata dal cliente, assicurati che l'applicazione che utilizzerà l'incorporamento firmato utilizzi lo stesso dominio dell'istanza di Looker.
Controllo della visibilità dei clienti con un sistema chiuso
In una configurazione di incorporamento firmato è comune che gli utenti di Looker presentino i dati ai propri clienti, mentre i clienti di società o gruppi diversi non devono conoscersi. In questo scenario, per salvaguardare le informazioni private dei tuoi clienti, ti consigliamo vivamente di configurare Looker come un sistema chiuso, detto anche installazione multi-tenant. In un sistema chiuso, i contenuti sono isolati per impedire agli utenti di gruppi diversi di avere informazioni sugli altri. Per questo motivo, consigliamo di abilitare l'opzione Sistema chiuso prima di concedere l'accesso all'istanza a qualsiasi utente esterno.
Per saperne di più, consulta le pagine della documentazione Progettazione e configurazione di un sistema di livelli di accesso e Best practice per la sicurezza per l'analisi incorporata.
Generazione dell'URL di incorporamento firmato
Esistono diversi modi per generare l'URL incorporato firmato. È possibile utilizzare uno di questi metodi:
È possibile generare un URL di incorporamento firmato utilizzando l'opzione Ottieni URL di incorporamento nel menu con i tre puntini del dashboard di un dashboard, oppure nel menu con l'icona a forma di ingranaggio delle azioni Esplora di una vista o di Esplora.
Utilizza l'endpoint API Looker Create Signed Embed Url, come descritto più avanti in questo documento.
Utilizzare l'SDK di incorporamento Looker.
Codifica l'URL di incorporamento firmato. La creazione dell'URL corretto richiede la scrittura di codice per codificare correttamente l'URL con la chiave segreta e generare altri elementi correlati alla sicurezza. Puoi trovare diversi script di esempio nel repository GitHub di esempi di incorporamento di Looker. Le sezioni seguenti spiegano le informazioni che dovrai fornire a questi script, nonché come creare un URL di incorporamento firmato senza utilizzare uno script.
Codifica manuale dell'URL di incorporamento firmato
Per codificare l'URL di incorporamento firmato, prima raccogli le informazioni necessarie di Looker e poi crea l'URL di incorporamento firmato.
Raccolta delle informazioni necessarie di Looker
Come punto di partenza per la creazione dell'URL, devi prima determinare tutte le informazioni che dovranno essere incluse. Ti serviranno:
Incorpora URL
Recupera l'URL della visualizzazione Look, Explore, query o dashboard che desideri incorporare. Quindi rimuovi il dominio e inserisci /embed prima del percorso, come segue:
| Elemento | Modello URL normale | Incorpora URL |
|---|---|---|
| Look | https://instance_name.looker.com/looks/4 |
/embed/looks/4 |
| Esplora | https://instance_name.looker.com/explore/my_model/my_explore |
/embed/explore/my_model/my_explore |
| Visualizzazione delle query | https://instance_name.looker.com/explore/my_model/my_explore?qid=1234567890abcdefghij12I 22 caratteri alfanumerici che seguono il parametro qid= nell'URL di Esplora costituiscono il Query.client_id. Il valore Query.client_id è una stringa univoca che rappresenta la query e le impostazioni di visualizzazione.Per incorporare una visualizzazione della query, recuperare la visualizzazione della queryQuery.client_id valore e copia ilQuery.client_id nel tuo URL di incorporamento.Puoi utilizzare la UI Esplora di Looker per creare una query con una visualizzazione supportata e copiare il valore Query.client_id dal parametro qid= oppure puoi recuperare Query.client_id con l'API Looker, utilizzando ad esempio il metodo Get Query. |
/embed/query-visualization/Query.client_id |
| Dashboard definita dall'utente | https://instance_name.looker.com/dashboards/1Includi eventuali valori di filtro della dashboard nascondendo i valori di filtro, il parametro hide_filter nell'URL della dashboard. |
|
| dashboard LookML | https://instance_name.looker.com/dashboards/my_model::my_dashboard |
/embed/dashboards/my_model::my_dashboard |
| Analisi conversazionale | Per la pagina delle conversazioni: https://instance_name.looker.com/conversationsPer la pagina degli agenti: https://instance_name.looker.com/agentsPer una conversazione specifica: https://instance_name.looker.com/conversations/conversation_idPer ulteriori informazioni, consultare la pagina di documentazione Integrazione dell'analisi conversazionale. |
/embed/conversations/embed/agents/embed/conversations/c9f370ac830b4669aeb494396422004c |
Autorizzazioni
Un set di autorizzazioni definisce cosa può fare un utente o un gruppo. Le autorizzazioni possono essere applicate in due modi:
- Specifico per il modello:questo tipo di autorizzazione viene applicato solo ai set di modelli che fanno parte dello stesso ruolo.
- A livello di istanza:questo tipo di autorizzazione si applica all'intera istanza di Looker. Gli utenti incorporati con autorizzazioni a livello di istanza possono eseguire determinate funzioni nell'intera istanza di Looker, ma non possono accedere ai contenuti basati su modelli non inclusi nel set di modelli del loro ruolo.
Determina le autorizzazioni che vuoi concedere all'utente. Il seguente elenco mostra tutte le autorizzazioni disponibili per l'incorporamento firmato. Le autorizzazioni non presenti nel seguente elenco non sono supportate per l'incorporamento firmato:
| Autorizzazione | Dipende da | Tipo | Definizione |
|---|---|---|---|
access_data |
Nessuno | Specifico per il modello | Consente all'utente di accedere ai dati (obbligatorio per visualizzare Look, dashboard o esplorazioni) |
see_lookml_dashboards |
access_data |
Specifico per il modello | Consente all'utente di visualizzare le dashboard LookML. Questa autorizzazione è necessaria anche se un utente dispone dell'accesso Visualizza alla cartella della dashboard. |
see_looks |
access_data |
Specifico per il modello | Consente all'utente di vedere i look |
see_user_dashboards |
see_looks |
Specifico per il modello | Consente all'utente di visualizzare le dashboard definite dall'utente e di sfogliare le cartelle da un incorporamento |
explore |
see_looks |
Specifico per il modello | Consente all'utente di visualizzare le pagine Esplora |
create_table_calculations |
explore |
A livello di istanza | Necessario per creare calcoli tabulari in un'esplorazione |
create_custom_fields |
explore |
A livello di istanza | Necessario per creare campi personalizzati in un'esplorazione |
can_create_forecast |
explore |
A livello di istanza | Consente agli utenti di creare o modificare previsioni nelle visualizzazioni. |
save_content |
see_looks |
A livello di istanza | Consente all'utente di apportare e salvare modifiche a Look e dashboard |
send_outgoing_webhook |
see_looks |
Specifico per il modello | Consente all'utente di pianificare l'invio di contenuti di Looker a un webhook arbitrario |
send_to_s3 |
see_looks |
Specifico per il modello | Consente all'utente di pianificare l'invio di contenuti di Looker a un bucket Amazon S3 |
send_to_sftp |
see_looks |
Specifico per il modello | Consente all'utente di pianificare la distribuzione dei contenuti di Looker a un server SFTP |
schedule_look_emails |
see_looks |
Specifico per il modello | Consente all'utente di programmare la consegna dei contenuti Looker alla propria email (se impostata con un attributo utente denominato "email") o a un indirizzo email che rientra nei limiti stabiliti dalla lista di domini email consentiti. Consente all'utente con autorizzazioni create_alerts di inviare notifiche di avviso a un indirizzo email che rientra nei limiti stabiliti dalla lista consentita di domini email. |
schedule_external_look_emails |
schedule_look_emails |
Specifico per il modello | Consente all'utente di pianificare l'invio di contenuti di Looker a qualsiasi dominio email. Consente agli utenti con autorizzazioni create_alerts di inviare notifiche di avviso a qualsiasi dominio di posta elettronica. |
send_to_integration |
see_looks |
Specifico per il modello | Consente all'utente di inviare contenuti di Looker ai servizi di terze parti integrati con Looker tramite l'hub azioni di Looker. Questa autorizzazione non è correlata alle azioni sui dati. |
schedule_without_limit |
see_looks |
Specifico per il modello | Aggiunta nella versione 26.4 Se combinata con almeno un'altra autorizzazione che consente a un utente di distribuire contenuti di Looker, questa autorizzazione consente agli utenti di distribuire Look o esplorazioni che inviano tutte le righe di dati. Questa autorizzazione rende visibile l'opzione Tutti i risultati nello strumento di pianificazione di Looker per Look ed Esplorazioni. |
create_alerts |
see_looks |
A livello di istanza | Consente all'utente di creare avvisi nei riquadri della dashboard per ricevere notifiche quando vengono soddisfatte o superate le condizioni specificate. Gli utenti possono modificare, duplicare ed eliminare i propri avvisi e quelli pubblici di altri utenti. Se lo spazio di lavoro Slack dell'utente non è connesso all'istanza di Looker, l'utente non potrà creare avvisi che inviano notifiche a Slack. |
download_with_limit |
see_looks |
A livello di istanza | Consente all'utente di scaricare i risultati di una query con un limite applicato |
download_without_limit |
see_looks |
A livello di istanza | Consente all'utente di scaricare i risultati di una query senza limiti |
see_sql |
see_looks |
Specifico per il modello | Consente all'utente di visualizzare l'SQL per le query e gli eventuali errori SQL risultanti dall'esecuzione delle query |
clear_cache_refresh |
access_data |
Specifico per il modello | Gli utenti possono svuotare la cache e aggiornare le dashboard incorporate, le dashboard legacy, i riquadri delle dashboard, i Look e le esplorazioni. |
see_drill_overlay |
access_data |
Specifico per il modello | Consente all'utente di esaminare in dettaglio i dati senza dover accedere alla pagina Esplora completa. |
manage_spaces |
Nessuno | A livello di istanza | Attiva il browser dei contenuti in modo che gli utenti possano creare, copiare, spostare ed eliminare cartelle. Gli utenti avranno inoltre bisogno dell'autorizzazione di accesso ai contenuti Gestisci accesso, Modifica per la cartella o, nel caso di creazione di una nuova cartella, per la cartella principale. |
embed_browse_spaces |
Nessuno | A livello di istanza |
Attiva il browser dei contenuti in modo che un utente possa sfogliare le cartelle da un incorporamento. A qualsiasi utente incorporato a cui viene concessa l'autorizzazione embed_browse_spaces viene concesso l'accesso a una cartella incorporata personale e alla cartella Condivisa della tua organizzazione, se presente.
ILembed_browse_spaces L'autorizzazione è consigliata per gli utenti che hanno il permessosave_content autorizzazione, in modo che l'utente possa sfogliare le cartelle quando seleziona dove salvare i contenuti.
Per visualizzare i contenuti delle cartelle, l'utente deve disporre anche delle autorizzazioni see_looks, see_user_dashboards e see_lookml_dashboards.
L'autorizzazione embed_browse_spaces è necessaria per gli utenti incorporati che vogliono contrassegnare dashboard o Look come preferiti, poiché il contrassegno dei contenuti come preferiti richiede l'accesso alla cartella Preferiti.
|
embed_save_shared_space |
Nessuno | A livello di istanza |
Consente all'utente che dispone anche dell'autorizzazione save_content di accedere alla cartella Condivisa dell'organizzazione, se presente, dall'interno della finestra di dialogo Salva. Gli utenti che dispongono dell'autorizzazione save_content ma non dell'autorizzazione embed_save_shared_space avranno solo la possibilità di salvare i contenuti nella cartella personale per l'incorporamento.
L'autorizzazione embed_save_shared_space non sovrascrive le autorizzazioni di accesso ai contenuti . Ad esempio, per consentire a un utente di salvare nella cartella Condivisa, deve comunque disporre dell'accesso Gestione accesso, Modifica alla cartella Condivisa. Inoltre, la mancanza dell'autorizzazione embed_save_shared_space non impedisce a un utente che dispone dell'autorizzazione save_content e dell'accesso Gestisci accesso, Modifica alla cartella Condivisi di salvarvi contenuti se ha un modo alternativo per accedere alla cartella Condivisi, ad esempio utilizzando l'opzione Esplora da qui da una dashboard incorporata.
|
gemini_in_looker |
Nessuno | Specifico per il modello | Questa autorizzazione è l'unica inclusa nel ruolo predefinito Gemini. Questa autorizzazione concede agli utenti la possibilità di eseguire le attività associate a una qualsiasi delle funzionalità di Gemini in Looker attivate dalla pagina Gemini in Looker nel pannello Amministrazione. Per alcune attività potrebbero essere necessarie autorizzazioni aggiuntive. |
chat_with_agent |
gemini_in_looker |
Specifico per il modello | Aggiunto il 25.18 Gli utenti di Analisi conversazionale possono chattare con agenti di dati basati sui dati di un massimo di cinque esplorazioni di Looker o con agenti di dati delle dashboard. Per chattare con gli agenti dei dati della dashboard sono necessarie autorizzazioni aggiuntive. |
chat_with_explore |
chat_with_agent |
Specifico per il modello | Aggiunto il 25.18 Gli utenti di Conversational Analytics possono chattare con un'esplorazione di Looker se dispongono anche di autorizzazioni aggiuntive richieste. |
save_agents |
chat_with_explore |
Specifico per il modello | Aggiunto il 25.18 Gli utenti di Analisi conversazionale possono creare, modificare, eliminare e condividere agenti di dati in dashboard o Explore. Per modificare, eliminare o condividere un agente dati creato da un altro utente, agli utenti deve essere concesso un ruolo che contenga questa autorizzazione su ogni modello utilizzato dall'agente, nonché autorizzazioni aggiuntive richieste e Gestisci accesso, Modifica all'agente. |
admin_agents |
gemini_in_looker |
Specifico per il modello | Aggiunta 25.18 Per l'utilizzo con l'API Conversational Analytics e Conversational Analytics incorporato, gli utenti possono creare, modificare, condividere ed eliminare agenti di dati. Quando un utente crea un agente dati, gli viene concesso automaticamente l'accesso Gestisci accesso, Modifica all'agente dati. Con questa autorizzazione, un utente non deve disporre dell'accesso ai contenuti dell'agente dati per modificare, eliminare o condividere un agente dati creato da un altro utente. |
Accesso al modello
Determina a quali modelli LookML l'utente deve avere accesso. Verrà visualizzato un elenco di nomi di modelli.
Attributi utente
Determina gli eventuali attributi utente che l'utente deve avere. Avrai bisogno del nome dell'attributo utente di Looker, nonché del valore che l'utente deve avere per quell'attributo.
Gruppi
Determina gli eventuali gruppi a cui l'utente deve appartenere. Avrai bisogno degli ID gruppo anziché dei nomi dei gruppi. L'aggiunta di un utente incorporato firmato a un gruppo Looker consente di gestire l'accesso di tale utente alle cartelle Looker. Gli utenti incorporati con firma avranno accesso a tutte le cartelle condivise con i membri dei loro gruppi Looker.
Puoi anche utilizzare il parametro external_group_id per creare un gruppo esterno ai normali gruppi di Looker. In questo caso, gli utenti incorporati firmati con lo stesso external_group_id avranno accesso a una cartella condivisa, denominata "Gruppo", univoca per il gruppo esterno.
Ruoli integrati
I parametri permissions e models creano un ruolo per l'utente incorporato. Questo ruolo appare come "Ruolo incorporato" nella pagina Utenti nella sezione Amministrazione di Looker. Se i parametri permissions, models e group_ids sono tutti specificati nell'URL di incorporamento, il ruolo incorporato è additivo rispetto a qualsiasi ruolo già assegnato ai gruppi elencati nel parametro group_ids. Come per i ruoli standard, tutti i ruoli in Looker sono cumulativi.
Ad esempio, supponiamo che tu abbia un gruppo esistente in Looker con l'ID gruppo 1 e che questo gruppo abbia già l'autorizzazione explore per un modello denominato model_one. Se crei un URL di incorporamento con i seguenti parametri:
group_ids=["1"]permissions=["access_data","see_looks"]models=["model_two"]
In tal caso, l'utente incorporato erediterà la capacità di visualizzare ed esplorare i dati su model_one, e il ruolo incorporato creato con i parametri precedenti garantirà anche la capacità di visualizzare i dati su model_two.
Creazione dell'URL incorporato
Un URL di incorporamento firmato ha il seguente formato:
https://HOST/login/embed/EMBED URL?PARAMETERS&signature=SIGNATURE
Host
L'host è la posizione in cui viene ospitata l'istanza di Looker. Ad esempio, analytics.mycompany.com. Assicurati di includere il numero di porta se non hai attivato l'inoltro delle porte, ad esempio analytics.mycompany.com:9999.
Incorpora URL
L'URL di incorporamento è stato determinato in precedenza. Avrà un formato simile al seguente:
/embed/looks/4/embed/explore/my_model/my_explore/embed/query-visualization/Query.client_id/embed/dashboards/1o/embed/dashboards-legacy/1/embed/dashboards/my_model::my_dashboardo/embed/dashboards-legacy/my_model::my_dashboard
Ciò significa che il pattern /embed//embed/ verrà visualizzato nell'URL finale, il che è corretto.
Se stai utilizzando eventi JavaScript incorporati assicurati di aggiungere il parametro embed_domain (il dominio in cui viene utilizzato l'iframe) alla fine dell'URL di incorporamento, in questo modo:
/embed/looks/4
/embed/looks/4?embed_domain=https://mywebsite.com
Il parametro embed_domain viene aggiunto all'URL di incorporamento prima della codifica URL. Se l'URL di incorporamento contiene già parametri di ricerca del contenuto (come i valori del filtro), aggiungi il parametro embed_domain utilizzando una e commerciale (&):
/embed/looks/4?filter_name=value
/embed/looks/4?filter_name=value&embed_domain=https://mywebsite.com
Se utilizzi l'SDK incorporato, assicurati di aggiungere il parametro embed_domain e di includere anche sdk=2 alla fine dell'URL di incorporamento, in questo modo:
/embed/looks/4
/embed/looks/4?embed_domain=https://mywebsite.com&sdk=2
Il parametro sdk=2 consente a Looker di identificare la presenza dell'SDK e di sfruttare le funzionalità aggiuntive fornite dall'SDK. L'SDK non può aggiungere questo parametro autonomamente perché fa parte dell'URL firmato.
Parametri
I seguenti parametri URL vengono utilizzati per specificare le informazioni necessarie per l'incorporamento firmato:
| Parametro | Valore predefinito | Descrizione | Tipo di dati | Esempio |
|---|---|---|---|---|
nonce |
Valore obbligatorio | Qualsiasi stringa casuale, ma non può essere ripetuta entro un'ora e deve contenere meno di 255 caratteri.In questo modo, un malintenzionato non può inviare nuovamente l'URL di un utente legittimo per raccogliere informazioni che non dovrebbe avere. | Stringa JSON | "22b1ee700ef3dc2f500fb7" |
time |
Valore obbligatorio | L'ora corrente come timestamp UNIX. | Numero intero | 1407876784 |
session_length |
Valore obbligatorio | Il numero di secondi in cui l'utente deve rimanere connesso a Looker, compreso tra 0 e 2.592.000 secondi (30 giorni). | Numero intero | 86400 |
external_user_id |
Valore obbligatorio | Un identificatore per ogni utente nell'applicazione che incorpora Looker. Looker utilizza external_user_id per distinguere gli utenti incorporati con accesso, pertanto a ogni utente deve essere assegnato un ID univoco.Puoi creare un external_user_id per un utente con qualsiasi stringa, purché sia univoca per quell'utente. Ogni ID è associato a un insieme di autorizzazioni, attributi utente e modelli. Un singolo browser può supportare una sola external_user_id o sessione utente alla volta. Non è possibile apportare modifiche alle autorizzazioni o agli attributi di un utente durante una sessione.Per motivi di sicurezza, assicurati di non utilizzare lo stesso external_user_id in sessioni di incorporamento diverse per utenti interattivi diversi e assicurati di non utilizzare lo stesso external_user_id per un singolo utente che ha autorizzazioni diverse, valori degli attributi utente o accesso al modello.L'utilizzo dello stesso external_user_id per più utenti o per lo stesso utente con più autorizzazioni, attributi utente o set di modelli, può rendere i dati visibili a utenti che altrimenti non avrebbero accesso ad essi. |
Stringa JSON | "user-4" |
permissions |
Valore obbligatorio | L'elenco delle autorizzazioni che l'utente dovrebbe avere.Consulta la sezione Autorizzazioni in questa pagina per l'elenco delle autorizzazioni consentite. | Array di stringhe | [ "access_data", "see_looks"] |
models |
Valore obbligatorio | L'elenco dei nomi dei modelli a cui l'utente deve avere accesso. | Array di stringhe | [ "model_one", "model_two"] |
group_ids |
[] | L'elenco dei gruppi Looker di cui l'utente deve far parte, se presenti. Utilizza gli ID gruppo anziché i nomi dei gruppi. | Array di stringhe | ["4", "3"] |
external_group_id |
"" | Un identificatore univoco per il gruppo a cui appartiene l'utente nell'applicazione che incorpora Looker.Gli utenti che dispongono dell'autorizzazione per salvare contenuti e che condividono un ID gruppo esterno possono salvare e modificare i contenuti in una cartella condivisa di Looker denominata "Gruppo". Il parametro external_group_id è l'unico metodo disponibile per creare gruppi esterni di utenti incorporati. Non è possibile configurare gruppi di utenti di incorporamento esterni dall'interfaccia utente di Looker.La lunghezza di external_group_id non deve superare gli 81 caratteri. Viene creata una cartella corrispondente per il gruppo e i nomi delle cartelle hanno un limite di 100 caratteri. Il nome della cartella è preceduto da "Embed Shared Group ", quindi external_group_id è limitato a 81 caratteri per rispettare il limite di 100 caratteri. |
Stringa JSON | "Accounting" |
user_attributes |
{} | L'elenco degli attributi utente che l'utente deve avere, se presenti. Contiene un elenco di nomi di attributi utente seguiti dal valore dell'attributo utente.Se il tuo modello LookML è localizzato, puoi utilizzare l'attributo utente locale nell'URL di incorporamento per specificare una lingua per l'incorporamento. Ad esempio, includendo il parametro user_attributes { "locale" : "fr_FR" } l'elemento incorporato caricherà il francese come lingua. |
Hash di stringhe | { "vendor_id" : "17", "company" : "xactness"} |
access_filters |
Valore obbligatorio | In Looker 3.10 questo parametro è stato rimosso, ma è ancora obbligatorio nell'URL. Utilizza access_filters con un segnaposto vuoto, ad esempio access_filters={}. |
Segnaposto vuoto | {} |
first_name |
"" | Il nome di battesimo dell'utente. Se lasciato vuoto, first_name manterrà il valore dell'ultima richiesta o sarà "Incorpora" se non è mai stato impostato un nome. |
Stringa JSON | "Alice" |
last_name |
"" | Il cognome dell'utente. Se lasciato vuoto, last_name manterrà il valore dell'ultima richiesta o sarà "Incorpora" se non è mai stato impostato un cognome. |
Stringa JSON | "Jones" |
user_timezone |
"" | Se hai attivato l'opzione Fusi orari specifici degli utenti, imposta il valore dell'opzione Fuso orario del visualizzatore nel menu a discesa Fuso orario del Look o della dashboard incorporati. Questo parametro non modifica direttamente il fuso orario in cui vengono visualizzati i contenuti. L'utente dovrà selezionare un fuso orario dal menu a discesa.Consulta i valori validi nella pagina della documentazione Riferimento al fuso orario per l'incorporamento firmato.Suggerimento del team di chat:se vuoi che i contenuti incorporati vengano visualizzati per impostazione predefinita nel fuso orario dello spettatore, utilizza uno dei seguenti metodi:?query_timezone=user_timezone all'URL di incorporamento. Ad esempio:/embed/dashboards/1?query_timezone=user_timezone |
Stringa JSON o null | "US/Pacific"- o -null |
force_logout_login |
Valore obbligatorio | Se un utente Looker normale ha già eseguito l'accesso a Looker e visualizza un elemento incorporato firmato, puoi scegliere se:1) Dovrebbe visualizzare l'elemento con le sue credenziali attualio2) devono aver eseguito la disconnessione e l'accesso con le credenziali di incorporamento firmate. | Booleano (vero o falso) | true |
ca_chat |
true |
Se hai attivato Conversational Analytics e la funzionalità Attiva agenti della dashboard, imposta se il riquadro della conversazione dell'agente della dashboard è visibile agli utenti incorporati. Se true, lo |
Booleano (vero o falso) | true |
Firma
Looker utilizza la firma per verificare che sia stata utilizzata la chiave segreta di incorporamento corretta per generare la firma nell'URL di incorporamento e che i parametri nell'URL di incorporamento non siano stati modificati. Se il segreto di incorporamento o i parametri URL sono diversi o sono stati modificati, la firma non corrisponderà e l'autenticazione verrà rifiutata.
Di conseguenza, la firma nell'URL di incorporamento fornisce una prova crittograficamente solida che l'URL di incorporamento non è stato modificato durante il transito e che è stato creato da una parte attendibile in possesso della chiave segreta di incorporamento.
Per generare la firma, segui questi passaggi.
- Raccogli i seguenti valori dei parametri in questo ordine:
- Host, seguito da
login/embed/(ad esempio,analytics.mycompany.com/login/embed/) - Incorpora URL
- Nonce
- Ora attuale
- Durata sessione
- ID utente esterno
- Autorizzazioni
- Modelli
- ID gruppo
- ID gruppo esterno
- Attributi dell'utente
- Filtri di accesso (richiede un segnaposto vuoto)
- Visibilità dell'agente di dati della dashboard di Analisi conversazionale
- Host, seguito da
- Formatta tutti i valori diversi da Host e URL di incorporamento come JSON
- Concatenare i valori con interruzioni di riga (
\n) - Firma HMAC-SHA1 della stringa concatenata con la chiave segreta di incorporamento di Looker
Codifica
L'ultimo passaggio consiste nel codificare l'URL.
Prima di codificare l'URL, un URL incorporato formattato correttamente che utilizza tutti i parametri possibili potrebbe avere questo aspetto:
https://analytics.mycompany.com/login/embed//embed/dashboards/1?
nonce="22b1ee700ef3dc2f500fb7"&
time=1407876784&
session_length=86400&
external_user_id="user-4"&
permissions=["access_data","see_user_dashboards","see_looks"]&
models=["model_one","model_two"]&
group_ids=[4,3]&
external_group_id="Allegra K"&
user_attributes={"vendor_id":"17","company":"xactness"}&
access_filters={}&
ca_chat=false&
first_name="Alice"&
last_name="Jones"&
user_timezone="US/Pacific"&
force_logout_login=true&
signature=123456789ABCDEFGHIJKL
Come già accennato, è corretto che /embed//embed/ compaia nell'URL.
Dopo aver codificato l'URL, apparirebbe così:
https://analytics.mycompany.com/login/embed/%2embed%2Fdashboards%2F1?
nonce=%2222b1ee700ef3dc2f500fb7&%22&
time=1407876784&
session_length=86400&
external_user_id=%22user-4%22&
permissions=%5B%22access_data%22%2C%22see_user_dashboards%22%2C%22see_looks%22%5D&
models=%5B%22model_one%22%2C%22model_two%22%5D&
group_ids=%5B4%2C3%5D&
external_group_id=%22Allegra%20K%22&
user_attributes=%7B%22vendor_id%22%3A%2217%22%2C%22company%22%3A%22xactness%22%7D&
access_filters%7B%7D%26%0A
ca_chat=false&
first_name=%22Alice%22&
last_name=%22Jones%22&
user_timezone=%22US%2FPacific%22&
force_logout_login=true&
signature=123456789ABCDEFGHIJKL
Utilizzo dell'endpoint API Create Signed Embed Url
L'API Looker include l'endpoint Create Signed Embed Url, che accetta un insieme di parametri di incorporamento firmati che include l'URL dei contenuti che vuoi incorporare e restituisce un URL firmato completo, codificato e crittograficamente.
Per utilizzare questo endpoint API da un server web, il server web deve essere in grado di eseguire l'autenticazione nell'API Looker con privilegi di amministratore. Il dominio del server web deve essere elencato anche nella lista consentita dei domini di incorporamento.
Puoi anche utilizzare Explorer API per generare un URL firmato che utilizza questo endpoint. È possibile installare API Explorer sulla propria istanza Looker dal Looker Marketplace. Una volta generato, l'URL firmato deve essere copiato esattamente e può essere utilizzato una sola volta, altrimenti non funzionerà. Explorer API è utile anche per generare un URL firmato e confrontarlo con un URL firmato creato manualmente a scopo di risoluzione dei problemi.
Per ulteriori informazioni sull'API Looker, consultare la pagina di documentazione Introduzione all'API Looker.
Test dell'URL incorporato
Per testare l'URL finale, incollalo nel Embed URI Validator nella pagina Embed della sezione Admin di Looker. Anche se questa opzione non può indicare se i dati e le autorizzazioni che prevedi sono stati configurati correttamente, può convalidare il corretto funzionamento dell'autenticazione.