Vertrauenswürdige Authentifizierung
Wenn Tableau Server-Ansichten in Webseiten eingebettet werden, muss jeder, der die Seite besucht, ein lizenzierter Tableau Server-Benutzer sein. Wenn Benutzer die Seite aufrufen, werden sie aufgefordert, sich bei Tableau Server anzumelden, bevor die Ansicht angezeigt wird. Wenn Sie die Benutzer einer Webseite oder Webanwendung bereits authentifizieren, können Sie diese Eingabeaufforderung vermeiden und den Benutzern eine zweimalige Anmeldung ersparen, indem Sie die vertrauenswürdige Authentifizierung einrichten.
Vertrauenswürdige Authentifizierung bedeutet einfach, dass eine vertrauenswürdige Beziehung zwischen Tableau Server und einem oder mehreren Webservern eingerichtet wurde. Wenn Tableau Server Anforderungen von vertrauenswürdigen Webservern empfängt, wird davon ausgegangen, dass der Webserver die notwendige Authentifizierung durchgeführt hat.
Wenn der Webserver SSPI (Security Support Provider Interface) verwendet, müssen Sie keine vertrauenswürdige Authentifizierung einrichten. Sie können Ansichten einbetten, und die Benutzer können darauf sicher zugreifen, sofern Sie lizenzierte Benutzer von Tableau Server und Mitglieder von Active Directory sind.
Hinweis: Client-Browser müssen so konfiguriert sein, dass sie Drittanbieter-Cookies zulassen, falls Sie die vertrauenswürdige Authentifizierung mit eingebetteten Ansichten verwenden möchten.
Funktionsweise der vertrauenswürdigen Authentifizierung
Das Diagramm unten beschreibt, wie die vertrauenswürdige Authentifizierung zwischen dem Webbrowser des Clients, dem Webserver und Tableau Server funktioniert.
Ein Benutzer besucht die Webseite: Wenn ein Benutzer die Webseite mit der eingebetteten Tableau Server-Ansicht besucht, sendet die Webseite eine GET-Anforderung an den Webserver, um das HTML dieser Seite anzufordern.
Der Webserver sendet eine POST-Anforderung an Tableau Server: Der Webserver sendet eine POST-Anforderung an den vertrauenswürdigen Tableau Server (z. B. https://<server_name>/trusted
, nicht https://<server_name>
). Diese POST-Anforderung muss einen username
-Parameter enthalten. Der Wert für username
muss dem Benutzernamen eines lizenzierten Tableau Server-Benutzers entsprechen. Wenn Tableau Server mehrere Sites hostet und sich die Ansicht nicht auf der Site "Default" befindet, muss die POST-Anforderung auch einen target_site
-Parameter umfassen.
Tableau Server erstellt ein Ticket: Tableau Server überprüft die IP-Adresse oder den Hostnamen des Webservers (im obigen Diagramm 192.168.1.XXX), der die POST-Anforderung gesendet hat. Wenn der Webserver als vertrauenswürdiger Host aufgelistet ist, erstellt Tableau Server ein Ticket in Form einer eindeutigen Zeichenfolge. Tickets müssen innerhalb von drei Minuten nach ihrer Ausstellung eingelöst werden. Tableau Server beantwortet die POST-Anforderung mit diesem Ticket. Wenn ein Fehler vorliegt und das Ticket nicht erstellt werden kann, antwortet Tableau Server mit dem Wert -1
. Der Server muss über eine IPv4-Adresse verfügen. IPv6-Adressen werden nicht unterstützt. Weitere Informationen finden Sie unter Ticketwert -1 wird von Tableau Server zurückgegeben.
Der Webserver übergibt die URL an den Browser: Der Webserver erstellt die URL für die Ansicht und fügt sie in das HTML für die Seite ein. Das Ticket ist Bestandteil (zum Beispiel https://<server_name>/trusted/<unique_ticket>/views/<view_name>
). Der Webserver übergibt das gesamte HTML an den Webbrowser des Clients.
Der Browser fordert die Ansicht von Tableau Server an: Der Client-Webbrowser sendet eine GET-Anfrage an Tableau Server, die die URL mit dem Ticket beinhaltet.
Tableau Server löst das Ticket ein: Tableau Server löst das Ticket ein, erstellt eine Sitzung, meldet den Benutzer an, entfernt das Ticket aus der URL und sendet die endgültige URL für die eingebettete Ansicht an den Client.
Die Sitzung ermöglicht dem Benutzer den Zugriff auf beliebige Ansichten, die ihm bei einer Anmeldung beim Server zur Verfügung stehen würden. In der Standardkonfiguration haben mit vertrauenswürdigen Tickets authentifizierte Benutzer eingeschränkten Zugriff, sodass nur Ansichten verfügbar sind. Sie können nicht auf Arbeitsmappen, Projektseiten oder andere auf dem Server gehostete Inhalte zugreifen.
Informationen zum Ändern dieses Verhaltens finden Sie unter der Option wgserver.unrestricted_ticket
unter tsm configuration set-Optionen.
Wie wird ein vertrauenswürdiges Ticket gespeichert?
Tableau Server speichert vertrauenswürdige Tickets mithilfe des folgenden Prozesses im Repository von Tableau Server:
- Tableau Server generiert ein zweiteiliges Ticket: der erste Teil ist eine Base64-codierte eindeutige ID (UUID), und der zweite Teil ist eine 24 Zeichen umfassende, zufällige geheime Zeichenfolge.
- Tableau Server hasht die geheime Zeichenfolge und speichert sie zusammen mit der eindeutigen ID im Repository. Beim Hashing wird die geheime Zeichenfolge als Eingabe verwendet, und mithilfe eines Algorithmus wird eine eindeutige Zeichenfolge berechnet. Diese eindeutige Zeichenfolge schützt die geheime Zeichenfolge vor nicht autorisierten Benutzern.
- Tableau Server sendet die Base64-UUID und die ursprüngliche, 24 Zeichen umfassende zufällige Zeichenfolge an den Client.
- Der Client gibt die Base64-UUID und die ursprüngliche, 24 Zeichen umfassende geheime Zeichenfolge an Tableau Server als Teil der Anfrage für eine Ansicht zurück.
- Tableau Server sucht das Zeichenfolgenpaar mit der Base64-UUID und hasht dann die geheime Zeichenfolge, um zu prüfen, ob sie mit dem im Repository gespeicherten Hash übereinstimmt.
Anhand dieses Prozesses wird sichergestellt, dass die unter Tableau Server gespeicherten Inhalte vertrauenswürdiger Tickets nicht für Identitätswechsel von Benutzern oder den Zugriff auf per Authentifizierung geschützte Inhalte verwendet werden können. Da jedoch das vollständige vertrauenswürdige Ticket über HTTP zwischen Tableau Server und dem Client gesendet wird, vertraut der Prozess auf die sichere und verschlüsselte Übertragung von HTTP-Daten. Daher wird empfohlen, vertrauenswürdige Tickets nur über SSL/TLS oder eine andere Ebene der Netzwerkverschlüsselung bereitzustellen.