Wenn ein Nutzer versucht, auf eingebettete Inhalte zuzugreifen, wird ihm möglicherweise die folgende Fehlermeldung angezeigt:
Das angeforderte Dashboard konnte nicht gefunden werden. 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.
Fehler beheben
In der Fehlermeldung werden die nächsten Schritte beschrieben, die Sie ausführen müssen. Der eingebettete Nutzer wurde über die signierte Embed-URL erfolgreich erstellt und authentifiziert. Es ist jedoch einer der folgenden Fehler aufgetreten:
- Der Pfad zu den Inhalten ist ungültig.
- Mit den in der Einbettungs-URL angegebenen Berechtigungen und dem Inhaltszugriff kann der Nutzer die eingebetteten Inhalte nicht aufrufen.
Der URI-Validator für Einbettungen auf der Seite Einbetten im Bereich Plattform des Steuerfelds Verwaltung wird häufig zur Fehlerbehebung bei Einbettungs-URLs verwendet. Da der Validator jedoch nur prüft, ob die Einbettungs-URL gültig ist und den Authentifizierungsschritt ausführen kann, kannst du mit den folgenden Schritten zur Fehlerbehebung feststellen, 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 Scripts gibt es einen Abschnitt, in dem der Pfad definiert wird. Wenn Sie beispielsweise ein Dashboard mit dem Namen 123 einbetten möchten, verwenden Sie den Pfad /embed/dashboards/123
.
Anhand der Beispiele im Abschnitt Embed-URL der Dokumentationsseite Signiertes Einbetten kannst du prüfen, ob der Pfad richtig definiert ist.
Wenn Sie den API-Endpunkt Create Signed Embed Url
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
Prüfe, ob der Pfad im Script zum Generieren der Einbettungs-URL richtig 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 die Inhalte an diesem Pfad nicht sehen kann, sind sie dort nicht vorhanden.
Wenn der Administrator die Inhalte unter diesem Pfad sehen kann, wurden dem Nutzer, der die Inhalte einbettet, wahrscheinlich nicht die richtigen Berechtigungen oder der Inhaltszugriff gewährt. Um das herauszufinden, kann ein Administrator den Nutzer auf der Seite Nutzer im Bereich Verwaltung suchen und die 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 er als Nutzer mit Einbettungsberechtigung „sudo“ verwendet, müssen Sie weitere Schritte zur Fehlerbehebung bei den Berechtigungen und dem Inhaltszugriff des Nutzers ausführen.
Nachdem du bestätigt hast, dass die Inhalte vorhanden sind und der Nutzer sie nicht sehen kann, solltest du als Nächstes die Berechtigungen der Einbettungs-URL und den Inhaltszugriff des Nutzers prüfen. Wenn eine dieser Einstellungen falsch konfiguriert ist, kann der Nutzer die eingebetteten Inhalte nicht sehen.
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 und Nutzer benötigen eine Kombination vieler Berechtigungen, um Inhalte aufrufen zu können. 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.
Prüfe in diesem Schritt noch einmal die Berechtigungen, die zum Einbetten von Nutzern in die URL-Definition erteilt wurden, und prüfe, ob Abhängigkeiten für eine Berechtigung fehlen. Prüfen Sie dann die Rollen, die dem Nutzer in der Einbettungs-URL zugewiesen sind.
Die Rolle eines eingebetteten Nutzers kann auf zwei Arten erstellt werden: mit den Berechtigungen und dem Zugriff auf das Modell in der signierten Einbettungs-URL oder mit den Gruppen, denen ein Nutzer zugewiesen ist, sofern diesen Gruppen Rollen zugewiesen sind. Rollen, die auf diese beiden Arten erstellt werden, sind additiv, genau wie Rollen in der regulären Looker-Umgebung. Prüfe die Gruppen, denen der Nutzer in den URL-Spezifikationen zugewiesen ist, und die übernommenen Rollen der Gruppe oder Gruppen.
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 haben Looker-Administratoren, die Rollen für eingebettete Nutzer verwalten, keinen Zugriff auf das Script zum Generieren von eingebetteten URLs in der übergeordneten Anwendung und können die Fehlerbehebung nicht gründlich durchführen. In diesem Fall kann es hilfreich sein, ein leeres Array für die Berechtigungen und Modellparameter zu übergeben und Rollen ausschließlich ü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 eingebetteten Inhalten 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 Signiertes Einbetten.
4. Inhaltszugriff des Nutzers 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. Gehen Sie zu diesem Ordner und wählen Sie oben rechts unter Zugriff verwalten das Zahnradsymbol aus. Du kannst schnell feststellen, ob ein Problem mit dem Inhaltszugriff der Grund für den 404-Fehler ist, indem du dem entsprechenden 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.
Häufige Probleme können 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 Überprüfung des Inhaltszugriffs. 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, alle persönlichen Ordner auf „Privat“ gesetzt und verhindert wird, dass Nutzer andere Nutzer oder deren Inhalte in der Instanz sehen, es sei denn, alle Nutzer teilen sich eine Gruppe. Dadurch wird eine mehrmandantenfähige Instanz für mehrere Kunden erstellt, sodass diese nur dann auf die Inhalte oder Informationen anderer Nutzer zugreifen können, wenn ihnen dies ausdrücklich gewährt wird.
Prüfen Sie, ob der betroffene Nutzer der Einbettung zu den richtigen Looker-Gruppen gehört. Andernfalls kann er keine Inhalte seiner Organisation aufrufen.
Wenn Sie ein geschlossenes System für Ihre Instanz aktivieren möchten, wenden Sie sich an einen Google Cloud-Spezialisten oder senden Sie eine Supportanfrage.