Incorporamento firmato

L'incorporamento firmato è un modo per presentare Look, visualizzazioni, esplorazioni, dashboard o dashboard LookML privati incorporati senza richiedere agli utenti di disporre di credenziali di accesso separate a Looker. Gli utenti verranno autenticati tramite la tua applicazione.

L'incorporamento firmato funziona creando uno speciale URL di Looker da utilizzare 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 di 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 domini diversi. L'autenticazione dell'incorporamento senza cookie richiede la 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 della 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 il DNS necessario 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à del cliente 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 sistema chiuso, chiamato 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, ti consigliamo di attivare l'opzione Sistema chiuso prima di concedere l'accesso alla tua istanza a utenti esterni.

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. Puoi utilizzare uno di questi metodi:

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 del look, dell'esplorazione, della visualizzazione della query o della dashboard che vuoi incorporare. Quindi rimuovi il dominio e inserisci /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 Query.client_id. Il valore Query.client_id è una stringa univoca che rappresenta la query e le impostazioni di visualizzazione.

Per incorporare una visualizzazione di una query, recupera il valore Query.client_id della visualizzazione della query e copia Query.client_id nell'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/1

Includi eventuali valori dei filtri del report o, se nascondi i valori dei filtri, il parametro hide_filter nell'URL del report.
Dashboard legacy 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 versione di produzione dei contenuti. Eventuali modifiche apportate in modalità di sviluppo che influiscono sui contenuti e che non sono state implementate in produzione non verranno visualizzate in un incorporamento.

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 assegnare 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
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 l'invio di contenuti di Looker a un server SFTP
schedule_look_emails see_looks Specifico per il modello Consente all'utente di pianificare la distribuzione dei contenuti di Looker al proprio indirizzo email (se impostato con un attributo utente denominato "email") o a un indirizzo email che rientra 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 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 all'utente con autorizzazioni create_alerts di inviare notifiche di avviso a qualsiasi dominio email.
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.
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 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 limiti
see_sql see_looks Specifico per il modello Consente all'utente di visualizzare l'SQL per le query e gli eventuali errori SQL derivanti 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 eseguire il drill-down 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 bisogno anche dell'autorizzazione di accesso ai contenuti Gestione accesso, Modifica per la cartella o, nel caso della 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 dato accesso a una cartella di incorporamento personale e alla cartella Condivisa della tua organizzazione, se presente.

L'autorizzazione embed_browse_spaces è consigliata per gli utenti che dispongono dell'autorizzazione save_content, in modo che l'utente possa sfogliare le cartelle quando seleziona la posizione in cui 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 è obbligatoria 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, dalla finestra di dialogo Salva. Gli utenti che dispongono dell'autorizzazione save_content, ma non di quella embed_save_shared_space, avranno solo la possibilità di salvare i contenuti nella cartella personale degli incorporamenti.

L'autorizzazione embed_save_shared_space non sostituisce 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 Condivisa di salvarvi contenuti se ha un modo alternativo per accedere alla cartella Condivisa, ad esempio utilizzando l'opzione Esplora da qui da una dashboard incorporata.

Accesso al modello

Determina a quali modelli LookML l'utente deve avere accesso. Si tratta semplicemente di 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 dell'utente alle cartelle di Looker. Gli utenti incorporati firmati 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 con firma con lo stesso external_group_id avranno accesso a una cartella condivisa, denominata "Gruppo", univoca per il gruppo esterno.

Ruoli incorporati

I parametri permissions e models creano un ruolo per l'utente incorporato. Questo ruolo viene visualizzato come "Ruolo incorporato" nella pagina Utenti della 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 additivi.

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 questo caso, l'utente incorporato erediterà la possibilità di visualizzare ed esplorare i dati su model_one e il ruolo incorporato creato con i parametri precedenti concederà anche la possibilità 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 incorporato è 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/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, il che è corretto.

Se utilizzi eventi JavaScript incorporati, assicurati di aggiungere un 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

embed_domain viene aggiunto dopo l'URL incorporato e prima di qualsiasi parametro. Quindi, se avevi parametri esistenti, ad esempio 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 includi 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 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 solo una external_user_id o sessione utente alla volta. Non è possibile apportare modifiche alle autorizzazioni o agli attributi di un 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 degli 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ò rendere visibili i dati a utenti che altrimenti non avrebbero accesso.
Stringa JSON "user-4"
permissions Valore obbligatorio L'elenco delle autorizzazioni che l'utente deve avere.

Per l'elenco delle autorizzazioni consentite, consulta la sezione Autorizzazioni in questa pagina.
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 del 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. Per il gruppo viene creata una cartella corrispondente 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 o meno.
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, l'inclusione del parametro user_attributes { "locale" : "fr_FR" } farebbe caricare il francese come lingua dell'incorporamento.
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 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à "Embed" 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 utilizzino per impostazione predefinita il fuso orario dello spettatore, utilizza uno dei seguenti metodi:

  • Aggiungi il parametro ?query_timezone=user_timezone all'URL di incorporamento. Ad esempio:

    /embed/dashboards/1?query_timezone=user_timezone
  • Salva il dashboard o il Look incorporato con il fuso orario predefinito impostato su Fuso orario del visualizzatore, che utilizzerà il fuso orario dell'utente per impostazione predefinita sia per gli utenti incorporati sia per quelli non incorporati.
  • 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) Visualizzare l'elemento con le credenziali attuali.

    o

    2) devono aver eseguito la disconnessione e l'accesso con le credenziali di incorporamento firmate.
    Booleano (true o false) 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, devi seguire questi passaggi.

    1. 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)
    2. Formatta tutti i valori diversi da Host e URL di incorporamento come JSON
    3. Concatenare i valori con interruzioni di riga (\n)
    4. HMAC-SHA1 firma la 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={}&
    first_name="Alice"&
    last_name="Jones"&
    user_timezone="US/Pacific"&
    force_logout_login=true&
    signature=123456789ABCDEFGHIJKL
    

    Come indicato in precedenza, è corretto che /embed//embed/ appaia nel tuo URL.

    Dopo la codifica, l'URL avrà questo 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 accetta un insieme di parametri di incorporamento firmati che include l'URL dei contenuti che vuoi incorporare e restituisce un URL completo, codificato e firmato crittograficamente.

    Per utilizzare questo endpoint API da un server web, il server web deve essere in grado di autenticarsi 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. Puoi installare Explorer API nella tua istanza Looker da 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 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 in Embed URI Validator nella pagina Incorpora della sezione Amministrazione di Looker. Anche se questa opzione non può indicarti se i dati e le autorizzazioni che prevedi sono stati configurati correttamente, può convalidare il corretto funzionamento dell'autenticazione.