Als Tableau Server-Administrator können Sie einen externen Autorisierungsserver (External Authorization Server, EAS) registrieren, um eine Vertrauensstellung zwischen Tableau Server und dem EAS herzustellen. Durch Einrichten einer Vertrauensstellung können Sie Ihren Benutzern die Möglichkeit geben, mittels einmaliger Anmeldung (Single Sign-On, SSO) auf Tableau-Inhalte zuzugreifen, die in Ihren benutzerdefinierten Anwendungen eingebettet sind. Dies erfolgt über den Identitätsanbieter (Identity Provider, IdP), den Sie bereits für Tableau Server konfiguriert haben. Wenn eingebettete Tableau-Inhalte in Ihre benutzerdefinierte Anwendung geladen werden, wird ein standardmäßiges OAuth-Schema verwendet. Nach der erfolgreichen Anmeldung beim IdP sind Benutzer automatisch bei Tableau Server angemeldet.

Führen Sie die unten aufgeführten Schritte durch, um Ihren EAS bei Tableau Server zu registrieren.

Wichtig: Einige der in diesem Thema beschrieben Verfahren erfordern eine Konfiguration mit Software und Diensten von Drittanbietern. Wir haben uns nach Kräften bemüht, die Verfahren zur Aktivierung der EAS-Funktion auf Tableau Server zu überprüfen. Software und Dienste von Drittanbietern können sich jedoch ändern oder in Ihrer Organisation anders ausfallen. Sollten Probleme auftreten, entnehmen Sie offizielle Konfigurationsdetails und Supportinformationen bitte der Dokumentation Ihrer Drittanbieter.

Schritt 1: Bevor Sie beginnen

Um einen EAS bei Tableau Server zu registrieren, müssen Sie über einen EAS verfügen, der bereits konfiguriert ist. Außerdem muss der EAS ein gültiges JSON-Webtoken (JSON Web Token, JWT) senden, das die in der folgenden Tabelle aufgeführten registrierten Ansprüche und Header enthält.

Anspruch Beschreibung oder erforderlicher Wert
"iss" (Issuer, Aussteller) Eindeutiger Aussteller-URI, der den vertrauenswürdigen EAS und dessen Signaturschlüssel identifiziert.
"alg " (Algorithm, Algorithmus) JWT-Signaturalgorithmus. Unterstützte Algorithmusnamen sind in der javadoc.io-Dokumentation auf der Seite Class JWSAlgorithm(Link wird in neuem Fenster geöffnet) aufgeführt. Der Signaturalgorithmus kann mit dem Befehl vizportal.oauth.external_authorization_server.blocklisted_jws_algorithms konfiguriert werden.
"sub" (Subject, Antragsteller) Der Tableau Server-Benutzername des authentifizierten Benutzers.
"aud " (Audience, Zielgruppe) Der Wert muss sein: "tableau"
"exp" (ExpirationTime, Ablaufzeit) Ein gültiges JWT darf nicht abgelaufen sein. Die Ablaufzeit des JWT muss innerhalb der konfigurierten maximalen Gültigkeitsdauer liegen. Die maximale Gültigkeitsdauer kann mit dem Befehl vizportal.oauth.external_authorization_server.max_expiration_period_in_minutes konfiguriert werden.
"jti" (JWT-ID) Der JWT-ID-Anspruch stellt einen eindeutigen Bezeichner für das JWT bereit und unterscheidet zwischen Groß- und Kleinschreibung.
"scp" (Scope, Geltungsbereich)

Zu den unterstützten Wert gehören:

"tableau:views:embed"
"tableau:metrics:embed"

Hinweise:

  • Werte müssen als ein Listentyp übergeben werden.
  • Bei tableau:views:embed respektiert der Geltungsbereich die bereits in Tableau Server konfigurierten Benutzerberechtigungen und erlaubt Benutzern die Interaktion mit den Tools in der eingebetteten Ansicht, sofern diese in der Originalansicht verfügbar sind.
  • Wir empfehlen, dass der Einbettungscode den Symbolleistenparameter ausschließt. Weitere Informationen finden Sie weiter unten unter Bekannte Probleme.

Hinweis: Die oben aufgeführten JWT-Ansprüche sind im Abschnitt Registered Claim Names(Link wird in neuem Fenster geöffnet) (Namen registrierter Ansprüche) in der von der IETF (Internet Engineering Task Force) vertriebenen Dokumentation dokumentiert.

Schritt 2: Registrieren Ihres EAS bei Tableau Server

Durch die Registrierung Ihres EAS bei Tableau Server stellen Sie eine Vertrauensstellung zwischen dem EAS und Tableau Server her. Das bedeutet, wenn Benutzer auf Tableau-Inhalte zugreifen, die in Ihre benutzerdefinierte Anwendung eingebettet sind, werden sie umgeleitet, um sich beim IdP zu authentifizieren. Der EAS generiert das Authentifizierungstoken, das zur Überprüfung an Tableau Server übergeben wird. Nachdem die Vertrauensstellung überprüft wurde, wird den Benutzern Zugriff auf den eingebetteten Inhalt gewährt.

Nach der Registrierung des EAS gilt die hergestellte Vertrauensstellung für alle Sites auf Tableau Server.

Hinweis: Einige EAS unterstützen die Option zum Anzeigen eines Dialogfelds, in dem die Benutzer um die Zustimmung gebeten werden, dass die Anwendung auf Tableau-Inhalte zugreifen darf. Um die beste Erfahrung für Ihre Benutzer zu gewährleisten, empfehlen wir Ihnen, Ihren EAS so zu konfigurieren, dass er auf die Anfrage der benutzerdefinierten Anwendung automatisch im Namen der Benutzer die Zustimmung erteilt.

  1. Melden Sie sich als Tableau Server-Administrator bei der Weboberfläche von TSM (Tableau Services Manager) an. Weitere Informationen finden Sie unter Anmelden bei der Webschnittstelle von Tableau Services Manager.

  2. Navigieren Sie zu "Benutzeridentität und Zugriff" > "Autorisierungsserver" und gehen Sie wie folgt vor:
    1. Aktivieren Sie das Kontrollkästchen OAuth-Zugriff für eingebettete Inhalte aktivieren.

    2. Fügen Sie im TextfeldAussteller-URL die Aussteller-URL des EAS ein.

    3. Klicken Sie auf die Schaltfläche Ausstehende Änderungen speichern.

  3. Wenn Sie fertig sind, gehen Sie wie folgt vor:
    1. Klicken Sie rechts oben auf der Seite auf die Schaltfläche Ausstehende Änderungen.

    2. Klicken Sie rechts unten auf der Seite auf die Schaltfläche Änderungen übernehmen und neu starten, um Tableau Server zu beenden und neu zu starten.

  1. Öffnen Sie als Administrator eine Eingabeaufforderung auf dem Ausgangsknoten (auf dem TSM installiert ist) in dem Cluster.
  2. Führen Sie die folgenden Befehle aus:

    tsm configuration set -k vizportal.oauth.external_authorization.enabled -v true
    tsm configuration set -k vizportal.oauth.external_authorization_server.issuer -v "<issuer_url_of_EAS>"
    tsm restart

Schritt 3: Weiter mit den Schritten zum Einbetten

Nachdem Sie Tableau Server für die Verwendung Ihres EAS konfiguriert haben, müssen Sie Ihrer benutzerdefinierten Anwendung Einbettungscode hinzufügen. Stellen Sie sicher, dass Sie das gültige JWT, das von Ihrem EAS generiert wurde (wie in Schritt 1 beschrieben), in die Webkomponente einschließen, die Ihre benutzerdefinierte Anwendung aufruft.

Weitere Informationen zum Einbetten von Tableau-Inhalten finden Sie unter einem oder beiden der folgenden Punkte:

Hinweis: Damit sich die Benutzer beim Zugriff auf eingebettete Inhalte erfolgreich authentifizieren können, müssen die Browser so konfiguriert sein, dass sie Cookies von Drittanbietern zulassen oder einen partitionierten Speicher verwenden. Partitionierter Speicher ist standardmäßig für Mozilla Firefox aktiviert und kann in Google Chrome-Browsern aktiviert werden.

Bekannte Probleme

Bei der Verwendung von verbundenen Apps gibt es einige bekannte Probleme, die in einer zukünftigen Version behoben werden.

  • Symbolleistenfeatures: Wenn für eingebettete Inhalte der Symbolleistenparameter definiert ist, funktionieren manche Symbolleistenfeatures nicht. Um dieses Problem zu umgehen, empfehlen wir Ihnen, den Symbolleistenparameter (wie im folgenden Beispiel gezeigt) auszublenden.

    <tableau-viz id='tab-viz' src='https://<your_server>/t/<your_site>/...'
    	toolbar='hidden'>
    </tableau-viz>

  • Veröffentlichte Datenquellen: Veröffentlichte Datenquellen, für die festgelegt ist, dass Benutzer Datenbankanmeldeinformationen eingeben müssen, werden nicht angezeigt. Um dieses Problem zu umgehen, empfehlen wir, dass Datenquellenbesitzer stattdessen ihre eigenen Datenbankanmeldeinformationen einbetten (sofern möglich).

Problembehebung

Wenn eingebettete Inhalte in Ihrer benutzerdefinierten Anwendung nicht angezeigt werden, können Sie die Entwicklertools eines Browsers verwenden, um Fehlercodes zu überprüfen und zu identifizieren, die möglicherweise mit dem in Tableau Server aktivierten EAS-Feature im Zusammenhang stehen.

In der folgenden Tabelle finden Sie die Beschreibungen der Fehlercodes und der möglichen Lösung.

Fehlercode Zusammenfassung Beschreibung Mögliche Lösung oder Erklärung
5 SYSTEM_USER_NOT_FOUND Tableau-Benutzer konnte nicht gefunden werden Um dieses Problem zu beheben, überprüfen Sie, ob der Anspruchswert "sub" (Subject) im JWT der "username" (Benutzername) für Tableau Server ist. Bei dem Wert wird die Groß-/Kleinschreibung berücksichtigt.
16 LOGIN_FAILED Fehler beim Anmelden Dieser Fehler wird meist durch eines der folgenden Anspruchsprobleme im JWT verursacht:
  • Die Ablaufzeit "exp" (ExpirationTime) überschreitet die standardmäßig maximale Gültigkeitsdauer. Um dieses Problem zu beheben, überprüfen Sie registrierte Ansprüche(Link wird in neuem Fenster geöffnet), die für ein gültiges JWT erforderlich sind, und stellen Sie sicher, dass der richtige Wert verwendet wird. Um die maximale Gültigkeitsdauer zu ändern, können Sie den Befehl vizportal.oauth.external_authorization_server.max_expiration_period_in_minutes verwenden.
  • Der Anspruch "sub" (Subject, Antragsteller) ruft einen unbekannten Benutzer auf. Um dieses Problem zu beheben, vergewissern Sie sich, dass der Anspruch "sub" den Wert "username" hat. Bei dem Wert wird die Groß-/Kleinschreibung berücksichtigt.
10081 COULD_NOT_RETRIEVE_IDP_METADATA EAS-Metadaten-Endpunkt fehlt Um dieses Problem zu beheben, überprüfen Sie, ob der EAS richtig konfiguriert ist und der richtige Aussteller aufgerufen wird.
10082 AUTHORIZATION_SERVER_ISSUER_NOT_SPECIFIED Fehlender Aussteller Um dieses Problem zu beheben, überprüfen Sie, ob der richtige Aussteller aufgerufen wird. Zum Ändern der Aussteller-URL können Sie den Befehl vizportal.oauth.external_authorization_server.issuer verwenden.
10083 BAD_JWT Der JWT-Header enthält Probleme. Dieser Fehler wird meist durch eines der folgenden Probleme mit dem JWT-Header verursacht:
  • Im JWT-Header fehlen die Ansprüche "secret key" (Kid) oder "clientId" (Issuer). Um dieses Problem zu beheben, stellen Sie sicher, dass diese Informationen enthalten sind.
  • Das JWT ist unsigniert oder verschlüsselt. Tableau unterstützt keine unsignierten oder verschlüsselten JWTs.
10084 JWT_PARSE_ERROR JWT enthält Probleme

Überprüfen Sie Folgendes, um dieses Problem zu beheben:

  • Ob der im JWT referenzierte Wert "aud" (Audience) den Wert "tableau" verwendet. Bei dem Wert wird die Groß-/Kleinschreibung berücksichtigt.
  • "aud" (Audience), "sub" (Subject), "jti" (JWT-ID) sind im JWT enthalten.
10085 COULD_NOT_FETCH_JWT_KEYS JWT konnte Schlüssel nicht finden

Das Geheimnis konnte nicht gefunden werden.

Um dieses Problem zu beheben, überprüfen Sie, ob der richtige Aussteller aufgerufen wird. Zum Ändern der Aussteller-URL können Sie den Befehl vizportal.oauth.external_authorization_server.issuer verwenden.

10087 BLOCKLISTED_JWS_ALGORITHM_USED_TO_SIGN Es gibt ein Problem mit dem JWT-Signaturalgorithmus.

Um das Problem zu beheben, können Sie den Signaturalgorithmus entfernen. Weitere Informationen finden Sie unter vizportal.oauth.external_authorization_server.blocklisted_jws_algorithms.

10088 RSA_KEY_SIZE_INVALID Ein Problem mit JWT-Signaturanforderungen liegt vor. Um dieses Problem zu beheben, überprüfen Sie mit dem EAS oder IdP, dass das JWT mit einer RSA-Schlüsselgröße von 2.048 signiert ist.
10091 JTI_ALREADY_USED Eindeutiges JWT erforderlich

Das JWT wurde bereits im Authentifizierungsprozess verwendet. Um dieses Problem zu beheben, muss der EAS oder IdP ein neues JWT generieren.

Vielen Dank für Ihr Feedback!