Konfigurieren von mit Tableau verbundenen Apps, um SSO für eingebettete Inhalte zu aktivieren

Ab Tableau Server-Version 2022.1 ermöglichen mit Tableau verbundene Apps eine nahtlose und sichere Authentifizierung, indem sie eine explizite Vertrauensbeziehung zwischen Ihrer Tableau Server-Site und benutzerdefinierten Anwendungen ermöglichen, in die Tableau-Inhalte eingebettet sind. Tableau erweiterte in Tableau Server 2022.3 die Funktionen von verbundenen Apps um die Unterstützung der REST-API-Autorisierung. Und ab Tableau Server 2023.3 wird die REST-API-Autorisierung über verbundene Apps von der Metadaten-API respektiert.

Verbundene Apps bieten die folgenden Vorteile:

  • Einschränkung des Zugriffs darauf, welche Inhalte eingebettet werden können und wo diese eingebettet werden können
  • Möglichkeit des Zugriffs von Benutzern auf eingebettete Inhalte über Single Sign-On (SSO), ohne dass eine Integration mit einem Identitätsanbieter (IdP) erforderlich ist
  • Möglichkeit für Benutzer, sich direkt von Ihrer externen Anwendung aus zu authentifizieren
  • Sie können den Zugriff auf die Tableau-REST-API (und die Metadaten-API ab Tableau Server 2023.3) im Namen der Benutzer programmgesteuert mithilfe eines JSON-Web-Tokens (JWT) autorisieren.

Hinweise:

  • Die Funktionalität verbundener Anwendungen ohne Benutzeroberfläche für Tableau Server wurde in Tableau Server, Version 2021.4, über die Methoden für verbundene Anwendungen(Link wird in neuem Fenster geöffnet) in der Tableau-REST-API verfügbar.
  • Um das Einbetten über verbundene Apps zu ermöglichen, muss Tableau Server für die Verwendung von SSL für HTTP-Datenverkehr konfiguriert werden.
  • Damit das Sitzungs-Token gültig ist, müssen die Uhren der externen Anwendung und des Servers, der die externe Anwendung hostet, auf koordinierte Weltzeit (UTC) eingestellt sein. Wenn eine der Uhren einen anderen Standard verwendet, wird der verbundenen App nicht vertraut.
  • Mit Tableau verbundene Apps und mit Salesforce verbundene Apps sind unterschiedlich und bieten unterschiedliche Funktionen. Aktuell sind die mit Tableau verbundenen Apps für die Einbettung von Tableau-Ansichten und -Metriken in externen Anwendungen optimiert. (Im Oktober 2023 hat Tableau die Möglichkeit zum Einbetten von Metriken in Tableau Cloud und Tableau Server Version 2023.3 eingestellt.)

So funktionieren verbundene Apps

Die Vertrauensbeziehung zwischen Ihrer Tableau Server-Site und Ihrer externen Anwendung wird durch ein Authentifizierungstoken im JSON Web Token (JWT)-Standard hergestellt und überprüft. Dabei wird ein gemeinsames Geheimnis verwendet, das von der mit Tableau verbundenen App bereitgestellt und von Ihrer benutzerdefinierten Anwendung signiert wird.

Hauptkomponenten einer verbundenen App

Die folgenden Komponenten der verbundenen App greifen mit dem JWT in Ihrer externen Anwendung ineinander, um Benutzer zu authentifizieren und eingebettete Inhalte anzuzeigen.

  • Geheimnisse: Geheimnisse sind Schlüssel, die von Tableau und Ihrer externen Anwendung gemeinsam genutzt werden. Sie werden in Signaturen verwendet, die das JWT bilden. Ein Geheimnis ist erforderlich, wenn verbundene Apps zur Einbettung der Authentifizierung verwendet werden. Geheimnisse können in einer verbundenen App erstellt werden, laufen nicht ab und bleiben gültig, bis sie gelöscht werden.
  • Domänenzulassungsliste: Sie können in jeder verbundenen App eine Liste der zulässigen Domänen angeben. Über eine verbundene App eingebettete Tableau-Inhalte sind nur unter den angegebenen Domänen zulässig. Auf diese Weise wird sichergestellt, dass Inhalte unter den von Ihrem Unternehmen gesicherten und genehmigten Domänen bereitgestellt werden.
  • Zugriffsebene: Sie können festlegen, welche Inhalte über eine verbundene App eingebettet werden können, indem Sie eine verbundene App einem Projekt oder allen Projekten zuordnen. Wenn Sie ein Projekt angeben, können nur die Inhalte des ausgewählten Projekts über die verbundene App eingebettet werden.

Workflow für verbundene Apps

Das folgende Diagramm zeigt, wie die Authentifizierung zwischen Ihrer externen Anwendung (Webserver und Webseite) und der verbundenen App funktioniert.

  1. Benutzer besucht die Webseite: Wenn ein Benutzer den eingebetteten Inhalt einer Webseite aufruft, sendet die Webseite eine GET-Anfrage an Ihre externe Anwendung, um den HTML-Code auf dieser Webseite abzurufen.
  2. Externe Anwendung erstellt ein Authentifizierungstoken: Die externe Anwendung erstellt ein JWT, das ein Geheimnis der verbundenen App (siehe Schritt 3 unten für zusätzliche JWT-Anforderungen) und den Umfang des Benutzerzugriffs für den eingebetteten Inhalt enthält. Das Geheimnis wird von der externen Anwendung signiert und in einem späteren Schritt zur Überprüfung der Vertrauensbeziehung verwendet.
  3. Externe Anwendung antwortet mit Authentifizierungstoken: Die externe Anwendung antwortet auf die Seite mit dem JWT in der URL des eingebetteten Inhalts, die von der Webseite aufgerufen wird.
  4. Webseite fordert Inhalt von Tableau an: Bei dem Versuch, den eingebetteten Inhalt zu laden, ruft die Webseite die URL des eingebetteten Inhalts auf, die eine GET-Anforderung an Tableau sendet.
  5. Tableau validiert das Token: Tableau empfängt das JWT und prüft die Vertrauensbeziehung mit der externen Anwendung, indem es die verbundene App und das im JWT verwendete gemeinsame Geheimnis identifiziert. Anschließend erstellt Tableau eine Sitzung für den Benutzer. Die Sitzung beachtet nicht nur die im JWT definierten Einbettungsbereiche, sondern auch die in der verbundenen App festgelegten Einschränkungen, einschließlich der zulässigen Domänen und Projekte.
  6. Tableau gibt den Inhalt basierend auf dem eingeschränkten Einbettungskontext zurück: Der eingebettete Inhalt wird nur geladen, wenn sich die Seite unter einer zulässigen Domain befindet und der Inhalt in einem zulässigen Projekt veröffentlicht wurde (falls zutreffend). Der authentifizierte Benutzer kann nur in dem im JWT definierten Bereich mit den eingebetteten Inhalten interagieren.

Erstellen einer verbundenen App

Schritt 1: Erstellen einer verbundenen App

Erstellen Sie über die Einstellungsseite von Tableau Server eine verbundene App.

  1. Melden Sie sich als Serveradministrator in Tableau Server an.

  2. Wählen Sie im linken Bereich "Einstellungen > Verbundene Apps" aus und klicken Sie dann auf die Schaltfläche Neue verbundene App.

  3. Gehen Sie im Dialogfeld "Verbundene App erstellen" folgendermaßen vor:
    1. Geben Sie bei REST-API-Autorisierungsworkflows (einschließlich Metadaten-API-Workflows, die die REST-API zur Authentifizierung verwenden) im Textfeld "Name der verbundenen App" einen Namen für die verbundene App ein und klicken Sie auf die Schaltfläche Erstellen.

      Hinweis: Sie können die Zugriffsebene und die Domänenzulassungsliste ignorieren, wenn Sie eine verbundene Anwendung für die Autorisierung über die REST-API und die Metadaten-API konfigurieren.

    2. Gehen Sie zum Einbetten von Workflows wie folgt vor:

      1. Geben Sie im Textfeld für den Namen der verbundenen App einen Namen für die verbundene App ein.

      2. Wählen Sie im Dropdown-Menü "Gilt für" die Option Alle Projekte oder Nur ein Projekt, um festzulegen, welche Ansichten oder Metriken eingebettet werden können. Wenn Sie die Option "Nur ein Projekt" auswählen, wählen Sie das Projekt aus, das Sie in den Geltungsbereich aufnehmen möchten. Weitere Informationen zu diesen beiden Optionen finden Sie unter Zugriffsebene (nur Einbettungs-Workflows).

      3. Geben Sie in der Domänenzulassungsliste gemäß den unter Domänenformatierung beschriebenen Regeln die Domänen an, um zu steuern, wo Ansichten oder Metriken eingebettet werden können.

      4. Wenn Sie fertig sind, klicken Sie auf die Schaltfläche Erstellen.

  4. Klicken Sie neben dem Namen der verbundenen App auf das Aktionsmenü und wählen Sie Aktivieren aus. Aus Sicherheitsgründen wird eine verbundene App beim Erstellen standardmäßig auf "Deaktiviert" gesetzt.

  5. Notieren Sie sich die ID der verbundenen App (die auch als "Client-ID" bezeichnet wird), um sie in Schritt 3 zu verwenden.

Schritt 2: Generieren eines Geheimnisses

Sie können für jede verbundene App insgesamt zwei Geheimnisse generieren. Das zweite Geheimnis kann für die Rotation des Geheimnisses verwendet werden, um sich vor Problemen zu schützen, wenn ein Geheimnis kompromittiert wird.

  1. Klicken Sie auf der Detailseite der verbundenen App, die Sie in Schritt 1 erstellt haben, auf die Schaltfläche Neues Geheimnis generieren.

  2. Notieren Sie sich die Geheimnis-ID und den Wert des Geheimnisses, die in Schritt 3 unten verwendet werden.

Schritt 3: Konfigurieren des JWT

Nachdem Sie ein Geheimnis erzeugt haben, müssen Sie Ihre externe Anwendung in die Lage versetzen, ein gültiges JWT zu senden. JWT ist ein Standard für die sichere Übertragung von Informationen zwischen zwei Parteien. Das JWT wird von Ihrer externen Anwendung signiert, um Informationen sicher an Tableau Server zu senden. Das JWT bezieht sich auf die verbundene App, den Benutzer, für den die Sitzung erstellt wird, und die Zugriffsebene, die der Benutzer haben soll.

Ein gültiges JWT enthält die folgenden Informationen:

  • ID der verbundenen App, auch Client-ID genannt, aus Schritt 1
  • Geheimnis-ID und Wert des Geheimnisses, die in Schritt 2 generiert wurden

  • Registrierte Ansprüche und Header:

    AnspruchNameBeschreibung oder erforderlicher Wert
    "kid"Geheimnis-ID (Secret ID)Erforderlich (im Header). Die Geheimnis-ID der verbundenen App.
    "iss"Aussteller (Issuer)Erforderlich (im Header). Eindeutige Issuer-URI, die die vertrauenswürdige verbundene App und ihren Signierschlüssel identifiziert.
    "alg"Algorithmus (Algorithm)Erforderlich (im Header). JWT-Signaturalgorithmus. Nur HS256 wird unterstützt.
    "sub"Antragsteller (Subject)Benutzername des authentifizierten Tableau Server-Benutzers.
    "aud"Zielgruppe (Audience)Muss den Wert "tableau" haben.
    "exp"Ablaufzeit (Expiration Time)

    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.connected_apps.max_expiration_period_in_minutes konfiguriert werden.

    "jti"JWT-ID (JWT ID)Als Anspruch erforderlich. Der JWT-ID-Anspruch stellt einen eindeutigen Bezeichner für das JWT bereit und unterscheidet zwischen Groß- und Kleinschreibung.
    "scp"

    Wichtig: Verwenden Sie nicht "scope".

    Bereich (Scope)Zu den unterstützten Werten für Einbettungs-Workflows gehören:

    "tableau:views:embed"
    "tableau:views:embed_authoring" (Hinzugefügt in Tableau Server 2022.3)
    "tableau:metrics:embed" (In Tableau Server 2023.3 nicht mehr verfügbar)
    "tableau:ask_data:embed" (Hinzugefügt in Tableau Server Version 2023.1)

    Hinweise:

    • Werte müssen als ein Listentyp übergeben werden.
    • Bei tableau:views:embed berücksichtigt der Bereich die bereits in Tableau Server konfigurierten Benutzerberechtigungen und ermöglicht den Benutzern die Interaktion mit den Tools in der eingebetteten Ansicht, wenn diese in der ursprünglichen Ansicht verfügbar sind.
    • Wir empfehlen, den Parameter für die Symbolleiste im Einbettungscode nicht zu verwenden. Weitere Informationen finden Sie weiter unten unter Bekannte Probleme (nur Einbettungs-Workflows).

    Informationen zu REST API-Autorisierungs-Workflows finden Sie unter REST API-Methoden, die JWT-Autorisierung unterstützen.

    Für Metadaten-API-Workflows, die die REST-API zur Authentifizierung verwenden, ist der einzige unterstützte Bereich tableau:content:read.

Beispiel-JWTs

Hier sind Beispiel-JWTs in den Sprachen Java und Python. Die Java- und Python-Beispiele verwenden die Bibliothek "nimbus-jose-jwt" bzw. die Bibliothek "PyJWT".

Java

import com.nimbusds.jose.*;
import com.nimbusds.jose.crypto.*;
import com.nimbusds.jwt.*;

import java.util.*;

...
				
String secret = "secretvalue";
	String kid = "connectedAppSecretId";
	String clientId = "connectedAppClientId";
	List<String> scopes = new
ArrayList<>(Arrays.asList("tableau:views:embed"));
	String username = "username";
	JWSSigner signer = new MACSigner(secret);
	JWSHeader header = new
JWSHeader.Builder(JWSAlgorithm.HS256).keyID(kid).customParam("iss", clientId).build();
	JWTClaimsSet claimsSet = new JWTClaimsSet.Builder()
		.issuer(clientId)
		.expirationTime(new Date(new Date().getTime() + 60 * 1000)) //expires in 1 minute
		.jwtID(UUID.randomUUID().toString())
		.audience("tableau")
		.subject(username)
		.claim("scp", scopes)
		.build();
	SignedJWT signedJWT = new SignedJWT(header, claimsSet);
	signedJWT.sign(signer);
	model.addAttribute("token", signedJWT.serialize());

Python

import jwt
token = jwt.encode(
	{
		"iss": connectedAppClientId,
		"exp": datetime.datetime.utcnow() + datetime.timedelta(minutes=5),
		"jti": str(uuid.uuid4()),
		"aud": "tableau",
		"sub": user,
		"scp": ["tableau:views:embed", "tableau:metrics:embed"]
	},
		connectedAppSecretKey,
		algorithm = "HS256",
		headers = {
		'kid': connectedAppSecretId,
		'iss': connectedAppClientId
        }
  )

Nachdem Sie das JWT konfiguriert haben, wird bei der Ausführung des Codes durch Ihre externe Anwendung ein Token erzeugt.

Schritt 4: Nächste Schritte

Für Einbettungs-Workflows

Nachdem Sie JWT konfiguriert haben, müssen Sie Ihrer externen Anwendung einen Einbettungscode hinzufügen. Stellen Sie sicher, dass Sie das gültige JWT, das Sie in Schritt 3 oben konfiguriert haben, in die Webkomponente aufnehmen, die Ihre externe Anwendung aufruft.

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

Hinweis: Damit Benutzer beim Zugriff auf eingebettete Inhalte erfolgreich authentifiziert werden, müssen Browser so konfiguriert sein, dass sie Cookies von Drittanbietern zulassen.

Für REST API-Autorisierungs-Workflows

Nachdem das JWT konfiguriert wurde, müssen Sie das gültige JWT der REST API-Anmeldeanforderung für autorisierten Zugriff hinzufügen. Weitere Informationen finden Sie unter Zugriffsbereiche für verbundene Apps.

Für Metadaten-API-Workflows

Nachdem das JWT konfiguriert wurde, müssen Sie das gültige JWT der REST API-Anmeldeanforderung hinzufügen. Weitere Informationen finden Sie unter Zugriffsbereiche für verbundene Apps.

Verwalten einer verbundenen App

Auf der Seite "Verbundene Apps" können Sie alle verbundenen Apps für Ihre Site verwalten. Sie können Aufgaben wie das Erstellen, Löschen und Deaktivieren verbundener Anwendungen sowie das Widerrufen oder Erstellen neuer Geheimnisse durchführen, wenn bestehende Geheimnisse kompromittiert wurden.

  1. Melden Sie sich als Server- oder Site-Administrator bei Tableau Server an.

  2. Wählen Sie im linken Bereich Einstellungen > Verbundene Apps aus.

  3. Aktivieren Sie das Kontrollkästchen neben der verbundenen App, die Sie verwalten möchten, und führen Sie einen oder mehrere der folgenden Schritte aus:

    • Generieren Sie ein neues Geheimnis gemäß der in den Sicherheitsrichtlinien Ihres Unternehmens festgelegten Rotationszeit. Um ein zusätzliches Geheimnis zu generieren, klicken Sie auf den Namen der verbundenen App und dann auf die Schaltfläche Neues Geheimnis generieren. Eine verbundene App kann maximal über zwei Geheimnisse verfügen. Beide Geheimnisse können gleichzeitig aktiv sein, laufen nicht ab und bleiben gültig, bis sie gelöscht werden.

    • Überprüfen Sie die Details der verbundenen App, indem Sie auf den Namen der verbundenen App klicken, um zu sehen, wann die verbundene App erstellt wurde, sowie ihre ID, Projekt- und Domänenbereiche und ihre Geheimnisse.

    • Ändern Sie Projektbereich oder -domäne, indem Sie im Aktionsmenü die Option Bearbeiten auswählen. Nehmen Sie die Änderungen vor und klicken Sie auf Aktualisieren.

      Hinweis: Wenn Sie den Projekt- oder Domänenbereich ändern und der eingebettete Inhalt weder im neuen Projekt noch in der neuen Domäne vorhanden ist, kann die eingebettete Ansicht oder Metrik nicht angezeigt werden und die Benutzer erhalten beim Zugriff auf den eingebetteten Inhalt eine Fehlermeldung.

    • Löschen Sie ein Geheimnis, indem Sie auf den Namen der verbundenen App klicken. Klicken Sie auf der Seite der verbundenen App neben dem Geheimnis auf Aktionen und wählen Sie Löschen aus. Wählen Sie im Bestätigungsdialogfenster erneut Löschen aus.

      Hinweis: Wenn das Geheimnis der verbundenen App von einer externen Anwendung verwendet wird, kann die eingebettete Ansicht oder Metrik nicht mehr angezeigt werden, nachdem das Geheimnis gelöscht wurde. Weitere Informationen finden Sie unten unter Auswirkungen des Deaktivierens oder Löschens einer verbundenen App oder des Löschens eines Geheimnisses.

    • Deaktivieren Sie eine verbundene App, indem Sie im Aktionsmenü die Option Deaktivieren auswählen. Wenn die verbundene App von der externen Anwendung verwendet wird, kann die eingebettete Ansicht oder Metrik nicht mehr angezeigt werden, nachdem die verbundene App deaktiviert wurde. Weitere Informationen finden Sie unten unter Auswirkungen des Deaktivierens oder Löschens einer verbundenen App oder des Löschens eines Geheimnisses.

Auswirkungen des Deaktivierens oder Löschens einer verbundenen App oder des Löschens eines Geheimnisses

Um Ihrem Benutzer eine eingebettete Ansicht oder Metrik über eine verbundene App anzuzeigen, muss die verbundene App aktiviert und ein Geheimnis generiert sein. Wenn die verbundene App in Ihrer externen Anwendung verwendet wird und entweder deaktiviert oder gelöscht wird oder ihr Geheimnis gelöscht oder ersetzt wird, erhalten die Benutzer einen Fehler beim Zugriff auf den eingebetteten Inhalt.

Um dieses Problem zu vermeiden, stellen Sie sicher, dass die verbundene App aktiviert ist und das JWT die richtige Geheimnis-ID und den richtigen Geheimniswert verwendet.

Zugriffsebene (nur Einbettungs-Workflows)

Sie können einen von zwei Projekttypen auswählen, wenn Sie die Zugriffsebene einer verbundenen Anwendung konfigurieren. Die Zugriffsebene steuert, welche Inhalte eingebettet werden können.

  • Alle Projekte: Diese Option ermöglicht das Einbetten der Inhalte in allen Projekten.
  • Nur ein Projekt: Diese Option ermöglicht nur das Einbetten der Inhalte im angegebenen Projekt. Wenn das angegebene Projekt verschachtelte Projekte enthält, ist das Einbetten von Inhalten in diese verschachtelten Projekte nicht aktiviert.

Regeln für die Domänenzulassungsliste (nur beim Einbetten von Workflows)

Mit der Domänenzulassungsliste der verbundenen App können Sie den Zugriff auf eingebettete Tableau-Inhalte auf alle Domänen oder einige Domänen beschränken oder einige Domänen ausschließen oder alle Domänen blockieren.

Domänenoptionen

Sie können eine von zwei Optionen wählen, wenn Sie die Domänenzulassungsliste einer verbundenen App konfigurieren:

  • Alle Domänen: Als Standardoption ermöglicht diese Option den uneingeschränkten Zugriff auf eingebettete Inhalte.
  • Nur bestimmte Domänen: Mit dieser Option können Sie den Zugriff auf eingebettete Inhalte einschränken. Wenn Sie diese Option verwenden, befolgen Sie die Formatierungsregeln, die im folgenden Abschnitt Domänenformatierung angegeben sind.

Domänenformatierung

In das Textfeld für die Domänenzulassungsliste können Sie eine oder mehrere Domänen unter Verwendung der nachstehenden Formatierungsbeispiele eingeben.

Hinweis: Die Regeln für die Domänenformatierung gelten auch bei der Verwendung der Methoden für verbundene Apps(Link wird in neuem Fenster geöffnet) in der Tableau REST-API.

Hier sind einige Formatierungsbeispiele, die auf gängigen Szenarien basieren:

Spezifizieren von ...BeispielEinbettungszugriff
Domänenbereich*.myco.comEingebettete Inhalte sind von allen Subdomänen unter myco.com zugänglich.
Alle Portsmyco.com:*Eingebettete Inhalte sind von allen Ports unter myco.com zugänglich.
Spezifischer Portmyco.com:8080Eingebettete Inhalte sind nur vom Port 8080 unter myco.com zugänglich.
Mehrere diskrete Domänenmyco.com
events.myco.com
ops.myco.com

Die eingebetteten Inhalte sind von allen drei Domänen aus zugänglich.

Hinweis: Wenn Sie mehrere Domänen angeben, geben Sie jede Domäne in einer neuen Zeile ein oder trennen Sie die Domänen durch ein Leerzeichen. Für die REST-API müssen Domänen durch ein Leerzeichen getrennt werden.

Nur sicherer Datenverkehrhttps:Eingebettete Inhalte sind unabhängig von der Domäne sicher zugänglich.
Sicherer Datenverkehr zu allen Ports für einen Bereich von Domänenhttps:*myco.com:*Eingebettete Inhalte sind von allen Ports in allen Subdomänen unter myco.com sicher zugänglich.
Keine Domänen[no domains]Der Zugriff auf eingebettete Inhalte ist gesperrt.

Bekannte Probleme (nur Einbettungs-Workflows)

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).
  • "Frag die Daten"-Objekte in eingebetteten Dashboards: "Frag die Daten"-Objekte in eingebetteten Dashboards werden nicht geladen.

  • Metriken und Domain-Zulassungslisten: Eingebettete Metrikansichten werden trotz Zugriffsbeschränkungen angezeigt, die möglicherweise in den Domain-Zulassungslisten der verbundenen Apps angegeben sind. Hinweis: Metrikdaten, auf die über Symbolleisten eingebetteter Ansichten zugegriffen wird, funktionieren wie erwartet. (In Tableau Server 2023.3 hat Tableau die Möglichkeit zum Einbetten von Metriken eingestellt.)

Vielen Dank für Ihr Feedback!