Signierte Einbettung

Mit signierten Einbettungen können Sie Ihren Benutzern private eingebettete Looks, Visualisierungen, Explores, Dashboards oder LookML-Dashboards präsentieren, ohne dass sie eine separate Looker-Anmeldung benötigen. Stattdessen werden Nutzer über Ihre eigene Anwendung authentifiziert.

Beim signierten Einbetten wird eine spezielle Looker-URL erstellt, die Sie in einem iFrame verwenden. Die URL enthält die Informationen, die Sie teilen möchten, die ID des Nutzers in Ihrem System und die Berechtigungen, die der Nutzer haben soll. Anschließend signieren Sie die URL mit einem geheimen Schlüssel von Looker.

Informationen zur öffentlichen Einbettung finden Sie im Abschnitt Öffentliche Einbettung mit iframe-Tags auf der Dokumentationsseite Öffentliche Freigabe, Import und Einbettung von Looks.

Bevor Sie die signierte Einbettung in Ihrer Looker-Instanz verwenden können, muss ein Looker-Administrator die signierte Einbettung im Admin-Steuerfeld von Looker aktivieren und einen geheimen Einbettungsschlüssel erstellen. Eine Anleitung dazu finden Sie auf der Dokumentationsseite Erste Schritte beim Einbetten – Signierte Einbettung aktivieren.

Richtiges Hosting für signierte Einbettungen

Einige Browser – z. B. Safari oder Browser mit installierten Erweiterungen, die Anzeigen oder Tracking-Cookies blockieren – verwenden standardmäßig eine Cookie-Richtlinie, die Drittanbieter-Cookies blockiert. Wenn die Funktion Einbetten ohne Cookies aktiviert ist, können Browser, die Drittanbieter-Cookies blockieren, Nutzer im eingebetteten iFrame über verschiedene Domains hinweg authentifizieren. Für die Authentifizierung ohne Cookies ist eine serverseitige Konfiguration erforderlich. Beispiele für die Einrichtung finden Sie auf der Dokumentationsseite Einbetten ohne Cookies.

Wenn die Funktion Einbetten ohne Cookies nicht aktiviert ist, verwendet Looker Cookies zur Nutzerauthentifizierung. In diesem Fall ist es in Browsern, die Cookies von Drittanbietern blockieren, nicht möglich, den eingebetteten iFrame domainübergreifend zu authentifizieren, es sei denn, der Nutzer ändert die Cookie-Datenschutzeinstellungen seines Browsers. Wenn Sie beispielsweise Informationen in https://mycompany.com einbetten möchten, müssen Sie dafür sorgen, dass Looker dieselbe Domain verwendet, z. B. https://analytics.mycompany.com. Wenn Ihre Instanz in Looker gehostet wird, wenden Sie sich an den Looker-Support, um die erforderliche DNS-Konfiguration einzurichten, um die Nutzung benutzerdefinierter Domains zu aktivieren. Dadurch kann Looker dieselbe Domain wie die Einbettungsanwendung teilen und Erstanbieter-Cookies verwenden, die standardmäßig in allen Browsern akzeptiert werden.

Wenn Sie eine vom Kunden gehostete Looker-Instanz haben, achten Sie darauf, dass die Anwendung, die die signierte Einbettung verwendet, dieselbe Domain wie Ihre Looker-Instanz verwendet.

Sichtbarkeit von Clients mit einem geschlossenen System steuern

Es ist üblich, dass Looker-Benutzer in einer signierten Einbettungskonfiguration ihren eigenen Kunden Daten präsentieren, während Kunden aus verschiedenen Unternehmen oder Gruppen haben, die nichts voneinander wissen sollten. In diesem Szenario empfehlen wir zum Schutz der privaten Informationen Ihrer Kunden dringend, Looker als geschlossenes System zu konfigurieren, das auch als mehrinstanzenfähige Installation bezeichnet wird. In einem geschlossenen System sind Inhalte isoliert, um zu verhindern, dass Nutzer aus verschiedenen Gruppen voneinander erfahren. Aus diesem Grund empfehlen wir, die Option Closed System zu aktivieren, bevor Sie externen Nutzern Zugriff auf Ihre Instanz gewähren.

Weitere Informationen finden Sie auf den Dokumentationsseiten Ein System mit Zugriffsebenen entwickeln und konfigurieren und Best Practices für die Sicherheit von eingebetteten Analysen.

Signierte Einbettungs-URL generieren

Es gibt mehrere Möglichkeiten, die signierte Einbettungs-URL zu generieren. Sie haben folgende Möglichkeiten:

Signierte Einbettungs-URL manuell codieren

Wenn Sie die signierte Einbettungs-URL codieren möchten, erheben Sie zuerst die erforderlichen Looker-Informationen und erstellen Sie dann die signierte Einbettungs-URL.

Erforderliche Looker-Informationen erfassen

Wenn Sie Ihre URL erstellen möchten, müssen Sie zunächst alle erforderlichen Informationen ermitteln. Folgendes wird benötigt:

URL einbetten

Rufen Sie die URL des Looks, Explores, der Abfragevisualisierung oder des Dashboards ab, den bzw. das Sie einbetten möchten. Entfernen Sie dann die Domain und platzieren Sie /embed vor dem Pfad:

Element Normales URL-Muster URL einbetten
Look https://instance_name.looker.com/looks/4 /embed/looks/4
Erkunden https://instance_name.looker.com/explore/my_model/my_explore /embed/explore/my_model/my_explore
Abfragevisualisierung https://instance_name.looker.com/explore/my_model/my_explore?qid=1234567890abcdefghij12

Die Query.client_id sind die 22 alphanumerischen Zeichen, die in der Explore-URL auf den Parameter qid= folgen. Der Wert Query.client_id ist ein eindeutiger String, der die Abfrage und die Visualisierungseinstellungen darstellt.

Um eine Abfragevisualisierung einzubetten, rufen Sie den Query.client_id-Wert der Abfragevisualisierung ab und kopieren Sie Query.client_id in Ihre Einbettungs-URL.

Sie können die Explore-UI von Looker verwenden, um eine Abfrage mit einer unterstützten Visualisierung zu erstellen und den Query.client_id-Wert aus dem qid=-Parameter zu kopieren. Alternativ können Sie Query.client_id mit der Looker API abrufen, beispielsweise mithilfe der Get Query-Methode.
/embed/query-visualization/Query.client_id
Benutzerdefiniertes Dashboard https://instance_name.looker.com/dashboards/1

Geben Sie alle Dashboardfilterwerte an. Wenn Sie Filterwerte ausblenden, muss der Parameter hide_filter in der Dashboard-URL enthalten sein.
Benutzerdefiniertes Legacy-Dashboard https://instance_name.looker.com/dashboards-legacy/1 /embed/dashboards-legacy/1
LookML-Dashboard https://instance_name.looker.com/dashboards/my_model::my_dashboard /embed/dashboards/my_model::my_dashboard
Legacy-LookML-Dashboard https://instance_name.looker.com/dashboards-legacy/my_model::my_dashboard /embed/dashboards-legacy/my_model::my_dashboard

Eingebetteter Inhalt spiegelt immer die Produktionsversion des Inhalts wider. Alle im Entwicklungsmodus vorgenommenen Änderungen, die sich auf Inhalte auswirken und nicht für die Produktion bereitgestellt wurden, werden nicht in einer Einbettung angezeigt.

Berechtigungen

Mit einem Berechtigungssatz wird festgelegt, was ein Nutzer oder eine Gruppe tun kann. Es gibt zwei Möglichkeiten, Berechtigungen anzuwenden:

  • Modellspezifisch: Diese Art von Berechtigung wird nur auf Modellsätze angewendet, die zur selben Rolle gehören.
  • Instanzweit:Diese Art von Berechtigung gilt für die gesamte Looker-Instanz. Embed-Benutzer mit instanzweiten Berechtigungen können bestimmte Funktionen in der gesamten Looker-Instanz ausführen, aber nicht auf Inhalte zugreifen, die auf Modellen basieren, die nicht im Modellsatz ihrer Rolle enthalten sind.

Legen Sie die Berechtigungen fest, die der Nutzer haben soll. In der folgenden Liste sind alle verfügbaren Berechtigungen für das signierte Einbetten aufgeführt. Berechtigungen, die nicht in der folgenden Liste aufgeführt sind, werden für das signierte Einbetten nicht unterstützt:

Berechtigung Abhängig von Typ Definition
access_data Keine Modellspezifisch Ermöglicht Benutzern den Zugriff auf Daten (erforderlich zum Anzeigen von Looks, Dashboards oder Explores)
see_lookml_dashboards access_data Modellspezifisch Nutzer können LookML-Dashboards anzeigen
see_looks access_data Modellspezifisch Ermöglicht die Anzeige von Looks für den Nutzer
see_user_dashboards see_looks Modellspezifisch Ermöglicht es Nutzern, benutzerdefinierte Dashboards anzusehen und Ordner aus einer Einbettung zu durchsuchen
explore see_looks Modellspezifisch Nutzer können sich Erkundungsseiten anzeigen lassen.
create_table_calculations explore Instanzweit Muss Tabellenkalkulationen in einem Explore erstellen
create_custom_fields explore Instanzweit HINZUGEFÜGT 22.4 Erforderlich zum Erstellen von benutzerdefinierten Feldern in einem Explore
can_create_forecast explore Instanzweit HINZUGEFÜGT 22.12 Ermöglicht Nutzern das Erstellen oder Bearbeiten von Prognosen in Visualisierungen.
save_content see_looks Instanzweit Ermöglicht es Nutzern, Änderungen an Looks und Dashboards vorzunehmen und zu speichern
send_outgoing_webhook see_looks Modellspezifisch Ermöglicht es Benutzern, Looker-Inhaltslieferungen an einen beliebigen Webhook zu planen
send_to_s3 see_looks Modellspezifisch Ermöglicht es Benutzern, Looker-Inhaltslieferungen an einen Amazon S3-Datenbehälter zu planen
send_to_sftp see_looks Modellspezifisch Ermöglicht es Benutzern, Looker-Inhaltslieferungen an einen SFTP-Server zu planen
schedule_look_emails see_looks Modellspezifisch Damit können Nutzer Looker-Inhaltsübermittlungen für ihre eigene E-Mail-Adresse (wenn mit einem Nutzerattribut namens „email“) oder an eine E-Mail-Adresse, die innerhalb der Einschränkungen der Zulassungsliste für E-Mail-Domains liegt, planen. Nutzer mit der Berechtigung „create_alerts“ können Benachrichtigungen an eine E-Mail-Adresse senden, die die Einschränkungen in der Zulassungsliste für E-Mail-Domains enthält.
schedule_external_look_emails schedule_look_emails Modellspezifisch Hiermit können Nutzer die Inhaltsübermittlung von Looker an eine beliebige E-Mail-Domain planen. Ermöglicht Nutzern mit der Berechtigung create_alerts das Senden von Warnmeldungen an eine beliebige E-Mail-Domain.
send_to_integration see_looks Modellspezifisch Ermöglicht es Benutzern, über den Looker Action Hub Looker-Inhalte an in Looker integrierte Drittanbieter-Dienste zu liefern. Diese Berechtigung bezieht sich nicht auf Datenaktionen.
create_alerts see_looks Instanzweit Der Nutzer kann Warnungen zu Dashboardkacheln erstellen, um Benachrichtigungen zu erhalten, wenn bestimmte Bedingungen erfüllt oder überschritten werden. Nutzer können sowohl ihre eigenen Benachrichtigungen als auch die öffentlichen Benachrichtigungen anderer Nutzer bearbeiten, duplizieren und löschen. Wenn der Slack-Workspace des Nutzers nicht mit der Looker-Instanz verbunden ist, kann der Nutzer keine Warnungen erstellen, die Benachrichtigungen an Slack senden.
download_with_limit see_looks Instanzweit Ermöglicht einem Nutzer das Herunterladen der Ergebnisse einer Abfrage mit einem angewendeten Limit
download_without_limit see_looks Instanzweit Der Nutzer kann die Ergebnisse einer Abfrage ohne Limit herunterladen.
see_sql see_looks Modellspezifisch Ermöglicht dem Nutzer die Anzeige des SQL-Codes für Abfragen und aller SQL-Fehler, die sich aus der Ausführung von Abfragen ergeben
clear_cache_refresh access_data Modellspezifisch ADDED 21.14 Nutzer können den Cache leeren und eingebettete Dashboards, Legacy-Dashboards, Dashboard-Tiles, Looks und Explores aktualisieren.
see_drill_overlay access_data Modellspezifisch Ermöglicht es Benutzern, Drilldown durchzuführen, ohne die vollständige Explore-Seite aufrufen zu müssen.
embed_browse_spaces Keine Instanzweit Aktiviert den Inhaltsbrowser, sodass Nutzer Ordner aus einer Einbettung durchsuchen können. Jeder Einbettungsnutzer mit der Berechtigung embed_browse_spaces erhält Zugriff auf einen persönlichen Einbettungsordner und auf den Ordner Freigegeben deiner Organisation, falls vorhanden.

Die Berechtigung „embed_browse_spaces“ wird Nutzern mit der Berechtigung „save_content“ empfohlen, damit sie Ordner ansehen können, wenn sie auswählen, wo Inhalte gespeichert werden sollen.

Um Inhalte in Ordnern zu sehen, benötigt der Nutzer außerdem die Berechtigungen see_looks, see_user_dashboards und see_lookml_dashboards.
embed_save_shared_space Keine Instanzweit ADDED 21.4 Nutzer mit der Berechtigung save_content können über das Dialogfeld Speichern den Ordner Freigegeben der Organisation aufrufen, falls vorhanden. Nutzer, die die Berechtigung save_content, aber nicht die Berechtigung embed_save_shared_space haben, können Inhalte nur in ihrem persönlichen Einbettungsordner speichern.

Die Berechtigung embed_save_shared_space überschreibt nicht Zugriffsberechtigungen für Inhalte. Damit Nutzer beispielsweise Dateien im Ordner Freigegeben speichern können, benötigen sie für den Ordner Freigegeben weiterhin die Zugriffsberechtigung Zugriff verwalten, Bearbeiten. Auch das Fehlen der Berechtigung embed_save_shared_space hindert Nutzer mit der Berechtigung save_content und der Zugriffsberechtigung Zugriff verwalten, Bearbeiten auf den Ordner Freigegeben nicht daran, Inhalte dort zu speichern, wenn es eine andere Möglichkeit gibt, den Ordner Freigegeben aufzurufen, z. B. mit der Option Von hier aus ansehen in einem eingebetteten Dashboard.

Modellzugriff

Legen Sie fest, auf welche LookML-Modelle der Nutzer Zugriff haben sollte. Dies ist einfach eine Liste von Modellnamen.

Nutzerattribute

Ermitteln Sie, welche Nutzerattribute der Nutzer gegebenenfalls haben sollte. Sie benötigen den Namen des Benutzerattributs aus Looker sowie den Wert, den der Benutzer für dieses Attribut haben sollte.

Gruppen

Legen Sie fest, welchen Gruppen der Nutzer angehören soll, falls zutreffend. Sie benötigen die Gruppen-IDs, nicht die Gruppennamen. Wenn Sie einer Looker-Gruppe einen signierten Einbettungsnutzer hinzufügen, können Sie den Zugriff dieses Nutzers auf Looker-Ordner verwalten. Nutzer mit signierten Einbettungen haben Zugriff auf alle Ordner, die für Mitglieder ihrer Looker-Gruppen freigegeben sind.

Sie können auch den Parameter external_group_id verwenden, um eine Gruppe außerhalb der regulären Looker-Gruppen zu erstellen. In diesem Fall haben signierte Einbettungsnutzer mit derselben external_group_id Zugriff auf einen freigegebenen Ordner namens „Gruppe“, der für diese externe Gruppe eindeutig ist.

Eingebettete Rollen

Mit den Parametern permissions und models wird eine Rolle für den eingebetteten Nutzer erstellt. Diese Rolle wird im Looker-Bereich Admin auf der Seite Nutzer als „Eingebettete Rolle“ angezeigt. Wenn die Parameter permissions, models und group_ids in der Einbettungs-URL angegeben sind, kann die eingebettete Rolle allen Rollen, die den im Parameter group_ids aufgeführten Gruppen bereits zugewiesen sind, hinzugefügt werden. Dies entspricht den Standardrollen, da alle Rollen in Looker additiv sind.

Angenommen, Sie haben in Looker bereits eine Gruppe mit der Gruppen-ID 1, die bereits die Berechtigung explore für ein Modell mit dem Namen model_one hat und Sie eine Einbettungs-URL mit den folgenden Parametern erstellen:

  • group_ids = ["1"]
  • permissions = ["access_data","see_looks"]
  • models = ["model_two"]

In diesem Fall übernimmt der eingebettete Nutzer die Berechtigung, die Daten in model_one anzusehen und zu untersuchen. Die mit den vorherigen Parametern erstellte Einbettungsrolle gewährt ebenfalls die Berechtigung zum Ansehen der Daten in model_two.

Einbettungs-URL erstellen

Eine signierte Einbettungs-URL hat folgendes Format:

https://HOSThttps://EINBETTEN URLhttps://PARAMETERhttps://SIGNATUR

Host

Der Host ist der Standort, an dem Ihre Looker-Instanz gehostet wird. Beispiel: analytics.mycompany.com. Geben Sie unbedingt die Portnummer an, wenn Sie die Portweiterleitung nicht aktiviert haben, z. B. analytics.mycompany.com:9999.

URL einbetten

Die Einbettungs-URL wurde bereits festgelegt. Das Format sieht etwa so aus:

  • /embed/looks/4
  • /embed/explore/my_model/my_explore
  • /embed/query-visualization/Query.client_id
  • /embed/dashboards/1 oder /embed/dashboards-legacy/1
  • /embed/dashboards/my_model::my_dashboard oder /embed/dashboards-legacy/my_model::my_dashboard

Das bedeutet, dass das Muster /embed//embed/ in der finalen URL angezeigt wird. Das ist richtig.

Wenn du eingebettete JavaScript-Ereignisse verwendest, musst du am Ende der Einbettungs-URL eine embed_domain (die Domain, in der der iFrame verwendet wird) hinzufügen:

/embed/looks/4
/embed/looks/4?embed_domain=https://mywebsite.com

embed_domain wird nach der Einbettungs-URL und vor allen Parametern eingefügt. Wenn Sie also bereits Parameter wie nonce=626 haben, würde das Hinzufügen von embed_domain so aussehen:

/embed/looks/4?nonce=626
/embed/looks/4?embed_domain=https://mywebsite.com?nonce=626

Wenn du das Embed SDK verwendest, musst du embed_domain und sdk=2 am Ende der Einbettungs-URL hinzufügen. Das sieht dann so aus:

/embed/looks/4
/embed/looks/4?embed_domain=https://mywebsite.com&sdk=2

Anhand des sdk=2-Parameters kann Looker erkennen, dass das SDK vorhanden ist, und zusätzliche Funktionen des SDK nutzen. Das SDK kann diesen Parameter nicht selbst hinzufügen, da er Teil der signierten URL ist.

Parameter

Mit den folgenden URL-Parametern werden die erforderlichen Informationen für die signierte Einbettung angegeben:

Parameter Standardwert Beschreibung Datentyp Beispiel
nonce Wert erforderlich Jeder beliebige String. Er darf jedoch nicht innerhalb einer Stunde wiederholt werden und muss weniger als 255 Zeichen enthalten.

Dadurch wird verhindert, dass Angreifer die URL eines legitimen Nutzers noch einmal senden, um Informationen zu erhalten, die er nicht haben sollte.
JSON-String "22b1ee700ef3dc2f500fb7"
time Wert erforderlich Die aktuelle Zeit als UNIX-Zeitstempel. Integer 1407876784
session_length Wert erforderlich Die Anzahl der Sekunden, die der Nutzer bei Looker angemeldet bleiben soll, zwischen 0 und 2.592.000 Sekunden (30 Tage). Integer 86400
external_user_id Wert erforderlich Eine Kennung für jeden Nutzer in der Anwendung, in die Looker eingebettet ist. Looker verwendet external_user_id, um signierte Nutzer von eingebetteten Inhalten zu unterscheiden. Daher muss jedem Nutzer eine eindeutige ID zugewiesen werden.

Sie können ein external_user_id-Objekt mit einem beliebigen String für einen Nutzer erstellen, solange er für diesen Nutzer eindeutig ist. Jeder ID ist eine Reihe von Berechtigungen, Nutzerattributen und Modellen zugeordnet. Ein einzelner Browser unterstützt jeweils nur eine external_user_id-Nutzersitzung. Während der Sitzung können die Berechtigungen oder Attribute eines Nutzers nicht geändert werden.

Aus Sicherheitsgründen solltest du darauf achten, dass du nicht dieselbe external_user_id in verschiedenen Einbettungssitzungen für verschiedene interaktive Nutzer verwendest. Außerdem solltest du nicht dieselbe external_user_id für einen einzelnen Nutzer mit unterschiedlichen Berechtigungen, Nutzerattributwerten oder Modellzugriff verwenden.

Wenn Sie dieselbe external_user_id für mehrere Nutzer oder denselben Nutzer mit mehreren Berechtigungen, Nutzerattributen oder Modellsätzen verwenden, können Daten auch für Nutzer sichtbar sein, die sonst keinen Zugriff darauf hätten.
JSON-String "user-4"
permissions Wert erforderlich Die Liste der Berechtigungen, die der Nutzer haben sollte.

Eine Liste der zulässigen Berechtigungen finden Sie auf dieser Seite im Abschnitt Berechtigungen.
Stringarray [

  "access_data",

  "see_looks"

]
models Wert erforderlich Die Liste der Modellnamen, auf die der Nutzer Zugriff haben soll. Stringarray [

  "model_one",

  "model_two"

]
group_ids [] Die Liste der Looker-Gruppen, in denen der Nutzer Mitglied sein sollte, falls vorhanden. Verwenden Sie Gruppen-IDs anstelle von Gruppennamen. Stringarray ["4", "3"]
external_group_id "" Gegebenenfalls eine eindeutige Kennung für die Gruppe, der der Nutzer in der Anwendung angehört, in die Looker eingebettet ist.

Nutzer, die berechtigt sind, Inhalte zu speichern und eine externe Gruppen-ID freizugeben, können Inhalte in einem freigegebenen Looker-Ordner namens „Gruppe“ speichern und bearbeiten.
JSON-String "Accounting"
user_attributes {} Die Liste der Nutzerattribute, die der Nutzer haben sollte, falls vorhanden. Enthält eine Liste mit Nutzerattributnamen, gefolgt vom Nutzerattributwert.

Wenn Ihr LookML-Modell lokalisiert ist, können Sie mithilfe des Nutzerattributs locale in der Einbettungs-URL eine Sprache für die Einbettung angeben. Wenn beispielsweise der Parameter user_attributes { "locale" : "fr_FR" } eingefügt wird, würde die Einbettung dazu führen, dass Französisch als Sprache geladen wird.
Hash von Strings {

  "vendor_id" : "17",

  "company" : "xactness"

}
access_filters Wert erforderlich In Looker 3.10 wurde dieser Parameter entfernt, ist aber weiterhin in der URL erforderlich. Verwenden Sie access_filters mit einem leeren Platzhalter, z. B. access_filters={}. Leerer Platzhalter {}
first_name "" Der Vorname des Nutzers. Wenn das Feld leer ist, behält first_name den Wert aus der letzten Anfrage bei oder „Embed“ (Einbetten), wenn noch kein Vorname festgelegt wurde. JSON-String "Alice"
last_name "" Der Nachname des Nutzers. Wenn das Feld leer gelassen wird, behält last_name den Wert aus der letzten Anfrage bei oder „Embed“ (Einbetten), wenn noch kein Nachname festgelegt wurde. JSON-String "Jones"
user_timezone "" Wenn Sie nutzerspezifische Zeitzonen aktiviert haben, wird der Wert für die Option Zeitzone des Nutzers im Drop-down-Menü Zeitzone des eingebetteten Looks oder Dashboards festgelegt. Durch diesen Parameter wird die Zeitzone, in der die Inhalte angezeigt werden, nicht direkt geändert. Der Nutzer muss eine Zeitzone aus dem Drop-down-Menü auswählen.

Gültige Werte finden Sie auf der Dokumentationsseite Referenz zur Zeitzone für signierte Einbettungen.

Tipp für das Chat-Team: Wenn Sie möchten, dass für Ihre eingebetteten Inhalte standardmäßig die Zeitzone des Zuschauers verwendet wird, haben Sie folgende Möglichkeiten:

  • Füge der Einbettungs-URL den Parameter ?query_timezone=user_timezone hinzu. Beispiel:

    /embed/dashboards/1?query_timezone=user_timezone
  • Speichern Sie das eingebettete Dashboard oder den Look mit der Standardzeitzone unter Viewer Time Zone. Dadurch wird die Zeitzone des Nutzers sowohl für eingebettete als auch für Nutzer ohne Einbettung verwendet.
  • JSON-String oder Null "US/Pacific"

    - oder -

    null
    force_logout_login Wert erforderlich Wenn ein normaler Looker-Benutzer bereits bei Looker angemeldet ist und ein signiertes eingebettetes Element aufruft, können Sie zwischen folgenden Optionen wählen:

    1) Er sollte das Element mit seinen aktuellen Anmeldedaten aufrufen.

    oder

    2) Sie müssen abgemeldet und mit den Anmeldedaten für die Einbettung wieder angemeldet werden.
    Boolesch (wahr oder falsch) true

    Unterschrift

    Gehen Sie wie folgt vor, um die Signatur zu generieren:

    1. Erfassen Sie die folgenden Parameterwerte in dieser Reihenfolge:
      • Host, gefolgt von login/embed/ (z. B. analytics.mycompany.com/login/embed/)
      • URL einbetten
      • Nonce
      • Aktuelle Uhrzeit
      • Sitzungsdauer
      • Externe Nutzer-ID
      • Berechtigungen
      • Modelle
      • Gruppen-IDs
      • ID der externen Gruppe
      • Nutzerattribute
      • Zugriffsfilter (leerer Platzhalter erforderlich)
    2. Alle Werte außer „Host“ und „URL einbetten“ als JSON formatieren
    3. Werte mit Zeilenumbrüchen verketten (\n)
    4. HMAC signiert den verketteten String mit Ihrem geheimen Looker-Einbettungsschlüssel

    Codierung

    Im letzten Schritt muss Ihre URL URL-codiert werden.

    Bevor du die URL codierst, könnte eine korrekt formatierte Einbettungs-URL mit allen möglichen Parametern so aussehen:

    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
    

    Wie bereits erwähnt, ist es korrekt, dass /embed//embed/ in Ihrer URL erscheint.

    Nachdem Sie die URL codiert haben, sieht sie so aus:

    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
    

    API-Endpunkt „Signierte Embed Url erstellen“ verwenden

    Die Looker API enthält den Endpunkt Signierte Einbettungs-URL erstellen. Dieser verwendet eine Reihe signierter Einbettungsparameter, die die URL des einzubettenden Inhalts enthält, und gibt eine vollständige, codierte, kryptografisch signierte URL zurück.

    Damit dieser API-Endpunkt auf einem Webserver verwendet werden kann, muss sich der Webserver mit Administratorberechtigungen bei der Looker API authentifizieren können. Die Webserverdomain muss auch auf der Zulassungsliste für eingebettete Domains aufgeführt sein.

    Sie können auch den API Explorer verwenden, um eine signierte URL zu generieren, die diesen Endpunkt verwendet. Sie können den API Explorer über den Looker Marketplace auf Ihrer Looker-Instanz installieren oder eine öffentliche Version im Looker-Entwicklerportal aufrufen. Nach der Erstellung muss die signierte URL genau kopiert werden und kann nur einmal verwendet werden. Andernfalls schlägt sie fehl. Der API Explorer ist auch nützlich, um eine signierte URL zu generieren und sie zur Fehlerbehebung mit einer manuell erstellten signierten URL zu vergleichen.

    Weitere Informationen zur Looker API finden Sie auf der Dokumentationsseite Erste Schritte mit der Looker API.

    Einbettungs-URL testen

    Um die finale URL zu testen, fügen Sie sie im Looker-Bereich Admin auf der Seite Einbetten in das Feld URI-Validierung einbetten ein. Mit dieser Option lässt sich zwar nicht feststellen, ob die von Ihnen vorgesehenen Daten und Berechtigungen korrekt eingerichtet wurden, können aber überprüfen, ob Ihre Authentifizierung ordnungsgemäß funktioniert.