Einmalanmeldung (SSO) einbetten

Wenden Sie sich an Ihren Looker-Account Manager, wenn Sie diese Funktionen nutzen möchten.

Mit der Einbettung einer Einmalanmeldung (SSO) können Sie Ihren Nutzern private eingebettete Looks, Visualisierungen, explorative Datenanalysen, Dashboards oder LookML-Dashboards präsentieren, ohne dass sie eine separate Looker-Anmeldung benötigen. Stattdessen werden Nutzer über Ihre eigene Anwendung authentifiziert.

Für die SSO-Einbettung wird eine spezielle Looker-URL erstellt, die Sie in einem iFrame verwenden. Die URL enthält die Informationen, die Sie freigeben möchten, die ID des Nutzers in Ihrem System und die Berechtigungen, die dieser Nutzer haben soll. Anschließend signieren Sie die URL mit einem geheimen Schlüssel von Looker.

Weitere Informationen zum öffentlichen Einbetten findest du auf der Dokumentationsseite zu Öffentliche Freigabe, Import und Einbettung von Looks im Abschnitt Öffentliche Einbettung mit iframe-Tags.

Korrektes Hosting für SSO-Einbettungen

Einige Browser, z. B. Safari oder Browser, in denen Anzeigen oder Tracking-Erweiterungen installiert sind, verwenden standardmäßig eine Cookierichtlinie, die Cookies von Drittanbietern blockiert. Da Looker Cookies für die Nutzerauthentifizierung verwendet, ist es nicht möglich, den eingebetteten iFrame domainübergreifend zu authentifizieren, es sei denn, der Nutzer ändert die Cookie-Datenschutzeinstellungen des Browsers. Wenn Sie beispielsweise Informationen in https://mycompany.com einbetten möchten, müssen Sie darauf achten, dass Looker dieselbe Domain verwendet, z. B. https://analytics.mycompany.com.

Wenn Looker Ihre Instanz hostet, bitten Sie den Looker-Support, die erforderliche DNS-Konfiguration für die Verwendung der benutzerdefinierten Domain einzurichten. So kann Looker dieselbe Domain wie die eingebettete Anwendung verwenden und eigene Cookies verwenden, die standardmäßig in allen Browsern akzeptiert werden. Öffnen Sie eine Supportanfrage in der Looker-Hilfe, indem Sie auf Kontakt klicken.

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

Sichtbarkeit des Clients mit einem geschlossenen System steuern

Bei SSO-Nutzern ist es üblich, dass Looker-Nutzer ihren Kunden Daten präsentieren und dabei Clients aus anderen Unternehmen oder Gruppen haben, die einander nicht kennen sollten. Zum Schutz Ihrer privaten Daten empfehlen wir dringend, Looker als geschlossenes System zu konfigurieren, das auch als mehrinstanzenfähige Installation bezeichnet wird. In einem geschlossenen System werden Inhalte isoliert gespeichert, um zu verhindern, dass Nutzer aus verschiedenen Gruppen voneinander erfahren. Aus diesem Grund empfehlen wir, dass Sie die Option Geschlossenes System aktivieren, bevor Sie externen Nutzern Zugriff auf Ihre Instanz gewähren.

Weitere Informationen finden Sie auf der Dokumentationsseite Ein System von Zugriffsebenen entwerfen und konfigurieren und in den Best Practices für die Sicherheit eingebetteter Analysen.

Geheimer Schlüssel von Looker wird generiert

Um zu bestätigen, dass eine Anfrage für die SSO-Einbettung seriös ist und nicht von einer anderen Person gefälscht wurde, müssen Sie zuerst ein Einbettungs-Secret generieren. Anleitung:

  1. Rufen Sie in Looker im Abschnitt Admin die Seite Embed auf.
  2. Wählen Sie im Drop-down-Menü Einbetten der SSO-Authentifizierung die Option Aktiviert aus und klicken Sie dann auf Aktualisieren.
  3. Klicke auf die Schaltfläche Secret zurücksetzen, um das Einbettungs-Secret zu generieren. Achten Sie darauf, dieses Secret an einen sicheren Speicherort zu kopieren, da Sie es nicht ohne vorheriges Abrufen aus Looker abrufen können. Wenn Sie den Schlüssel zurücksetzen, funktionieren alle Einbettungen, die den alten Schlüssel verwendet haben, nicht mehr.

Jeder Nutzer mit Zugriff auf den geheimen Schlüssel kann eine URL für den Zugriff auf jedes Modell erstellen, mit dem die Looker-Instanz wie alle Nutzer mit entsprechender Berechtigung verbunden ist. Schützen Sie das SSO-Einbettungsgeheimnis wie bei Administrator-Anmeldedaten für Ihre eingebettete Looker-Instanz. Lassen Sie die SSO-Einbettung deaktiviert, wenn Sie sie nicht verwenden.

Einbettungs-URL erstellen

Zum Erstellen der richtigen URL müssen Sie Code schreiben, damit Sie die URL richtig mit Ihrem geheimen Schlüssel codieren und weitere sicherheitsrelevante Elemente generieren können. In unserem GitHub-Repository für SSO-Beispiele finden Sie mehrere Beispielskripts. In den folgenden Abschnitten werden die Informationen erläutert, die Sie für diese Skripts bereitstellen müssen.

Erforderliche Looker-Informationen erfassen

Als Ausgangspunkt zum Erstellen Ihrer URL sollten Sie zuerst alle erforderlichen Informationen angeben. Folgendes wird benötigt:

URL einbetten

Rufen Sie die URL des Look-, Explore-, Abfragevisualisierungs- oder Dashboard-Elements ab, das Sie einbetten möchten. Entfernen Sie dann die Domain und setzen Sie /embed vor den Pfad:

Element Normales URL-Muster URL einbetten
Look https://instance_name.looker.com/
looks/4
/embed/looks/4
Untersuchen 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 umfasst die 22 alphanumerischen Zeichen, die dem Parameter qid= in der URL „Entdecken“ 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 die Query.client_id in Ihre eingebettete URL.

Über die Benutzeroberfläche von Looker Erkunden können Sie eine Abfrage mit einer unterstützten Visualisierung erstellen und den Query.client_id-Wert aus dem Parameter qid= kopieren. Alternativ können Sie Query.client_id mit der Looker API mithilfe der Methode Get Query abrufen.
/embed/query-visualization/Query.client_id
Benutzerdefiniertes Dashboard https://instance_name.looker.com/
dashboards/1
/embed/dashboards/1
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. Im Entwicklungsmodus vorgenommene Änderungen, die sich auf den Inhalt auswirken und noch nicht in der Produktionsumgebung bereitgestellt wurden, werden nicht in einer Einbettung angezeigt.

Berechtigungen

Mit einem Berechtigungssatz wird festgelegt, was ein Nutzer oder eine Gruppe tun kann. Berechtigungen können auf zwei Arten angewendet werden:

  • Modellspezifisch: Dieser Berechtigungstyp wird nur auf die Modellsätze angewendet, die Teil derselben Rolle sind.
  • Instanzweit: Dieser Berechtigungstyp gilt für die gesamte Looker-Instanz. Nutzer mit instanzweiten Berechtigungen können bestimmte Funktionen in der gesamten Looker-Instanz ausführen, haben aber keinen Zugriff auf Inhalte, die auf Modellen basieren, die nicht im Modellsatz der Rolle enthalten sind.

Legen Sie die Berechtigungen fest, die der Nutzer haben soll. Die folgende Liste enthält alle verfügbaren Berechtigungen für die SSO-Einbettung. Berechtigungen, die nicht auf der folgenden Liste stehen, werden für die SSO-Einbettung nicht unterstützt:

Berechtigung Hängt von Typ Definition
access_data Modellspezifisch Der Nutzer darf auf Daten zugreifen (erforderlich für die Anzeige von Looks, Dashboards oder Entdeckungen)
see_lookml_dashboards access_data Modellspezifisch Nutzer können LookML-Dashboards ansehen
see_looks access_data Modellspezifisch Lässt Nutzer den Look sehen
see_user_dashboards see_looks Modellspezifisch Nutzer können benutzerdefinierte Dashboards sehen und Ordner aus einer eingebetteten Datei ansehen
explore see_looks Modellspezifisch Nutzer sieht die Seiten „Entdecken“
create_table_calculations explore Instanzweit Tabellenberechnungen in einem Tab „Entdecken“ erstellen
create_custom_fields explore Instanzweit ADDED 22.4 Erforderlich, um benutzerdefinierte Felder in einem Explore zu erstellen
can_create_forecast explore Instanzweit ADDED 22.12 Nutzer können Prognosen in Visualisierungen erstellen oder bearbeiten.
save_content see_looks Instanzweit Nutzer kann Änderungen an Looks und Dashboards vornehmen und speichern
send_outgoing_webhook see_looks Modellspezifisch Ermöglicht es Nutzern, Dashboards zu planen und einen beliebigen Webhook anzusehen
send_to_s3 see_looks Modellspezifisch Ermöglicht es Nutzern, Dashboards zu planen und einen Amazon S3-Bucket anzusehen
send_to_sftp see_looks Modellspezifisch Ermöglicht es Nutzern, Dashboards zu planen und einen SFTP-Server auszuwählen
schedule_look_emails see_looks Modellspezifisch Damit können Nutzer Dashboards planen und sie werden an ihre eigene E-Mail-Adresse (die mit einem Nutzerattribut mit dem Namen "email") oder an eine E-Mail-Adresse gesendet wird, die innerhalb der in der Zulassungsliste für E-Mail-Domains festgelegten Einschränkungen liegt. Nutzer mit create_alerts-Berechtigungen können Benachrichtigungen an eine E-Mail-Adresse senden, die innerhalb der durch die Zulassungsliste für E-Mail-Domains festgelegten Beschränkungen liegt.
schedule_external_look_emails schedule_look_
emails
Modellspezifisch Ermöglicht Nutzern, Dashboards zu planen und das Senden per E-Mail zu planen. Nutzer mit create_alerts-Berechtigungen können Benachrichtigungen an eine beliebige E-Mail-Domain senden.
send_to_
integration
see_looks Modellspezifisch Ermöglicht es Nutzern, über den Looker Action Hub Looker-Inhalte an die in Looker integrierten Drittanbieterdienste zu senden. Weitere Informationen Diese Berechtigung hat nichts mit Datenaktionen zu tun.
create_alerts see_looks Instanzweit Nutzer können Benachrichtigungen auf Dashboard-Kacheln erstellen, um Benachrichtigungen zu erhalten, wenn bestimmte Bedingungen erfüllt oder überschritten werden. Nutzer können ihre eigenen und andere Warnungen bearbeiten, duplizieren und löschen. Wenn der Slack-Arbeitsbereich des Nutzers nicht mit der Looker-Instanz verbunden ist, kann der Nutzer keine Benachrichtigungen erstellen, durch die Benachrichtigungen an Slack gesendet werden.
download_with_limit see_looks Instanzweit Zulassen, dass der Nutzer Ergebnisse einer Abfrage mit einem angewendeten Limit herunterlädt
download_without_limit see_looks Instanzweit Zulassen, dass der Nutzer Ergebnisse einer Abfrage ohne Begrenzung herunterlädt
see_sql see_looks Modellspezifisch Lässt den Nutzer den SQL für Abfragen und alle SQL-Fehler sehen, die sich aus der Ausführung von Abfragen ergeben
clear_cache_refresh access_data Modellspezifisch HINZUGEFÜGT 21.14 Nutzer können den Cache leeren und eingebettete Dashboards, Legacy-Dashboards, Dashboard-Kacheln, „Looks“ und „Erkunden“ aktualisieren.
see_drill_overlay access_data Modellspezifisch Hiermit können Nutzer die Aufschlüsselung durchführen, ohne die Seite „Erkunden“ aufrufen zu müssen.
embed_browse_spaces Instanzweit Aktiviert den Inhaltsbrowser, sodass ein Nutzer Ordner aus einem eingebetteten Inhalt durchsuchen kann. Einbettungsnutzer mit embed_browse_spaces-Berechtigung erhalten Zugriff auf einen persönlichen Einbettungsordner und den Freigegebenen Ordner Ihrer Organisation (falls vorhanden).

Die Berechtigung embed_browse_spaces wird für Nutzer mit der Berechtigung save_content empfohlen, damit sie Ordner auswählen können, wenn sie einen Speicherort für Inhalte auswählen.

Um die Inhalte in Ordnern sehen zu können, benötigt der Nutzer außerdem die Berechtigungen see_looks, see_user_dashboards und see_lookml_dashboards.
embed_save../_shared_space Instanzweit HINZUGEFÜGT 21.4 Ermöglicht Nutzern, die ebenfalls die Berechtigung save_content haben, über das Dialogfeld Speichern den Ordner Freigegeben der Organisation aufzurufen, falls vorhanden. Nutzer mit der Berechtigung save_content, aber nicht embed_save_shared_space können nur Inhalte in ihrem persönlichen Einbettungsordner speichern.

Die Berechtigung embed_save_shared_space hat keine Auswirkungen auf die Zugriffsberechtigungen für Inhalte. Damit die Nutzer beispielsweise Inhalte im Ordner Freigegeben speichern können, benötigen sie weiterhin die Berechtigung Zugriff verwalten, Bearbeiten für den Ordner Freigegeben. Außerdem verhindert das Fehlen der Berechtigung embed_save_shared_space nicht, dass ein Nutzer mit der Berechtigung save_content und mit der Berechtigung Zugriff verwalten, Bearbeiten für den Ordner Freigegeben den Inhalt dort speichert, wenn er eine alternative Möglichkeit hat, den Ordner Freigegeben aufzurufen, z. B. über die Option Von hier entdecken aus einem eingebetteten Dashboard.

Modellzugriff

Legen Sie fest, auf welche LookML-Modelle der Nutzer zugreifen kann. Das ist dann einfach eine Liste mit Modellnamen.

Nutzerattribute

Legen Sie gegebenenfalls fest, welche Nutzerattribute der Nutzer haben soll. Sie benötigen den Namen des Nutzerattributs aus Looker sowie den Wert, den der Nutzer für dieses Attribut haben soll.

Groups

Bestimmen Sie, zu welchen Gruppen der Nutzer gehören soll (falls zutreffend). Im Gegensatz zu den Gruppennamen benötigen Sie die Gruppen-IDs. Wenn Sie einer Looker-Gruppe einen eingebetteten SSO-Nutzer hinzufügen, können Sie den Zugriff dieses Nutzers auf Looker-Ordner verwalten. SSO-Einbettungsnutzer haben Zugriff auf alle Ordner, die für die Mitglieder ihrer Looker-Gruppen freigegeben sind.

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

Eingebettete Rollen

Die Parameter permissions und models erstellen eine Rolle für den eingebetteten Nutzer. Diese Rolle wird auf der Seite Nutzer im Abschnitt Admin von Lookers als eingebettete Rolle angezeigt. Wenn in der eingebetteten URL alle Parameter permissions, models und group_ids angegeben sind, wird die eingebettete Rolle additiv zu allen Rollen hinzugefügt, die bereits den im Parameter group_ids aufgeführten Gruppen zugewiesen sind. Dies ist das gleiche wie bei Standardrollen, da alle Rollen in Looker additiv sind.

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

  • 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 aufzurufen und zu prüfen. Die mit den vorherigen Parametern erstellte Einbettungsrolle gewährt dann auch die Berechtigung zum Aufrufen der Daten in model_two.

Einbettungs-URL erstellen

Eine SSO-Einbettungs-URL hat das folgende Format:

https://HOST/login/embed/EMBED URL?PARAMETERS&signature=SIGNATURE

Host

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

URL einbetten

Die Einbettungs-URL wurde zuvor ermittelt. Sie hat folgendes Format:

  • /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.

Wenn du eingebettete JavaScript-Ereignisse verwendest, musst du embed_domain (die Domain, in der der iFrame verwendet wird) an das Ende der eingebetteten URL anhängen. Das sieht dann so aus:

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

embed_domain wird nach der Einbettungs-URL und vor allen Parametern eingefügt. Bei vorhandenen Parametern wie nonce=626 würde das Hinzufügen von embed_domain folgendermaßen 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 hinzufügen und sdk=2 am Ende der eingebetteten URL einfügen:

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

Mit dem Parameter sdk=2 kann Looker feststellen, dass das SDK vorhanden ist, und zusätzliche Funktionen des SDK nutzen. Das SDK kann diesen Parameter nicht selbst hinzufügen, da es Teil der signierten SSO-URL ist.

Parameter

Die folgenden URL-Parameter werden verwendet, um die erforderlichen Informationen für die Einbettung der Einmalanmeldung (SSO) anzugeben:

Parameter Wert erforderlich? Beschreibung Datentyp Beispiel
nonce Ja Beliebiger String, der beliebig oft wiederholt werden darf. Er darf nicht länger als 255 Zeichen sein.

Dadurch wird verhindert, dass ein Angreifer eine legitime Nutzer-URL noch einmal einreicht, um Informationen zu sammeln, die er nicht haben sollte.
JSON-String "22b1ee700ef3dc2f500fb7"
time Ja Die aktuelle Zeit als UNIX-Zeitstempel. Integer 1407876784
session_length Ja Die Anzahl der Sekunden, die der Nutzer bei Looker angemeldet bleibt, zwischen 0 und 2.592.000 Sekunden (30 Tage). Integer 86400
external_user_id Ja Eine Kennzeichnung für jeden Nutzer in der Anwendung, die Looker einbettet. Looker verwendet external_user_id, um SSO-Einbettungsnutzer voneinander zu unterscheiden. Daher muss jedem Nutzer eine eindeutige ID zugewiesen werden.

Sie können eine external_user_id für einen Nutzer mit einem beliebigen String erstellen, solange er für diesen Nutzer eindeutig ist. Jede ID ist mit einer Reihe von Berechtigungen, Nutzerattributen und Modellen verknüpft. Ein einzelner Browser kann jeweils nur eine external_user_id (Nutzersitzung) unterstützen. An den Berechtigungen oder Nutzerattributen eines Nutzers können während einer Sitzung keine Änderungen vorgenommen werden.

Aus Sicherheitsgründen solltest du für unterschiedliche Einbettungssitzungen für verschiedene interaktive Nutzer nicht denselben external_user_id verwenden. Außerdem solltest du darauf achten, nicht denselben external_user_id für einen einzelnen Nutzer mit unterschiedlichen Berechtigungen, Nutzerattributwerten oder demselben Modellzugriff zu verwenden.

Wenn du dieselbe external_user_id für mehrere Nutzer oder für einen anderen Nutzer mit mehreren Berechtigungen verwendest, kann es passieren, dass Nutzerdaten sichtbar werden.
JSON-String "user-4"
permissions Ja Die Liste der Berechtigungen für den Nutzer.

Im Abschnitt Berechtigungen auf dieser Seite finden Sie eine Liste der zulässigen Berechtigungen.
Stringarray [
  "access_data",
  "see_looks"
]
models Ja Die Liste der Modellnamen, auf die der Nutzer Zugriff haben sollte. Stringarray [
  "model_one",
  "model_two"
]
group_ids Nein Die Liste der Looker-Gruppen, in denen der Nutzer Mitglied sein sollte, sofern vorhanden. Verwenden Sie Gruppen-IDs anstelle von Gruppennamen. Array von Ganzzahlen [4, 3]
external_group_id Nein Eine eindeutige Kennung für die Gruppe, zu der der Nutzer in der Anwendung gehört, in die Looker eingebettet ist, falls gewünscht.

Nutzer, die berechtigt sind, Inhalte zu speichern und eine externe Gruppen-ID verwenden, können Inhalte in einem freigegebenen Looker-Ordner mit dem Namen "Group." speichern und bearbeiten.
JSON-String "Accounting"
user_attributes Nein Die Liste der Nutzerattribute, die der Nutzer haben sollte, falls vorhanden. Enthält eine Liste mit Nutzerattributnamen, gefolgt vom Wert des Nutzerattributs.

Wenn dein LookML-Modell lokalisiert ist, kannst du das Nutzerattribut locale in der eingebetteten URL verwenden, um eine Sprache für die Einbettung anzugeben. Wenn Sie beispielsweise den Parameter user_attributes { "locale" : "fr_FR" } einfügen, wird das Einbettungsprogramm Französisch als Sprache geladen.
Hash von Strings {
  "vendor_id" : "17",
  "company" : "xactness"
}
access_filters Ja In Looker 3.10 wurde dieser Parameter entfernt, ist aber in der URL weiterhin erforderlich. Verwenden Sie access_filters mit einem leeren Platzhalter, z. B. access_filters={}. Platzhalter leer {}
first_name Nein Der Vorname des Nutzers. Wenn Sie das Feld leer lassen, behält first_name den Wert der letzten Anfrage bei oder wird „Einbetten“ verwendet, wenn noch kein Vorname festgelegt wurde. JSON-String "Alice"
last_name Nein Der Nachname des Nutzers. Wenn Sie das Feld leer lassen, behält last_name den Wert der letzten Anfrage bei oder wird „Einbetten“ verwendet, wenn noch kein Nachname festgelegt wurde. JSON-String "Jones"
user_timezone Nein Wenn Sie Nutzerspezifische Zeitzonen aktiviert haben, legen Sie den Wert der Option Betrachterzeitzone im Drop-down-Menü Zeitzone im eingebetteten Design oder Dashboard fest. Dieser Parameter ändert nicht direkt die Zeitzone, in der der Inhalt angezeigt wird. Der Nutzer muss im Drop-down-Menü die gewünschte Zeitzone auswählen.

Gültige Werte finden Sie auf der Dokumentationsseite SSO-Einbettung der Zeitzone.

Tipp für das Chatteam: Wenn Sie möchten, dass Ihr eingebetteter Inhalt standardmäßig auf die Zeitzone des Betrachters eingestellt wird, verwenden Sie eine der folgenden Methoden:

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

    /embed/dashboards/1?query_timezone=user_timezone
  • Speichern Sie das eingebettete Dashboard oder sehen Sie nach, ob die Standardzeitzone auf Zeitzone des Betrachters eingestellt ist. Dadurch wird die Zeitzone des Nutzers standardmäßig sowohl für eingebettete als auch für nicht eingebettete Nutzer verwendet.
  • JSON-String oder null "US/Pacific"

    oder -

    null
    force_logout_login Ja Wenn ein normaler Looker-Nutzer bereits in Looker angemeldet ist und sich ein in SSO eingebettetes Element ansieht, können Sie auswählen, ob:

    1) das Element mit seinen aktuellen Anmeldedaten

    oder

    2) mit abgemeldeten Anmeldedaten angemeldet und wieder angemeldet werden soll.
    Boolesch (wahr oder falsch) true

    Alle vorherigen Parameter sind erforderlich. Es kann jedoch jeder Parameter mit einem leeren Wert in der Spalte „Wert erforderlich“ verwendet werden. Sie können beispielsweise group_ids [] oder user_attributes {} verwenden.

    Signatur

    Führen Sie die folgenden Schritte aus, 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 Zeit
      • Sitzungsdauer
      • Externe Nutzer-ID
      • Berechtigungen
      • Modelle
      • Gruppen-IDs
      • Externe Gruppen-ID
      • Benutzerattribute
      • Zugriffsfilter (leerer Platzhalter erforderlich)
    2. Alle anderen Werte außer Host- und URL einbetten als JSON formatieren
    3. Werte mit Zeilenumbrüchen verketten (\n)
    4. HMAC zum Signieren des verketteten Strings mit dem Looker-Einbettungsgeheimnis

    Codierung

    Im letzten Schritt kodieren Sie die URL.

    Vor der Codierung der URL könnte eine korrekt formatierte URL, die alle möglichen Parameter enthält, folgendermaßen 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, darf /embed//embed/ in Ihrer URL enthalten sein.

    Nachdem Sie die URL codiert haben, sieht sie in etwa 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 create_sso_embed_url verwenden

    Die Looker API enthält den create_sso_embed_url-Endpunkt, der eine Reihe von eingebetteten SSO-Parametern verwendet, die die URL des einzubettenden Inhalts enthalten, und eine vollständige, codierte, kryptografisch signierte SSO-URL zurückgibt.

    Wenn Sie diesen API-Endpunkt auf einem Webserver verwenden möchten, muss sich der Webserver mit Administratorberechtigungen bei der Looker API authentifizieren können. Die Webserverdomain muss außerdem in der Zulassungsliste für eingebettete Domains aufgeführt sein.

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

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

    Einbettungs-URL testen

    Um die finale URL zu testen, fügen Sie sie auf der Seite Einbetten im Abschnitt Admin von Looker in den Einbettungs-URI ein. Mit dieser Option können Sie zwar nicht sehen, ob die von Ihnen beabsichtigten Daten und Berechtigungen korrekt eingerichtet wurden, sie können aber prüfen, ob Ihre Authentifizierung ordnungsgemäß funktioniert.