L'incorporamento firmato è un modo per presentare ai tuoi utenti Look, visualizzazioni, esplorazioni, dashboard o dashboard LookML privati, senza richiedere l'accesso a Looker separato. Gli utenti verranno invece autenticati tramite la tua applicazione.
L'incorporamento firmato funziona creando un URL Looker speciale da utilizzare in un iframe. L'URL contiene le informazioni che desideri condividere, l'ID dell'utente nel tuo sistema e le autorizzazioni che desideri concedere all'utente. Firma l'URL con una chiave segreta fornita da Looker.
Per l'incorporamento pubblico, consulta la sezione Incorporamento pubblico con tag iframe
della pagina della documentazione Condivisione pubblica, importazione e incorporamento di Look.
Prima di poter utilizzare l'incorporamento firmato nell'istanza di Looker, un amministratore di Looker deve abilitare l'incorporamento firmato nel pannello di amministrazione di Looker e creare una chiave secret di incorporamento. Per le istruzioni, consulta la pagina della documentazione Guida introduttiva all'incorporamento - Abilitazione dell'incorporamento firmato.
Hosting corretto per l'incorporamento firmato
Alcuni browser, ad esempio Safari o i browser con estensioni installate che bloccano gli annunci o i cookie di monitoraggio, utilizzano per impostazione predefinita delle norme relative ai cookie che bloccano i cookie di terze parti. Quando la funzionalità Incorpora senza cookie è attiva, i browser che bloccano i cookie di terze parti possono autenticare gli utenti nell'iframe incorporato in diversi domini. L'autenticazione incorporata senza cookie richiede la configurazione lato server. Per esempi di configurazione, consulta la pagina della documentazione sull'incorporamento senza cookie.
Se la funzionalità Incorpora senza cookie non è abilitata, Looker utilizza i cookie per l'autenticazione degli utenti. In questo caso, il tentativo di autenticare l'iframe incorporato tra 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 proprio 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 di Looker per impostare la configurazione DNS necessaria per abilitare l'utilizzo del dominio personalizzato. Questo consentirà a Looker di condividere lo stesso dominio dell'applicazione di incorporamento e di utilizzare cookie proprietari, 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 firmata, è comune per gli utenti di Looker presentare dati ai propri clienti con clienti di aziende o gruppi diversi che non dovrebbero essere a conoscenza gli uni degli altri. In questo scenario, per salvaguardare i tuoi clienti informazioni private, ti consigliamo vivamente di configurare Looker come sistema chiuso, chiamato anche installazione multitenant. In un sistema chiuso, i contenuti sono isolati per impedire che utenti appartenenti a gruppi diversi vengano a conoscenza gli uni degli altri. Per questo motivo, ti consigliamo di abilitare l'opzione Sistema chiuso prima di concedere a qualsiasi utente esterno l'accesso alla tua istanza.
Per ulteriori informazioni, 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 incorporato firmato
Esistono diversi modi per generare l'URL incorporato firmato. Puoi utilizzare uno di questi metodi:
Puoi generare un URL di incorporamento firmato utilizzando l'opzione Ottieni URL di incorporamento nel menu della dashboard con tre puntini di una dashboard o nel menu a forma di ingranaggio delle azioni di Esplora di un Look o di un'esplorazione.
Utilizza l'endpoint Create Signed Embed Url Endpoint dell'API Looker, come descritto più avanti in questo documento.
Utilizza l'SDK Looker Embed.
Codifica l'URL incorporato firmato. Se crei l'URL corretto, dovrai scrivere del codice per codificare correttamente l'URL con la tua chiave segreta e generare altri elementi relativi alla sicurezza. Puoi trovare diversi script di esempio nella pagina Incorporare il repository GitHub di esempi di Looker. Le seguenti sezioni spiegano le informazioni da fornire a questi script e spiegano come creare un URL incorporato firmato senza utilizzare uno script.
Codificare manualmente l'URL di incorporamento firmato
Per codificare l'URL di incorporamento firmato, raccogli le informazioni Looker necessarie, quindi crea l'URL di incorporamento firmato.
Raccolta delle informazioni necessarie su Looker
Come punto di partenza per creare il tuo URL, innanzitutto ti consigliamo di determinare tutte le informazioni da includere. Ti serviranno:
Incorpora URL
Recupera l'URL del Look, dell'esplorazione, della visualizzazione della query o della dashboard che vuoi incorporare. Quindi, rimuovi il dominio e posiziona /embed
prima del percorso, come segue:
Elemento | Pattern 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 query | https://instance_name.looker.com/explore/my_model/my_explore?qid=1234567890abcdefghij12 I 22 caratteri alfanumerici che seguono il parametro qid= nell'URL dell'esplorazione costituiscono il valore 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, recupera il valore Query.client_id della visualizzazione della query e copia Query.client_id nell'URL di incorporamento.Puoi utilizzare l'interfaccia utente dell'esplorazione 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, ad esempio utilizzando il metodo Get Query . |
/embed/query-visualization/Query.client_id |
Dashboard definita dall'utente | https://instance_name.looker.com/dashboards/1 Includi eventuali valori di filtro della dashboard o, se nascondi i valori di filtro, il parametro hide_filter nell'URL della dashboard. |
|
Dashboard precedente definita dall'utente | https://instance_name.looker.com/dashboards-legacy/1 |
/embed/dashboards-legacy/1 |
dashboard LookML | https://instance_name.looker.com/dashboards/my_model::my_dashboard |
/embed/dashboards/my_model::my_dashboard |
Dashboard LookML legacy | https://instance_name.looker.com/dashboards-legacy/my_model::my_dashboard |
/embed/dashboards-legacy/my_model::my_dashboard |
I contenuti incorporati riflettono sempre la loro versione di produzione. Le modifiche apportate in modalità di sviluppo che interessano i contenuti e di cui non è stato eseguito il deployment in produzione non verranno visualizzate negli incorporamenti.
Autorizzazioni
Un set di autorizzazioni definisce cosa può fare un utente o un gruppo. Le autorizzazioni possono essere applicate in due modi:
- Specifica del 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'istanza di Looker nel suo complesso. Gli utenti incorporati con autorizzazioni a livello di istanza possono eseguire determinate funzioni nell'intera istanza Looker, ma non possono accedere ai contenuti in base a modelli non inclusi nel set di modelli del loro ruolo.
Stabilisci le autorizzazioni che vuoi concedere all'utente. Il seguente elenco mostra tutte le autorizzazioni disponibili per l'incorporamento firmato. Le autorizzazioni che non sono incluse nel seguente elenco non sono supportate per l'incorporamento firmato:
Autorizzazione | Dipende da | Tipo | Definizione |
---|---|---|---|
access_data |
Nessuno | Specifico del modello | Consente all'utente di accedere ai dati (necessario per visualizzare Look, dashboard o esplorazioni) |
see_lookml_dashboards |
access_data |
Specifico del modello | Consente all'utente di visualizzare le dashboard LookML |
see_looks |
access_data |
Specifico del modello | Consentire agli utenti di visualizzare i Look |
see_user_dashboards |
see_looks |
Specifico del modello | Consente all'utente di vedere dashboard definite dall'utente e di sfogliare le cartelle da un incorporamento |
explore |
see_looks |
Specifico del modello | Consente all'utente di visualizzare le pagine Esplora |
create_table_calculations |
explore |
A livello di istanza | Necessità di creare calcoli tabulari in un'esplorazione |
create_custom_fields |
explore |
A livello di istanza | . AGGIUNTE 22,4 Necessari per creare campi personalizzati in un'esplorazione |
can_create_forecast |
explore |
A livello di istanza | . AGGIUNTA 22.12 Consente agli utenti di creare o modificare le previsioni nelle visualizzazioni. |
save_content |
see_looks |
A livello di istanza | Consente agli utenti di apportare e salvare le modifiche a Look e dashboard |
send_outgoing_webhook |
see_looks |
Specifico del modello | Consente all'utente di pianificare le pubblicazioni dei contenuti di Looker su un webhook arbitrario |
send_to_s3 |
see_looks |
Specifico del modello | Consente all'utente di pianificare le consegne di contenuti Looker in un bucket Amazon S3 |
send_to_sftp |
see_looks |
Specifico del modello | Consente all'utente di pianificare le pubblicazioni dei contenuti di Looker su un server SFTP |
schedule_look_emails |
see_looks |
Specifico del modello | Consente all'utente di pianificare le pubblicazioni dei contenuti di Looker nella propria email (se impostata con un attributo utente denominato "email") o a un indirizzo email che rientri nei limiti stabiliti dalla lista consentita dei domini email. Consente all'utente con autorizzazioni create_alerts di inviare notifiche di avviso a un indirizzo email che rientra nei limiti stabiliti dalla lista consentita dei domini email. |
schedule_external_look_emails |
schedule_look_emails |
Specifico del modello | Consente all'utente di pianificare le importazioni dei contenuti di Looker in qualsiasi dominio email. Consente all'utente con autorizzazioni create_alerts di inviare notifiche di avviso a qualsiasi dominio email. |
send_to_integration |
see_looks |
Specifico del modello | Consente all'utente di fornire contenuti Looker ai servizi di terze parti integrati con Looker tramite l'hub azioni di Looker. Questa autorizzazione non è correlata alle azioni sui dati. |
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 condizioni specifiche. Gli utenti possono modificare, duplicare ed eliminare i propri avvisi e quelli di altri utenti Avvisi pubblici. Se l'area di lavoro Slack dell'utente non è connessa 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 applicare limiti |
see_sql |
see_looks |
Specifico del modello | Consente all'utente di vedere l'SQL per le query ed eventuali errori SQL derivanti dall'esecuzione delle query |
clear_cache_refresh |
access_data |
Specifico del modello | AGGIUNTA 21.14 . 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 del modello | Consente all'utente di visualizzare in dettaglio senza dover accedere alla pagina Esplora completa. |
embed_browse_spaces |
Nessuno | A livello di istanza | Consente di attivare il browser dei contenuti per consentire a un utente di sfogliare le cartelle di un incorporamento. A qualsiasi utente incorporato a cui è stata concessa l'autorizzazione embed_browse_spaces viene concesso l'accesso a una cartella di incorporamento personale e alla cartella Condivisi dell'organizzazione, se esistente. L'autorizzazione embed_browse_spaces è consigliata per gli utenti che hanno l'autorizzazione save_content , in modo che gli utenti possano sfogliare le cartelle quando selezionano dove salvare i contenuti. Per visualizzare i contenuti nelle cartelle, l'utente deve anche disporre delle autorizzazioni see_looks , see_user_dashboards e see_lookml_dashboards . |
embed_save_shared_space |
Nessuno | A livello di istanza |
.
AGGIUNTE 21,4
Consente all'utente che dispone anche dell'autorizzazione save_content di accedere alla cartella Condivisi dell'organizzazione, se presente, dalla finestra di dialogo Salva. Gli utenti che hanno l'autorizzazione save_content , ma non l'autorizzazione embed_save_shared_space , potranno solo salvare i contenuti nella propria cartella di incorporamento personale.L'autorizzazione embed_save_shared_space non sostituisce le autorizzazioni di accesso ai contenuti. Ad esempio, per consentire all'utente di salvare nella cartella Condivisi, deve ancora disporre dell'accesso Gestisci accesso, Modifica alla cartella Condivisi. 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 salvare i contenuti al suo interno se dispone di un modo alternativo per passare alla cartella Condivisi, ad esempio utilizzando l'opzione Esplora da qui da una dashboard incorporata. |
Accesso al modello
Determina a quali modelli LookML deve avere accesso l'utente. Si tratta semplicemente di un elenco di nomi di modelli.
Attributi utente
Determina gli eventuali attributi utente che l'utente deve avere. È necessario il nome dell'attributo utente in Looker, oltre al valore che l'utente dovrebbe avere per quell'attributo.
Gruppi
Determina a quali gruppi deve appartenere l'utente, se presente. Sono necessari gli ID gruppo anziché i nomi dei gruppi. L'aggiunta di un utente incorporato firmato a un gruppo di Looker ti consente di gestire l'accesso di quell'utente alle cartelle di Looker. Gli utenti incorporati che hanno firmato 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 che hanno eseguito l'accesso con lo stesso external_group_id
avranno accesso a una cartella condivisa denominata "Gruppo", univoco per il gruppo esterno.
Ruoli incorporati
I parametri permissions
e models
creano un ruolo per l'utente incorporato. Questo ruolo appare come "Ruolo incorporato" della pagina Utenti nella sezione Amministratore di Looker. Se i parametri permissions
, models
e group_ids
sono tutti specificati nell'URL di incorporamento, il ruolo incorporato è additivo per qualsiasi ruolo già assegnato ai gruppi elencati nel parametro group_ids
. Equivale ai ruoli standard, in quanto tutti i ruoli in Looker sono cumulativi.
Ad esempio, supponiamo che tu abbia un gruppo esistente in Looker con l'ID gruppo 1
, che abbia già l'autorizzazione explore
per un modello denominato model_one
, e crei un URL di incorporamento con i seguenti parametri:
group_ids
=["1"]
permissions
=["access_data","see_looks"]
models
=["model_two"]
In questo caso, l'utente incorporato erediterà la possibilità di visualizzare ed esplorare i dati su model_one
e il ruolo di incorporamento creato con i parametri precedenti consentirà anche di visualizzare i dati su model_two
.
Creazione dell'URL per l'incorporamento
Un URL incorporato firmato ha il seguente formato:
https://HOSThttps://Incorpora URLhttps://PARAMETRIhttps://FIRMA
Host
L'host è la località in cui viene ospitata l'istanza di Looker. Ad esempio, analytics.mycompany.com
. Assicurati di includere il numero di porta se non hai attivato il port forwarding, ad esempio analytics.mycompany.com:9999
.
Incorpora URL
L'URL di incorporamento è stato determinato in precedenza. Il file avrà un formato simile al seguente:
/embed/looks/4
/embed/explore/my_model/my_explore
/embed/query-visualization/Query.client_id
/embed/dashboards/1
o/embed/dashboards-legacy/1
/embed/dashboards/my_model::my_dashboard
o/embed/dashboards-legacy/my_model::my_dashboard
Ciò significa che il pattern /embed//embed/
verrà visualizzato nell'URL finale; risposta esatta.
Se utilizzi eventi JavaScript incorporati, assicurati di aggiungere un elemento embed_domain
(il dominio in cui viene utilizzato l'iframe) alla fine dell'URL incorporato, in questo modo:
/embed/looks/4
/embed/looks/4?embed_domain=https://mywebsite.com
embed_domain
viene aggiunto dopo l'URL per l'incorporamento e prima di qualsiasi parametro. Pertanto, se disponi di parametri esistenti, come nonce=626
, l'aggiunta di embed_domain
avrebbe il seguente aspetto:
/embed/looks/4?nonce=626
/embed/looks/4?embed_domain=https://mywebsite.com?nonce=626
Se utilizzi l'SDK incorporato, assicurati di aggiungere embed_domain
e di includere anche sdk=2
alla fine dell'URL per l'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 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 a tua scelta, ma non può essere ripetuta entro un'ora e deve contenere meno di 255 caratteri.In questo modo si impedisce a un utente malintenzionato di reinviare l'URL di un utente legittimo per raccogliere informazioni che non dovrebbero avere. | Stringa JSON | "22b1ee700ef3dc2f500fb7" |
time |
Valore obbligatorio | L'ora corrente come timestamp UNIX. | Numero intero | 1407876784 |
session_length |
Valore obbligatorio | 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 ciascun utente nell'applicazione che incorpora Looker. Looker utilizza external_user_id per differenziare gli utenti incorporati che hanno eseguito l'accesso, quindi a ogni utente deve essere assegnato un ID univoco.Puoi creare un external_user_id per un utente con qualsiasi stringa tu voglia, purché sia univoca per quell'utente. Ogni ID è associato a un insieme di autorizzazioni, attributi utente e modelli. Un singolo browser può supportare solo un external_user_id o una sessione utente alla volta. Non è possibile apportare modifiche alle autorizzazioni o agli attributi utente a metà sessione.Per motivi di sicurezza, assicurati di non utilizzare lo stesso external_user_id in sessioni di incorporamento diverse per utenti interattivi diversi e di non utilizzare lo stesso external_user_id per un singolo utente con autorizzazioni, valori di attributi utente o accesso al modello diversi.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ò far sì che i dati siano visibili a utenti che altrimenti non vi avrebbero accesso. |
Stringa JSON | "user-4" |
permissions |
Valore obbligatorio | L'elenco delle autorizzazioni che l'utente deve avere.Per un elenco delle autorizzazioni consentite, consulta la sezione Autorizzazioni di questa pagina. | Array di stringhe | [ "access_data", "see_looks" ] |
models |
Valore obbligatorio | L'elenco di nomi di modello a cui l'utente deve avere accesso. | Array di stringhe | [ "model_one", "model_two" ] |
group_ids |
[] | L'elenco di gruppi Looker di cui l'utente deve far parte, se presente. Utilizza gli ID gruppo anziché i nomi dei gruppi. | Array di stringhe | ["4", "3"] |
external_group_id |
"" | Un identificatore univoco del gruppo a cui appartiene l'utente nell'applicazione che sta incorporando Looker, se necessario.Gli utenti autorizzati a salvare i contenuti e condividere un ID gruppo esterno potranno salvare e modificare i contenuti in una cartella Looker condivisa denominata "Gruppo". Il parametro external_group_id è l'unico metodo disponibile per creare gruppi esterni di utenti incorporati. Non è possibile configurare gruppi di utenti incorporati esterni dall'interfaccia utente di Looker. |
Stringa JSON | "Accounting" |
user_attributes |
{} | L'elenco di attributi utente che l'utente deve avere, se presenti. Contiene un elenco di nomi di attributi utente seguiti dal relativo valore.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, l'inclusione del parametro user_attributes { "locale" : "fr_FR" } fa sì che l'incorporamento carichi 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 dell'utente. Se il campo viene 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 il campo viene lasciato vuoto, last_name manterrà il valore dell'ultima richiesta o sarà "Incorpora" se non è mai stato impostato
il cognome. |
Stringa JSON | "Jones" |
user_timezone |
"" | Se hai abilitato Fuso orario specifico dell'utente, imposta il valore dell'opzione Fuso orario del visualizzatore nel menu a discesa Fuso orario nel Look o nella dashboard incorporati. Questo parametro non modifica direttamente il fuso orario in cui vengono visualizzati i contenuti. l'utente dovrà selezionare un fuso orario dall'elenco a discesa.Consulta i valori validi nella pagina della documentazione Riferimento al fuso orario di incorporamento firmato.Suggerimento per il team di Chat:se vuoi che i tuoi contenuti incorporati utilizzino il fuso orario dello spettatore per impostazione predefinita, usa uno dei seguenti metodi:?query_timezone=user_timezone all'URL incorporato. Ad esempio:/embed/dashboards/1?query_timezone=user_timezone |
Stringa JSON o null | "US/Pacific" - oppure -null |
force_logout_login |
Valore obbligatorio | Se un normale utente di Looker ha già eseguito l'accesso a Looker e visualizza un elemento incorporato firmato, puoi scegliere se:1) devono visualizzare l'articolo con le loro credenziali attualio2) devono essere disconnessi e ricollegati con le credenziali di incorporamento firmate. | Booleano (true o false) | true |
Firma
Looker utilizza la firma per verificare che sia stato utilizzato il secret di incorporamento corretto per generare la firma nell'URL di incorporamento e che i parametri nell'URL di incorporamento non siano stati modificati. Se il secret incorporato o i parametri URL sono diversi o sono cambiati, la firma non corrisponderà e l'autenticazione verrà rifiutata.
Di conseguenza, la firma nell'URL di incorporamento fornisce una prova crittograficamente efficace che l'URL di incorporamento non è stato modificato in transito e che l'URL di incorporamento è stato creato da una parte attendibile che è in possesso della chiave segreta di incorporamento.
Per generare la firma dovrai seguire questi passaggi.
- Raccogli i seguenti valori parametro 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)
- Host, seguito da
- Formatta tutti i valori diversi da Host e URL di incorporamento come JSON
- Concatena i valori con interruzioni di riga (
\n
) - HMAC-SHA1 firma la stringa concatenata con la chiave secret di incorporamento di Looker
Codifica
Il passaggio finale consiste nella codifica dell'URL.
Prima di codificare l'URL, un URL di incorporamento correttamente formattato che utilizza tutti i possibili parametri potrebbe avere il seguente 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={}&
first_name="Alice"&
last_name="Jones"&
user_timezone="US/Pacific"&
force_logout_login=true&
signature=123456789ABCDEFGHIJKL
Come indicato in precedenza, l'URL /embed//embed/
è corretto.
Dopo la codifica, l'URL avrà il seguente aspetto:
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
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 Crea URL di incorporamento firmato, che utilizza un insieme di parametri di incorporamento firmati che includono l'URL dei contenuti da incorporare e restituisce un URL completo, codificato e firmato tramite crittografia.
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 amministrativi. Il dominio del server web deve essere elencato anche nella lista consentita di domini incorporati.
Puoi anche utilizzare Explorer API per generare un URL firmato che utilizzi questo endpoint. Puoi installare Explorer API sulla tua istanza Looker da Looker Marketplace. Una volta generato, l'URL firmato deve essere copiato esattamente e può essere utilizzato una sola volta, altrimenti l'URL non andrà a buon fine. Explorer API è utile anche per generare un URL firmato e confrontarlo con un URL firmato creato manualmente per la risoluzione dei problemi.
Per saperne di più sull'API Looker, consulta la pagina della documentazione Guida introduttiva all'API Looker.
Test dell'URL incorporato
Per testare l'URL finale, incollalo nello Strumento di convalida dell'URI dell'incorporamento nella pagina Incorpora della sezione Amministrazione di Looker. Sebbene questa opzione non possa indicarti se i dati e le autorizzazioni che prevedi sono stati configurati correttamente, può confermare il corretto funzionamento dell'autenticazione.