Wenn ein Nutzer versucht, auf eingebettete Inhalte zuzugreifen, wird ihm möglicherweise die folgende Fehlermeldung angezeigt:
Das angeforderte Dashboard wurde nicht gefunden. Entweder ist er nicht vorhanden oder Sie sind nicht berechtigt, ihn anzusehen.
Auf dieser Seite erfahren Sie, wie Sie diesen Fehler beheben und in Zukunft vermeiden können. So sparen Entwickler und Nutzer Zeit und Ärger.
Fehlerbehebung
In der Fehlermeldung werden die nächsten Schritte beschrieben, die Sie ausführen müssen. Im Wesentlichen wurde der eingebettete Nutzer mit der signierten Einbettungs-URL erfolgreich erstellt und authentifiziert. Es sind jedoch zwei Fehler aufgetreten:
- Der Pfad zu den Inhalten ist ungültig.
- Aufgrund der Berechtigungen und des Zugriffs auf Inhalte, die in der Einbettungs-URL festgelegt sind, kann der eingebettete Nutzer den eingebetteten Inhalt nicht sehen.
Das Tool Embed URI Validator (URIs einbetten) wird im Bereich Admin auf der Seite Embed (Einbetten) im Admin-Bereich häufig verwendet, um Probleme mit eingebetteten URLs zu beheben. Da bei der Validierung nur geprüft wird, ob die Einbettungs-URL gültig ist und die Authentifizierung abgeschlossen werden kann, können Sie mit den folgenden Schritten zur Fehlerbehebung herausfinden, welches der beiden Probleme vorliegt:
- Prüfen Sie, ob der Inhaltspfad korrekt ist.
- Prüfen Sie, ob die Inhalte vorhanden sind.
- Prüfen Sie die Berechtigungen der Einbettungs-URL.
- Prüfen Sie den Inhaltszugriff des Nutzers.
1. Prüfen, ob der Inhaltspfad korrekt ist
Mit dieser Methode können Sie feststellen, ob der Pfad zu den Inhalten unterbrochen ist. Je nachdem, welche Methode zum Generieren der signierten Einbettungs-URL verwendet wird, kann der Speicherort, an dem der Inhaltspfad angegeben wird, variieren. In den meisten Skripts gibt es einen Abschnitt, in dem der Pfad definiert wird. Um beispielsweise ein Dashboard namens 123 einzubetten, würden Sie den Pfad /embed/dashboards/123
verwenden.
Prüfen Sie anhand der Beispiele im Abschnitt URL einbetten auf der Dokumentationsseite Signierte Einbettung, ob der Pfad korrekt definiert ist.
Wenn Sie den Create Signed Embed Url
-API-Endpunkt zum Generieren der URL verwenden, sieht der Parameter Ziel-URL für dasselbe Dashboard so aus:
https://instance_name.looker.com<:optional_port>/dashboards/123
Überprüfen Sie, ob der Pfad im Skript zur Generierung von URLs korrekt definiert ist.
2. Prüfen, ob die Inhalte vorhanden sind
Nachdem Sie überprüft haben, ob der Inhaltspfad korrekt definiert ist, bitten Sie einen Administrator, zu bestätigen, dass sich die Inhalte unter diesem Pfad befinden. Administratoren umgehen standardmäßig Einschränkungen für den Zugriff auf Inhalte und Berechtigungen, die beispielsweise verhindern könnten, dass ein Entwickler die Inhalte sieht. Wenn ein Administrator den Inhalt unter diesem Pfad nicht sehen kann, ist er unter diesem Pfad nicht vorhanden.
Wenn der Administrator die Inhalte unter diesem Pfad sehen kann, wurden dem eingebetteten Nutzer wahrscheinlich nicht die richtigen Berechtigungen bzw. der Zugriff auf Inhalte gewährt. Um festzustellen, ob das der Fall ist, kann ein Administrator den Nutzer im Admin-Steuerfeld auf der Seite Nutzer suchen und die Inline-Option Sudo auswählen.
Wenn Administratoren sich als ein anderer Nutzer mit SUDO anmelden, können sie sehen, was der Nutzer mit seinen Berechtigungen, seinem Inhaltszugriff und seinen Nutzerattributen sieht. Wenn der Administrator die Inhalte nicht mehr sehen kann, während Sie als eingebetteter Nutzer im SUDO-Status angemeldet sind, müssen Sie weitere Schritte unternehmen, um die Probleme mit den Berechtigungen und dem Zugriff auf Inhalte zu beheben.
Nachdem Sie sich vergewissert haben, dass die Inhalte vorhanden sind und der Nutzer der eingebetteten URL diese nicht sehen kann, prüfen Sie als Nächstes die Berechtigungen der Einbettungs-URL und den Zugriff des Nutzers auf Inhalte. Beides kann bei falscher Konfiguration verhindern, dass der Nutzer die eingebetteten Inhalte sehen kann.
3. Berechtigungen der Einbettungs-URL prüfen
Im nächsten Schritt kannst du feststellen, ob der Nutzer, der die Inhalte eingebettet hat, sie aufgrund der in der Einbettungs-URL angegebenen Berechtigungen nicht aufrufen kann. Berechtigungen in Looker sind additiv. Zum Anzeigen von Inhalten ist eine Kombination aus vielen Berechtigungen erforderlich. Wenn ein Nutzer beispielsweise ein eingebettetes benutzerdefiniertes Dashboard aufrufen möchte, benötigt er mindestens die access_data
-, see_looks
- und see_user_dashboards
-Berechtigungen.
Überprüfen Sie für diesen Schritt die Berechtigungen zum Einbetten von Nutzern in der URL-Definition und prüfen Sie, ob dependencies von Berechtigungen fehlen. Prüfen Sie dann die Rollen, die dem Nutzer in der Einbettungs-URL zugewiesen wurden.
Die Rolle eines eingebetteten Nutzers kann auf zwei Arten erstellt werden: mit den Berechtigungen und dem Modellzugriff in der signierten Einbettungs-URL oder mit den Gruppen, denen ein Nutzer zugewiesen ist, wenn diesen Gruppen Rollen zugeordnet sind. Auf diese Weise erstellte Rollen sind additiv, genau wie Rollen in der regulären Looker-Umgebung. Überprüfen Sie die Gruppe (n), denen der eingebettete Nutzer in den URL-Spezifikationen und die übernommenen Rollen der Gruppe oder Gruppen zugewiesen ist.
Tipp: Wenn Sie die Berechtigungen der eingebetteten Nutzer und die Informationen zum Modellzugriff an einem Ort aufbewahren (entweder in der Rollenzuweisung einer Looker-Gruppe oder in einer signierten URL-Angabe für das Einbetten), müssen Sie bei der Fehlerbehebung für Nutzerprobleme weniger zusätzliche Variablen prüfen. Wenn ein Unternehmen beispielsweise Rollen verwendet, die mit Gruppen-IDs verknüpft sind, um Berechtigungen für eingebettete Nutzer zuzuweisen, werden die Informationen zu den eingebetteten Nutzern nicht nur im signierten Script definiert, sondern sowohl in Looker als auch in der übergeordneten Anwendung (über ein signiertes URL-Script) gespeichert. Manchmal Looker-Administratoren, die Rollen für Einbettungsnutzer verwalten, haben keinen Zugriff auf die Einbettung Skript zur URL-Generierung in der übergeordneten Anwendung und kann keine detaillierte Fehlerbehebung durchführen. In diesem Fall kann es hilfreich sein, ein leeres Array für die Berechtigungen und und Rollen exklusiv über Gruppenzuweisungen zu steuern.
Prüfen Sie als Nächstes, ob die angegebenen oder übernommenen Rollen und Berechtigungen dem Nutzer korrekt zugewiesen sind. Suchen Sie dazu im Bereich Verwaltung auf der Seite Nutzer nach dem Nutzer und wählen Sie Anzeigen aus.
Nutzer mit Einbettungsberechtigungen haben nicht Zugriff auf alle Berechtigungen, die reguläre Looker-Nutzer haben. Eine vollständige Liste der Berechtigungen für eingebettete Inhalte finden Sie auf der Dokumentationsseite Signierte Einbettung.
4. Zugriff des Nutzers auf Inhalte prüfen
Nachdem du überprüft hast, ob der Nutzer, der die Inhalte einbettet, die richtigen Berechtigungen und Rollenzuweisungen hat, musst du den Inhaltszugriff des Nutzers prüfen. Prüfen Sie dazu die folgenden Informationen:
- In welchem Ordner werden die eingebetteten Inhalte gespeichert?
-
Hat der Nutzer, der die Einbettung vornimmt, oder die Gruppe, der er zugewiesen ist, Zugriff (
View or Manage, Edit
) auf diesen Ordner?
Am schnellsten können Sie herausfinden, in welchem Ordner die Inhalte gespeichert sind, indem Sie sich die Inhalte in der regulären Looker-Umgebung ansehen und dann den Ordnernamen in der Inhaltsüberschrift suchen. Wählen Sie nach dem Aufrufen des Ordners rechts oben unter Zugriff verwalten das Zahnradsymbol aus. Du kannst schnell feststellen, ob ein Problem mit dem Zugriff auf Inhalte den Fehler 404 verursacht, indem du dem jeweiligen eingebetteten Nutzer View
-Zugriff auf den Ordner gewährst.
Wenn dem Nutzer, der den Code einbettet, oder der Gruppe, der er zugewiesen wurde, keine signierten IDs für die Einbettungsgruppe zugewiesen wurden, kann er keine Inhalte sehen, die im Ordner gespeichert sind. Administratoren oder Nutzer, die für den Ordner Manage Access, Edit
-Berechtigungen haben, können die Einstellungen für den Inhaltszugriff ändern, um den Nutzer oder die Nutzergruppe für das Einbetten hinzuzufügen.
Eine häufige Komplikation kann auftreten, wenn ein Dashboard dupliziert wurde und in mehreren Ordnern vorhanden ist. Jede Kopie eines Dashboards hat eine eindeutige ID. Achten Sie daher darauf, dass das eingebettete Dashboard dieselbe ID wie das Dashboard hat, auf das Nutzer zugreifen sollen. Sie können die ID in der URL des Dashboards im folgenden Format prüfen:
~/embed/dashboards/<specific_content_id>
Geschlossene Systeme
Geschlossene Systeme sind ein Sonderfall bei der Prüfung des Zugriffs auf Inhalte. In einem geschlossenen System werden gespeicherte Inhalte für einzelne Gruppen in Silos zusammengefasst. Die Implementierung eines geschlossenen Systems wird häufig als Best Practice für jede Bereitstellung von „Powered By Looker“ (eingebettete Analysen) empfohlen. Der Hauptvorteil dieses Systems besteht darin, dass die Gruppe Alle Nutzer vollständig entfernt und alle persönlichen Ordner auf „Privat“ gesetzt werden. Außerdem wird verhindert, dass Nutzer andere Nutzer oder deren Inhalte in der Instanz sehen können (es sei denn, alle Nutzer teilen sich eine Gruppe). Dadurch wird effektiv eine mehrmandantenfähige Instanz für mehrere Clients erstellt, sodass diese nicht auf die Dateien anderer Nutzer zugreifen können. Inhalte oder Informationen, es sei denn, ihnen wird ausdrücklich der Zugriff gewährt.
Überprüfen Sie noch einmal, ob der betroffene Einbettungsnutzer zu den richtigen Looker-Gruppen gehört. Andernfalls können sie die Inhalte ihrer Organisation nicht sehen.
Wenn Sie ein geschlossenes System für Ihre Instanz aktivieren möchten, wenden Sie sich an einen Google Cloud-Vertriebsexperten oder stellen Sie eine Supportanfrage.