Teil 5 – Konfigurieren der Webschicht

Die Webschicht der Referenzarchitektur sollte die folgenden Komponenten umfassen:

  • Ein webseitiger Anwendungs-Lastenausgleich, der HTTPS-Anforderungen von Tableau-Clients entgegen nimmt und mit den Reverse-Proxyservern kommuniziert.
  • Reverse-Proxy: 
    • Wir empfehlen die Bereitstellung des Tableau Server Independent Gateway.
    • Wir empfehlen mindestens zwei Proxyserver, um Redundanz zu erhalten und um die Client-Last zu bewältigen.
    • Er empfängt HTTPS-Datenverkehr vom Lastenausgleich.
    • Er unterstützt Sticky-Sitzung zum Tableau-Host.
    • Konfigurieren Sie den Proxy für Roundrobin-Lastenausgleich für jeden Tableau Server, auf dem der Gateway-Prozess ausgeführt wird.
    • Er verarbeitet Authentifizierungsanfragen von externem IdP.
  • Forward-Proxy: Tableau Server benötigt für die Lizenzierung und die Kartenfunktionalität Zugriff auf das Internet. Für Tableau-Service-URLs müssen Sie Forward-Proxy-Safelists konfigurieren. Siehe Kommunikation mit dem Internet (Linux(Link wird in neuem Fenster geöffnet)).
  • Sämtlicher clientbezogene Datenverkehr kann über HTTPS verschlüsselt werden:
    • Client-zu-Anwendung-Lastenausgleich
    • Anwendungs-Lastenausgleich zu Reverse-Proxyserver
    • Proxyserver zu Tableau Server
    • Authentifizierungs-Handler, der auf Reverse-Proxy zu IdP ausgeführt wird
    • Tableau Server zu IdP

Tableau Server Independent Gateway

Ab Version 2022.1 enthält Tableau Server das Tableau Server Independent Gateway. Independent Gateway ist eine eigenständige Instanz des Tableau Gateway-Prozesses, die als Tableau-fähiger Reverse-Proxy dient.

Independent Gateway unterstützt einfachen Round-Robin-Lastenausgleich zu den Back-End-Tableau-Servern. Independent Gateway ist jedoch nicht als Lastenausgleich für Unternehmensanwendungen gedacht. Wir empfehlen, Independent Gateway hinter einem Lastenausgleich für Unternehmensanwendungen der Enterprise-Klasse auszuführen.

Für das Independent Gateway ist eine Lizenz vom Typ "Advanced Management" erforderlich.

Authentifizierung und Autorisierung

Die Standard-Referenzarchitektur sieht die Installation von Tableau Server mit konfigurierter lokaler Authentifizierung vor. In diesem Modell müssen die Clients eine Verbindung zu Tableau Server herstellen, um durch den nativen lokalen Authentifizierungsprozess von Tableau Server authentifiziert zu werden. Es wird nicht empfohlen, diese Authentifizierungsmethode in der Referenzarchitektur zu verwenden, da das Szenario erfordert, dass nicht authentifizierte Clients mit der Anwendungsebene kommunizieren, was ein Sicherheitsrisiko darstellt.

Stattdessen wird die Konfiguration eines externen Identitätsanbieters der Enterprise-Klasse in Verbindung mit einem AuthN-Modul zur Vor-Authentifizierung des gesamten Datenverkehrs zur Anwendungsebene empfohlen. Bei der Konfiguration mit einem externen IdP wird der native lokale Authentifizierungsprozess von Tableau Server nicht verwendet. Tableau Server autorisiert den Zugriff auf Ressourcen in der Bereitstellung, nachdem der IdP die Benutzer authentifiziert hat.

Vor-Authentifizierung mit einem AuthN-Modul

IIn dem in diesem Leitfaden dokumentierten Beispiel ist SAML SSO konfiguriert, aber der Vorauthentifizierungsprozess kann mit den meisten externen Identitätsanbietern und einem AuthN-Modul konfiguriert werden.

In der Referenzarchitektur ist der Reverseproxy so konfiguriert, dass er eine Client-Authentifizierungssitzung mit dem IdP erstellt, bevor er die Anfragen an Tableau Server weiterleitet. Diesen Prozess bezeichnen wird als die Vor-Authentifizierungs-Phase. Der Reverseproxy wird nur authentifizierte Clientsitzungen an Tableau Server umleiten. Tableau Server erstellt dann eine Sitzung, überprüft die Authentifizierung der Sitzung bei dem Identitätsanbieter und gibt dann die Clientanforderung zurück.

Das folgende Diagramm zeigt den schrittweisen Ablauf des Vor-Authentifizierungs- und Authentifizierungsprozesses mit einem konfigurierten AuthN-Modul: Der Reverse-Proxy kann eine allgemeine Lösung von einem Drittanbieter oder das Tableau Server Independent Gateway sein:

Die im obigen Diagramm gezeigten Schritte. Schritt 1: Der Tableau-Client fordert eine Ressource auf Tableau Server an. Schritt 2: Der Reverse-Proxy erstellt eine Authentifizierungsanfrage mit einer URL-Umleitung zum Identitätsanbieter. Schritt 3: Der Identitätsanbieter sendet ein Anmeldeformular an den Benutzer. Schritt 4: Der Benutzer erhält eine Aufforderung und gibt seine Anmeldeinformationen ein. Schritt 5: Der Identitätsanbieter prüft die vom Benutzer übermittelten Anmeldeinformationen. Schritt 6: Der Identitätsanbieter antwortet dem Client mit der eingebetteten SAML-Bestätigung, die an den Reverse-Proxy-Dienstanbieter gesendet wird. Schritt 7: Der Dienstanbieter auf dem Proxy validiert die Bestätigung, erstellt eine Sitzung und leitet dann an den Dienstanbieter auf Tableau Server weiter. Schritt 8: Der Dienstanbieter auf Tableau Server erstellt die Authentifizierungsanfrage an den Identitätsanbieter. Schritt 9: Der Identitätsanbieter validiert die aktuelle Sitzung. Schritt 10: Der Dienstanbieter auf Tableau Server führt eine Validierung durch, erstellt seine eigene Sitzung und sendet die Antwort an den Benutzer. Schritt 11: Der Benutzer stellt eine Verbindung zu Tableau Server her, um eine Autorisierung für die angegebene Ressource zu erhalten.

Konfigurationsübersicht

Dies ist eine Übersicht über den Prozess zum Konfigurieren der Webschicht. Überprüfen Sie nach jedem Schritt die Konnektivität:

  1. Konfigurieren Sie zwei Reverse-Proxys, um HTTP-Zugriff auf Tableau Server bereitzustellen.
  2. Konfigurieren Sie die Lastenausgleichslogik mit Sticky-Sitzungen auf Proxyservern, um eine Verbindung zu jeder Tableau Server-Instanz herzustellen, auf der der Gateway-Prozess ausgeführt wird.
  3. Konfigurieren Sie Anwendungslastenausgleich mit Sticky-Sitzungen bei dem Internet-Gateway, um Anforderungen an die Reverse-Proxyserver weiterzuleiten.
  4. Konfigurieren Sie Authentifizierung mit einem externen IdP. Sie können SSO oder SAML konfigurieren, indem Sie einen Authentifizierungs-Handler auf den Reverse-Proxyservern installieren. Das AuthN-Modul verwaltet den Authentifizierungs-Handshake zwischen dem externen IdP und Ihrer Tableau-Bereitstellung. Tableau wird auch als IdP-Dienstanbieter fungieren und Benutzer bei dem IdP authentifizieren.
  5. Um sich bei Tableau Desktop in dieser Bereitstellung zu authentifizieren, müssen Ihre Clients Tableau Desktop 2021.2.1 (oder höher) ausführen.

Beispiel für eine Webschichtkonfiguration mit Tableau Server Independent Gateway

Der Rest dieses Themas enthält ein komplettes Verfahren, das beschreibt, wie die Webschicht in der AWS-Referenzarchitektur in dem Beispiel mit dem Tableau Server Independent Gateway implementiert wird. Eine Beispielkonfiguration mit Apache als Reverse-Proxy finden Sie in Anhang – Webschicht mit Apache-Beispielbereitstellung.

Die Beispielkonfiguration setzt sich aus folgenden Komponenten zusammen:

  • AWS-Anwendungslastenausgleich
  • Tableau Server Independent Gateway
  • Mellon-Authentifizierungsmodul
  • Okta-IdP
  • SAML-Authentifizierung

Hinweis: Die in diesem Abschnitt vorgestellte Beispielkonfiguration für die Webschicht enthält detaillierte Verfahren zum Bereitstellen von Software und Diensten von Drittanbietern. Wir haben uns nach Kräften bemüht, die Verfahren zur Aktivierung des Webschicht-Szenarios zu überprüfen und zu dokumentieren. Die Software von Drittanbietern kann sich jedoch ändern oder Ihr Szenario kann von der hier beschriebenen Referenzarchitektur abweichen. Verbindliche Konfigurationsdetails und Support finden Sie in der Dokumentation der Drittanbieter.

Die Linux-Beispiele in diesem Abschnitt zeigen Befehle für RHEL-ähnliche Distributionen. Die hier angegebenen spezifischen Befehle wurden mit der Amazon Linux 2-Distribution entwickelt. Wenn Sie die Ubuntu-Distribution ausführen, bearbeiten Sie die Befehle entsprechend.

Die Bereitstellung der Webschicht in diesem Beispiel erfolgt nach einem schrittweisen Konfigurations- und Überprüfungsverfahren. Die Konfiguration der zentralen Web-Ebene umfasst die folgenden Schritte, um HTTP zwischen Tableau und dem Internet zu aktivieren. Apache wird so konfiguriert, dass es als Reverse-Proxy bzw. als Lastenausgleich hinter dem AWS-Anwendungs-Lastenausgleich ausgeführt wird:

  1. Vorbereiten der Umgebung
  2. Installieren von Independent Gateway
  3. Konfigurieren des Independent Gateway-Servers
  4. Konfigurieren von AWS-Anwendungslastenausgleich

Nachdem die Web-Ebene eingerichtet und die Konnektivität zu Tableau überprüft wurde, konfigurieren Sie die Authentifizierung bei einem externen Anbieter.

Vorbereiten der Umgebung

Führen Sie die folgenden Aufgaben aus, bevor Sie Independent Gateway bereitstellen.

  1. Änderungen der AWS-Sicherheitsgruppe. Konfigurieren Sie die öffentliche Sicherheitsgruppe so, dass aus der privaten Sicherheitsgruppe eingehender Housekeeping-Datenverkehr des Independent Gateways (TCP 21319) zugelassen wird.

  2. Installieren Sie Version 22.1.1 (oder höher) auf einem Tableau Server-Cluster mit vier Knoten, wie in Teil 4 – Installieren und Konfigurieren von Tableau Server dokumentiert.

  3. Konfigurieren Sie die beiden Proxy-EC2-Instanzen in der öffentlichen Sicherheitsgruppe, wie in Konfigurieren der Hostcomputer dokumentiert.

Installieren von Independent Gateway

Für Tableau Server Independent Gateway ist eine Lizenz vom Typ "Advanced Management" erforderlich.

Das Bereitstellen von Tableau Server Independent Gateway besteht aus der Installation und Ausführung des RPM-Pakets und der anschließenden Konfiguration des Ausgangszustands. Das in dieser Anleitung angegebene Verfahren gibt verbindliche Anweisungen für die Bereitstellung in der Referenzarchitektur ab.

Wenn Ihre Bereitstellung von der Referenzarchitektur abweicht, konsultieren Sie die Hauptdokumentation von Tableau Server, Installieren von Tableau Server mit Independent Gateway (Linux(Link wird in neuem Fenster geöffnet)).

Wichtig: Das Konfigurieren des Independent Gateways kann ein fehleranfälliger Prozess sein. Es ist sehr schwierig, Konfigurationsprobleme über zwei Instanzen von Independent Gateway-Servern hinweg zu beheben. Aus diesem Grund empfehlen wir, immer nur einen Independent Gateway-Server auf einmal zu konfigurieren. Nachdem Sie den ersten Server konfiguriert und die Funktionalität überprüft haben, sollten Sie den zweiten Independent Gateway-Server konfigurieren.

Auch wenn Sie jeden Independent Gateway-Server separat konfigurieren, führen Sie dieses Installationsverfahren auf beiden EC2-Instanzen aus, die Sie in der öffentlichen Sicherheitsgruppe installiert haben: 

  1. Führen Sie das Update aus, um die neuesten Fixes für das Linux-Betriebssystem anzuwenden:

    sudo yum update

  2. Wenn Apache installiert ist, entfernen Sie es:

     sudo yum remove httpd
  3. Kopieren Sie das Installationspaket für Independent Gateway 2022.1.1 (oder höher) von der Tableau-Downloadseite(Link wird in neuem Fenster geöffnet) auf den Hostcomputer, auf dem Tableau Server ausgeführt werden soll.

    Auf einem Linux-RHEL-ähnlichen Betriebssystem beispielsweise führen Sie den folgenden Befehl aus:

    wget https://downloads.tableau.com/esdalt/2022<version>/tableau-server-tsig-<version>.x86_64.rpm

  4. Führen Sie das Installationsprogramm aus. Auf einem Linux-RHEL-ähnlichen Betriebssystem beispielsweise führen Sie den folgenden Befehl aus:

    sudo yum install <tableau-tsig-version>.x86_64.rpm

  5. Wechseln Sie in das Verzeichnis /opt/tableau/tableau_tsig/packages/scripts.<version_code>/ und führen Sie das Skript initialize-tsig aus, das sich dort befindet. Außer dem --accepteula-Flag müssen Sie auch den IP-Bereich der Subnetze angeben, in denen die Tableau Server-Bereitstellung ausgeführt wird. Verwenden Sie die Option -c, um den IP-Bereich anzugeben. Das folgende Beispiel zeigt den Befehl mit den angegebenen Beispiel-AWS-Subnetzen:

    sudo ./initialize-tsig --accepteula -c "ip 10.0.30.0/24 10.0.31.0/24"

  6. Öffnen Sie nach Abschluss der Initialisierung die Datei tsighk-auth.conf und kopieren Sie das Authentifizierungsgeheimnis in der Datei. Sie müssen diesen Code für jede Independent Gateway-Instanz als Teil der Back-End-Konfiguration von Tableau Server übermitteln:

    sudo less /var/opt/tableau/tableau_tsig/config/tsighk-auth.conf

  7. Nachdem Sie die vorherigen Schritte auf beiden Instanzen des Independent Gateway ausgeführt haben, bereiten Sie die tsig.json-Konfigurationsdatei vor. Die Konfigurationsdatei besteht aus einem Array von "independentGateways". Das Array enthält Konfigurationsobjekte, die jeweils Verbindungsdetails für eine Independent Gateway-Instanz definieren.

    Kopieren Sie die folgende JSON und passen Sie sie entsprechend Ihrer Bereitstellungsumgebung an. Das Beispiel hier zeigt eine Datei für eine Beispiel-AWS-Referenzarchitektur.

    Die folgende JSON-Beispieldatei enthält nur Verbindungsinformationen für ein Independent Gateway. Später im Prozess werden Sie die Verbindungsinformationen für den zweiten Independent Gateway-Server hinzufügen.

    Speichern Sie die Datei unter dem Namen tsig.json für die folgenden Schritte.

    {
    "independentGateways": [
     {
     	"id": "ip-10-0-1-169.ec2.internal",
     	"host": "ip-10-0-1-169.ec2.internal",
     	"port": "21319",
     	"protocol" : "http",
     	"authsecret": "13660-27118-29070-25482-9518-22453"
     	}]
     }

    • "id" – Der private DNS-Name der AWS EC2-Instanz, auf der Independent Gateway ausgeführt wird.
    • "host" – ist identisch mit"id".
    • "port" – Der Housekeeping-Port (standardmäßig "21319").
    • "protocol" – Das Protokoll für Client-Datenverkehr. Lassen Sie hier http für die Ausgangskonfiguration stehen.
    • "authsecret" – Das Geheimnis, das Sie im vorherigen Schritt kopiert haben.

Independent Gateway: Unterschied zwischen direkter Verbindung und Relay-Verbindung

Bevor Sie fortfahren, müssen Sie entscheiden, welches Verbindungsschema in Ihrer Bereitstellung konfiguriert werden soll: Direkte oder Relay-Verbindung. Jede Option wird hier zusammen mit relevanten Entscheidungsdatenpunkten kurz beschrieben.

Relay-Verbindung: Sie können Independent Gateway konfigurieren, um die Client-Kommunikation über einen einzelnen Port an den Gateway-Prozess in Tableau Server weiterzuleiten. Dies bezeichnen wir als Relay-Verbindung:

  • Der Relay-Prozess führt zu einem zusätzlichen Hop vom Independent Gateway zum Back-End-Tableau Server-Gateway-Prozess. Der zusätzliche Hop verschlechtert die Leistung im Vergleich zur direkten Verbindungskonfiguration.
  • TLS wird für den Relay-Modus unterstützt. Die gesamte Kommunikation im Relay-Modus ist auf ein einziges Protokoll (HTTP oder HTTPS) beschränkt und kann daher mit TLS verschlüsselt und authentifiziert werden.

Direkte Verbindung: Das Independent Gateway kann über mehrere Ports direkt mit den Back-End-Prozessen von Tableau Server kommunizieren. Diese Kommunikation bezeichnen wir als direkte Verbindung:

  • Da die Verbindung direkt zum Back-End-Tableau Server erfolgt, wird die Clientleistung im Vergleich zur Relay-Verbindungsoption deutlich verbessert.
  • Dies erfordert das Öffnen von mehr als 16 Ports von öffentlichen zu privaten Subnetzen für die direkte Prozesskommunikation vom Independent Gateway zu Tableau Server-Computern.
  • TLS wird für die Prozesse von Independent Gateway zu Tableau Server noch nicht unterstützt.

Zum Ausführen von TLS zwischen Tableau Server und Independent Gateway müssen Sie eine Relay-Verbindung konfigurieren. Die Beispielszenarien im EDG sind mit einer Relay-Verbindung konfiguriert.

  1. Kopieren Sie tsig.json auf Knoten 1 Ihrer Tableau Server-Bereitstellung.

  2. Führen Sie auf Knoten 1 die folgenden Befehle aus, um Independent Gateway zu aktivieren.

    tsm stop
    tsm configuration set -k gateway.tsig.proxy_tls_optional -v none
    tsm pending-changes apply
    tsm topology external-services gateway enable -c tsig.json
    tsm start

Da direkte Verbindung TLS nicht unterstützt, empfehlen wir, direkte Verbindung nur zu konfigurieren, wenn Sie in der Lage sind, sämtlichen Netzwerkdatenverkehr auf andere Weise abzusichern. Zum Ausführen von TLS zwischen Tableau Server und Independent Gateway müssen Sie eine Relay-Verbindung konfigurieren. Die Beispielszenarien im EDG sind mit einer Relay-Verbindung konfiguriert.

Wenn Sie Independent Gateway für eine direkte Verbindung mit Tableau Server konfigurieren, müssen Sie die Konfiguration aktivieren, um die Kommunikation auszulösen. Nachdem Tableau Server mit dem Independent Gateway kommuniziert, werden die Protokollziele eingerichtet. Sie müssen dann die proxy_targets.csv vom Independent Gateway-Computer abrufen und die entsprechenden Ports von den öffentlichen zu den privaten Sicherheitsgruppen in AWS öffnen.

  1. Kopieren Sie tsig.json auf Knoten 1 Ihrer Tableau Server-Bereitstellung.

  2. Führen Sie auf Knoten 1 die folgenden Befehle aus, um Independent Gateway zu aktivieren.

    tsm stop
    tsm topology external-services gateway enable -c tsig.json
    tsm start
  3. Führen Sie auf dem Independent Gateway-Computer den folgenden Befehl aus, um die Ports anzuzeigen, die der Tableau Server-Cluster verwendet:

    less /var/opt/tableau/tableau_tsig/config/httpd/proxy_targets.csv
  4. Konfigurieren Sie AWS-Sicherheitsgruppen. Fügen Sie die in proxy_targets.csv aufgelisteten TCP-Ports hinzu, um die Kommunikation von der öffentlichen Sicherheitsgruppe zu der privaten Sicherheitsgruppe zu ermöglichen.

    Wir empfehlen, die Porteingangskonfiguration zu automatisieren, da sich die Ports ändern können, wenn sich die Topologie der Tableau Server-Bereitstellung ändert. Wenn in der Tableau Server-Bereitstellung Knoten hinzugefügt oder Prozesse neu konfiguriert werden, bringt dies Änderungen beim Portzugriff mit sich, der von Independent Gateway benötigt wird.

Überprüfung: Konfiguration der Basistopologie

Sie sollten auf die Tableau Server-Administrationsseite zugreifen können, indem Sie zu http://<gateway-public-IP-address> navigieren.

Wenn die Anmeldeseite von Tableau Server nicht geladen wird oder wenn Tableau Server nicht gestartet wird, führen Sie die folgenden Fehlerbehebungsschritte aus:

Netzwerk: 

  • Überprüfen Sie die Konnektivität zwischen der Tableau-Bereitstellung und der Independent Gateway-Instanz, indem Sie den folgenden wget-Befehl auf dem Tableau Server-Knoten 1 ausführen: wget http://<interne IP-Adresse von Independent Gateway>:21319. Zum Beispiel:

     wget http://ip-10-0-1-38:21319

    Wenn die Verbindung verweigert wird oder fehlschlägt, überprüfen Sie, dass die öffentliche Sicherheitsgruppe so konfiguriert ist, dass sie Independent Gateway-Housekeeping-Datenverkehr (TCP 21319) aus der privaten Sicherheitsgruppe zulässt.

    Wenn die Sicherheitsgruppe korrekt konfiguriert ist, überprüfen Sie, dass Sie die richtigen IP-Adressen oder IP-Bereiche während der Initialisierung von Independent Gateway angegeben haben. Sie können diese Konfiguration in der Datei environment.bash (unter /etc/opt/tableau/tableau_tsig/environment.bash) einsehen und ändern. Wenn Sie in dieser Datei Änderungen vornehmen, müssen Sie den tsig-http-Dienst wie nachfolgend beschrieben neu starten.

Führen Sie auf dem Proxy 1-Host Folgendes durch:

  1. Überschreiben Sie die httpd.conf-Datei mit der Independent Gateway-Stub-Datei:

    cp /var/opt/tableau/tableau_tsig/config/httpd.conf.stub /var/opt/tableau/tableau_tsig/config/httpd.conf
  2. Starten Sie als ersten Schritt zur Fehlerbehebung "tsig-httpd" neu:
    sudo su - tableau-tsig
    systemctl --user restart tsig-httpd
    exit

Führen Sie auf Tableau-Knoten 1 Folgendes durch:

  • Überprüfen Sie die Datei tsig.json noch einmal. Wenn Sie Fehler finden, beheben Sie sie und führen Sie dann den folgenden Befehl aus: tsm topology external-services gateway update -c tsig.json.
  • Wenn Sie eine direkte Verbindung ausführen, überprüfen Sie, dass die in proxy_targets.csv aufgelisteten TCP-Ports als Eingangsports von öffentlichen zu privaten Sicherheitsgruppen konfiguriert sind.

Konfigurieren von AWS-Anwendungslastenausgleich

Konfigurieren Sie den Lastenausgleich als HTTP-Listener. Im hier vorliegenden Verfahren wird beschrieben, wie Sie einen Lastenausgleich in AWS hinzufügen.

Schritt 1: Erstellen einer Zielgruppe

Eine Zielgruppe ist eine AWS-Konfiguration, welche die EC2-Instances definiert, auf denen Ihre Proxyserver ausgeführt werden. Dies sind die Ziele für den Datenverkehr von der LBS.

  1. EC2 > Target groups > Create target group (EC2 > Zielgruppen > Zielgruppe erstellen)

  2. Auf der Seite "Create" (Erstellen):

    • Geben Sie einen Zielgruppennamen ein, zum Beispiel TG-internal-HTTP.
    • Zieltyp: Instanzen
    • Protokoll: HTTP
    • Port: 80
    • VPC: Wählen Sie Ihre VPC aus.
    • Fügen Sie unter Health checks (Integritätsprüfungen) > Advanced health checks settings (Einstellungen für erweiterte Integritätsprüfungen) > Success codes (Erfolgscodes) die Codeliste zum Lesen hinzu: 200,303.
    • Klicken Sie auf Create (Erstellen).
  3. Wählen Sie die Zielgruppe aus, die Sie eben erstellt haben, und klicken Sie dann auf die Registerkarte Targets (Ziele): 

    • Klicken Sie auf Edit (Bearbeiten).
    • Wählen Sie die EC2-Instanzen (oder eine einzelne Instanz, wenn Sie einzeln konfigurieren) aus, auf denen die Proxyanwendung ausgeführt wird. Klicken Sie dann auf Zu registriert hinzufügen.
    • Klicken Sie auf Speichern.

Schritt 2: Starten des Assistenten für Lastenausgleich

  1. EC2 > Load Balancers > Create Load Balancer (EC2 > Lastenausgleichsmodule > Lastenausgleich erstellen)

  2. Erstellen Sie auf der Seite "Select load balancer type" (Lastenausgleichstyp auswählen) einen Anwendungslastenausgleich.

Hinweis: Die Benutzeroberfläche, die zur Konfiguration des Lastenausgleichsmodulen angezeigt wird, ist in den AWS-Rechenzentren nicht einheitlich. Das folgende Verfahren "Assistenten-Konfiguration" bezieht sich auf den AWS-Konfigurationsassistenten, der mit Schritt 1 Lastenausgleichsmodul konfigurieren beginnt. 

Wenn Ihr Rechenzentrum alle Konfigurationen auf einer einzigen Seite anzeigt, die unten auf der Seite eine Schaltfläche Create Load Balancer enthält, befolgen Sie das nachstehende Verfahren "Konfiguration auf einer Seite".

  1. Die Seite Configure load balancer (Lastenausgleich konfigurieren):

    • Geben Sie den Namen an
    • Schema: Internetzugriff (Standard)
    • IP-Adresstyp: IPv4 (Standard)
    • Listener (Listener und Routing):
      1. Behalten Sie den Standard-HTTP-Listener bei.
      2. Klicken Sie auf Listener hinzufügen und fügen Sie HTTPS:443 hinzu.
    • VPC: Wählen Sie die VPC aus, in der Sie alles installiert haben.
    • Verfügbarkeitszonen:
      • Wählen Sie a und b für Ihre Rechenzentrumsregionen aus.
      • Wählen Sie in der entsprechenden Dropdown-Liste das öffentliche Subnetz aus (in dem sich Ihre Proxyserver befinden).
    • Klicken Sie auf Configure Security Settings (Sicherheitseinstellungen konfigurieren)
  2. Die Seite Configure Security Settings (Sicherheitseinstellungen konfigurieren)

    • Laden Sie Ihr öffentliches SSL-Zertifikat hoch.
    • Klicken Sie auf Next: Configure Security Groups (Weiter: Sicherheitsgruppen konfigurieren).
  3. Die Seite Configure Security Groups (Sicherheitsgruppen konfigurieren):

    • Wählen Sie die öffentliche Sicherheitsgruppe aus. Wenn die Standardsicherheitsgruppe ausgewählt ist, deaktivieren Sie diese Auswahl.
    • Klicken Sie auf Next: Configure Routing (Weiter: Routing konfigurieren).
  4. Die Seite Configure Routing (Routing konfigurieren)

    • Zielgruppe: Bestehende Zielgruppe.
    • Name: Wählen Sie eine Zielgruppe aus, die Sie zuvor erstellt haben.
    • Klicken Sie auf Next: Register Targets (Weiter: Ziele registrieren).
  5. Die Seite Register Targets (Ziele registrieren)

    • Die beiden Proxyserver-Instanzen, die Sie zuvor konfiguriert haben, sollten angezeigt werden.
    • Klicken Sie auf Next: Review (Weiter: Überprüfung).
  6. Die Seite Review (Überprüfen)

    Klicken Sie auf Erstellen.

Grundlegende Konfiguration

  • Geben Sie den Namen an
  • Schema: Internetzugriff (Standard)
  • IP-Adresstyp: IPv4 (Standard)

Netzwerkzuordnung

  • VPC: Wählen Sie die VPC aus, in der Sie alles installiert haben.
  • Zuordnungen:
    • Wählen Sie die Verfügbarkeitszonen a und b (oder vergleichbare) für Ihre Rechenzentrumsregionen aus.
    • Wählen Sie in der entsprechenden Dropdown-Liste das öffentliche Subnetz aus (in dem sich Ihre Proxyserver befinden).

Sicherheitsgruppen

  • Wählen Sie die öffentliche Sicherheitsgruppe aus. Wenn die Standardsicherheitsgruppe ausgewählt ist, deaktivieren Sie diese Auswahl.
  • Listener und Routing

    • Behalten Sie den Standard-HTTP-Listener bei. Geben Sie bei Standardaktion die zuvor eingerichtete Zielgruppe an.
    • Klicken Sie auf Listener hinzufügen und fügen Sie HTTPS:443 hinzu. Geben Sie bei Standardaktion die zuvor eingerichtete Zielgruppe an.

    Sichere Listener-Einstellungen

    • Laden Sie Ihr öffentliches SSL-Zertifikat hoch.

    Klicken Sie auf Create Load Balancer.

    Schritt 3: Stickiness aktivieren

    1. Nachdem der Lastenausgleich erstellt wurde, müssen Sie Stickiness für die Zielgruppe aktivieren.

      • Öffnen Sie die AWS-Seite für die Zielgruppe (EC2 > Load Balancing (Lastenausgleich) > Target groups (Zielgruppen)), und wählen Sie die Zielgruppeninstanz aus, die Sie gerade eingerichtet haben. Wählen Sie im Menü Actions (Aktionen) die Option Edit attributes (Attribute bearbeiten) aus.
      • Wählen Sie auf der Seite Edit attributes (Attribute bearbeiten) die Option Stickiness (Bindung) aus, geben Sie eine Zeitdauer von 1 day (1 Tag) an, und klicken Sie dann auf Save changes (Änderungen speichern).
    2. Aktivieren Sie beim Lastenausgleich Stickiness auf dem HTTP-Listener. Wählen Sie den Lastenausgleich aus, den Sie gerade konfiguriert haben, und klicken Sie dann auf die Registerkarte Listeners:

      • Klicken Sie für HTTP:80 auf View/edit rules (Regeln anzeigen/bearbeiten). Klicken Sie auf der Seite Rules (Regeln), die daraufhin angezeigt wird, auf das Bearbeitungssymbol (zuerst oben auf der Seite und dann noch einmal für die Regel), um die Regel zu bearbeiten. Löschen Sie die vorhandene THEN-Regel ("DANN-Regel") und ersetzen Sie sie, indem Sie auf Add action (Aktion hinzufügen) > Forward to... (Weiterleiten an...) klicken. Geben Sie in der resultierenden THEN-Konfiguration die gleiche Zielgruppe an, die Sie erstellt haben. Aktivieren Sie unter "Group-level stickiness" (Bindung auf Gruppenebene) den Punkt "Stickiness", und legen Sie "Duration" (Zeitdauer) auf "1 Day" (1 Tag) fest. Speichern Sie die Einstellung und klicken Sie dann auf Update (Aktualisieren).

    Schritt 4: Festlegen des Leerlaufzeitlimits für den Lastenausgleich

    Aktualisieren Sie für den Lastenausgleich das Leerlaufzeitlimit auf 400 Sekunden.

    Wählen Sie den Lastenausgleich, den Sie für diese Bereitstellung konfiguriert haben, und klicken Sie dann auf Aktionen > Attribute bearbeiten. Stellen Sie das Leerlaufzeitlimit auf 400 Sekunden ein und klicken Sie dann auf Speichern.

    Schritt 5: Überprüfen der LBS-Verbindung

    Öffnen Sie die Seite "AWS Load Balancer" (AWS-Lastenausgleich) (EC2> Load Balancers (Lastenausgleich)), wählen Sie die Lastenausgleichsinstanz aus, die Sie gerade eingerichtet haben.

    Kopieren Sie unter Description (Beschreibung) den DNS-Namen und fügen Sie ihn in einen Browser ein, um auf die Tableau Server-Anmeldeseite zuzugreifen.

    Wenn ein Fehler auf 500-Niveau angezeigt wird, müssen Sie wahrscheinlich Ihre Proxyserver neu starten.

    Aktualisieren des DNS mit der öffentlichen Tableau-URL

    Verwenden Sie den DNS-Zonennamen Ihrer Domäne aus der AWS-Seite "Load Balancer" (Lastenausgleich) > "Description" (Beschreibung), um einen CNAME-Wert in Ihrem DNS zu erstellen. Datenverkehr zu Ihrer URL (tableau.example.com) sollte an den öffentlichen AWS-DNS-Namen gesendet werden.

    Überprüfen der Konnektivität

    Nachdem Ihre DNS-Updates abgeschlossen sind, sollten Sie zu der Tableau Server-Anmeldeseite navigieren können, indem Sie Ihre öffentliche URL eingeben, zum Beispiel:https://tableau.example.com.

    Beispiel für eine Konfiguration für Authentifizierung: SAML mit externem IdP

    Im folgenden Beispiel wird beschrieben, wie Sie SAML mit Okta-IdP und Mellon-Authentifizierungsmodul für eine Tableau-Bereitstellung einrichten und konfigurieren, die in der AWS-Referenzarchitektur ausgeführt wird.

    Dieses Beispiel knüpft an den vorherigen Abschnitt an und geht davon aus, dass Sie immer nur ein Independent Gateway auf einmal konfigurieren.

    In dem Beispiel wird beschrieben, wie Tableau Server und Independent Gateway über HTTP konfiguriert werden. Okta wird Anfragen an den AWS-Lastenausgleich über HTTPS senden, aber sämtlicher interner Datenverkehr wird über HTTP erfolgen. Beachten Sie bei der Konfiguration für dieses Szenario die Unterschiede von HTTP und HTTPS, wenn Sie URL-Zeichenfolgen festlegen.

    In diesem Beispiel wird Mellon als Dienstanbietermodul für Vorauthentifizierung auf den Independent Gateway-Servern verwendet. Diese Konfiguration stellt sicher, dass nur authentifizierter Datenverkehr mit Tableau Server verbunden wird, der auch als Dienstanbieter mit dem Okta-IdP agiert. Daher müssen Sie zwei IdP-Anwendungen konfigurieren: eine für den Mellon-Dienstanbieter und eine für den Tableau-Dienstanbieter.

    Erstellen des Tableau-Administratorkontos

    Ein häufiger Fehler beim Konfigurieren von SAML ist, die Erstellung eines Administratorkontos in Tableau Server zu vergessen, bevor SSO aktiviert wird.

    Der erste Schritt besteht darin, ein Konto in Tableau Server mit einer Serveradministratorrolle zu erstellen. Für das Okta-Beispielszenario muss der Benutzername in einem gültigen E-Mail-Adressformat angegeben werden (z. B. user@example.com). Sie müssen für diesen Benutzer ein Kennwort festlegen, das jedoch nach der Konfiguration von SAML nicht mehr verwendet wird.

    Konfigurieren der Vor-Authentifizierungsanwendung von Okta

    Das in diesem Abschnitt beschriebene End-to-End-Szenario erfordert zwei Okta-Anwendungen:

    • Vor-Authentifizierungsanwendung von Okta
    • Tableau Server-Anwendung von Okta

    Jede dieser Anwendungen ist mit unterschiedlichen Metadaten verbunden, die Sie auf dem Reverse-Proxy bzw. Tableau Server konfigurieren müssen.

    In diesem Verfahren wird beschrieben, wie Sie die Vor-Authentifizierungsanwendung von Okta erstellen und konfigurieren. Später in diesem Thema ist vorgesehen, dass Sie die Tableau Server-Anwendung von Okta erstellen. Ein kostenloses Okta-Testkonto mit eingeschränkten Benutzern finden Sie auf der Okta-Entwickler-Webseite(Link wird in neuem Fenster geöffnet).

    Erstellen Sie eine SAML-App-Integration für den Mellon-Vorauthentifizierungs-Dienstanbieter.

    1. Öffnen Sie das Okta-Administrations-Dashboard, und klicken Sie auf Applications > Create App Integration (Anwendungen > App-Integration erstellen).

    2. Wählen Sie auf der Seite Create a new app integration (Neue App-Integration erstellen) die Option SAML 2.0 aus, und klicken Sie dann auf Next (Weiter).

    3. Geben Sie auf der Registerkarte General Settings (Allgemeine Einstellungen) einen App-Namen ein (z. B. Tableau Pre-Auth), und klicken Sie dann auf Next (Weiter).

    4. Auf der Registerkarte Configure SAML (SAML konfigurieren):

      • SSO-URL (Single Sign-On): Das letzte Element des Pfads in der Single Sign-On-URL wird als der MellonEndpointPath in der mellon.conf Konfigurationsdatei bezeichnet, die später in diesem Verfahren behandelt wird. Sie können einen beliebigen Endpunkt angeben. In diesem Beispiel ist sso der Endpunkt. Das letzte Element, postResponse, ist erforderlich: https://tableau.example.com/sso/postResponse.
      • Deaktivieren Sie das Kontrollkästchen Use this for Recipient URL and Destination URL (Dieses für Empfänger-URL und Ziel-URL verwenden).
      • Recipient URL (Empfänger-URL): Ist die gleiche wie die SSO-URL, jedoch mit HTTP. Zum Beispiel: http://tableau.example.com/sso/postResponse.
      • Destination URL (Ziel-URL): Ist die gleiche wie die SSO-URL, jedoch mit HTTP. Zum Beispiel: http://tableau.example.com/sso/postResponse.
      • Audience URI (SP Entity ID) (Zielgruppen-URI (SP-Entitäts-ID)). Zum Beispiel: https://tableau.example.com.
      • Name ID Format (Format der Namens-ID): EmailAddress
      • Application Username (Anwendungsbenutzername): Email
      • Attributes Statements (Attributangaben): Name = mail; Name format (Namensformat) = Unspecified; Value (Wert) = user.email.

      Klicken Sie auf Next (Weiter).

    5. Wählen Sie auf der Registerkarte Feedback Folgendes aus:

      • I'm an Okta customer adding an internal app (Ich bin ein Okta-Kunde und füge eine interne App hinzu)
      • This is an internal app that we have created (Dies ist eine interne App, die wir erstellt haben)
      • Klicken Sie auf Finish (Fertigstellen).
    6. Erstellen Sie die IdP-Metadatendatei vor der Authentifizierung:

      • In Okta: Applications (Anwendungen) > Applications (Anwendungen) > Ihre neue Anwendung (z. B. Tableau Pre-Auth) > Sign On (Anmelden)
      • Klicken Sie neben SAML-Signaturzertifikate auf Anweisungen zur SAML-Einrichtung anzeigen.
      • Führen Sie auf der Seite Konfigurieren von SAML 2.0 für die Anwendung vor der Authentifizierung einen Bildlauf nach unten zum Abschnitt Optional durch, Stellen Sie die folgenden IDP-Metadaten für Ihren SP-Anbieter bereit.
      • Kopieren Sie den Inhalt des XML-Felds, und speichern Sie ihn in einer Datei mit dem Namen pre-auth_idp_metadata.xml.
    7. (Optional) Konfigurieren Sie Multi-Faktor-Authentifizierung (MFA):

      • In Okta: Applications (Anwendungen) > Applications (Anwendungen) > Ihre neue Anwendung (z. B. Tableau Pre-Auth) > Sign On (Anmelden)
      • Klicken Sie unter Sign On Policy (Anmelderichtlinie) auf Add Rule (Regel hinzufügen).
      • Geben Sie in der App Sign On Rule (App-Anmelderegel) einen Namen und die verschiedenen MFA-Optionen an. Um die Funktionalität zu testen, können Sie alle Optionen in der jeweiligen Standardeinstellung belassen. Sie müssen jedoch unter Actions (Aktionen) den Punkt Prompt for factor (Zur Eingabe des Faktors auffordern) auswählen und dann angeben, wie oft sich Benutzer anmelden müssen. Klicken Sie auf Save (Speichern).

    Erstellen und Zuweisen eines Okta-Benutzers

    1. Erstellen Sie in Okta einen Benutzer mit dem gleichen Benutzernamen, den Sie in Tableau erstellt haben (user@example.com): Directory (Verzeichnis) > People (Personen) > Add person (Person hinzufügen).
    2. Nachdem der Benutzer erstellt wurde, weisen Sie ihm die neue Okta-App zu: Klicken Sie auf den Benutzernamen und weisen Sie dann die Anwendung in Assign Application (Anwendung zuweisen) zu.

    Installieren von Mellon für die Vor-Authentifizierung

    Dieses Beispiel verwendet "mod_auth_mellon", ein beliebtes Open-Source-Modul. Einige Linux-Distributionen packen veraltete "mod_auth_mellon"-Versionen aus einem älteren Repository. Diese veralteten Versionen können unbekannte Sicherheitslücken enthalten oder Funktionsprobleme verursachen. Wenn Sie sich für "mod_auth_mellon" entscheiden, überprüfen Sie, ob Sie eine aktuelle Version verwenden.

    Das Modul "mod_auth_mellon" ist eine Software von Drittanbietern. Wir haben uns nach Kräften bemüht, die Verfahren zur Aktivierung dieses Szenarios zu überprüfen und zu dokumentieren. Allerdings kann sich Software von Drittanbietern ändern oder Ihr Szenario kann von der hier beschriebenen Referenzarchitektur abweichen. Verbindliche Konfigurationsdetails und Support finden Sie in der Dokumentation der Drittanbieter.

    1. Installieren Sie auf der aktiven EC2-Instanz, auf der Independent Gateway ausgeführt wird, eine aktuelle Version des Mellon-Authentifizierungsmoduls.

    2. Erstellen Sie das Verzeichnis /etc/mellon:

      sudo mkdir /etc/mellon

    Konfigurieren von Mellon als Vor-Authentifizierungsmodul

    Führen Sie dieses Verfahren auf der ersten Instanz von Independent Gateway durch.

    Sie müssen eine Kopie der Datei pre-auth_idp_metadata.xml haben, die Sie aus der Okta-Konfiguration erstellt haben.

    1. Wechseln Sie das Verzeichnis:

      cd /etc/mellon

    2. Erstellen Sie die Dienstanbieter-Metadaten. Führen Sie das Skript mellon_create_metadata.sh aus. Sie müssen in dem Befehl die Entitäts-ID und die Rückgabe-URL für Ihre Organisation mit angeben.

      Die Rückgabe-URL wird in Okta als Single Sign On URL (SSO-URL) bezeichnet. Das letzte Element des Pfads in der Rückgabe-URL wird als MellonEndpointPath in der Konfigurationsdatei mellon.conf bezeichnet, die später in diesem Verfahren folgt. In diesem Beispiel geben wir sso als EndpointPath an.

      Beispiel:

      sudo /usr/libexec/mod_auth_mellon/mellon_create_metadata.sh https://tableau.example.com "https://tableau.example.com/sso"

      Das Skript gibt das Dienstanbieterzertifikat, den Schlüssel und Metadatendateien zurück.

    3. Benennen Sie die Dienstanbieterdateien im Verzeichnis mellon so um, dass sie leichter verständlich sind. Wir werden diese Dateien in der Dokumentation mit den folgenden Namen bezeichnen:

      sudo mv *.key mellon.key
      sudo mv *.cert mellon.cert
      sudo mv *.xml sp_metadata.xml

    4. Kopieren Sie die Datei pre-auth_idp_metadata.xml in dasselbe Verzeichnis.

    5. Ändern Sie die Eigentümerschaft und die Berechtigungen für alle Dateien in dem Verzeichnis /etc/mellon:

      sudo chown tableau-tsig mellon.key
      sudo chown tableau-tsig mellon.cert
      sudo chown tableau-tsig sp_metadata.xml
      sudo chown tableau-tsig pre-auth_idp_metadata.xml 
      sudo chmod +r * mellon.key
      sudo chmod +r * mellon.cert
      sudo chmod +r * sp_metadata.xml
      sudo chmod +r * pre-auth_idp_metadata.xml 

    6. Erstellen Sie das Verzeichnis /etc/mellon/conf.d:

      sudo mkdir /etc/mellon/conf.d
    7. Erstellen Sie die Datei global.conf im Verzeichnis /etc/mellon/conf.d.

      Kopieren Sie den Dateiinhalt, wie unten gezeigt, aber aktualisieren Sie MellonCookieDomain mit Ihrem Stammdomänennamen. Wenn beispielsweise der Domänenname für Tableau tableau.example.com lautet, geben Sie example.com für die Stammdomäne ein.

      <Location "/">
      AuthType Mellon
      MellonEnable auth
      Require valid-user
      MellonCookieDomain <root domain>
      MellonSPPrivateKeyFile /etc/mellon/mellon.key
      MellonSPCertFile /etc/mellon/mellon.cert
      MellonSPMetadataFile /etc/mellon/sp_metadata.xml
      MellonIdPMetadataFile /etc/mellon/pre-auth_idp_metadata.xml
      MellonEndpointPath /sso
      </Location>
      
      <Location "/tsighk">
      MellonEnable Off
      </Location>
    8. Erstellen Sie die Datei mellonmod.conf im Verzeichnis /etc/mellon/conf.d.

      Diese Datei enthält eine einzige Direktive, die den Speicherort der Datei mod_auth_mellon.so angibt. Der Speicherort in diesem Beispiel ist der Standardspeicherort der Datei. Stellen Sie sicher, dass sich die Datei an diesem Speicherort befindet, oder ändern Sie den Pfad in dieser Direktive so, dass er mit dem tatsächlichen Speicherort von mod_auth_mellon.so übereinstimmt:

      LoadModule auth_mellon_module /usr/lib64/httpd/modules/mod_auth_mellon.so

    Erstellen einer Tableau Server-Anwendung in Okta

    1. Im Okta-Dashboard: Applications (Anwendungen) > Applications (Anwendungen) > Browse App Catalog (App-Katalog durchsuchen)
    2. Suchen Sie in Browse App Integration Catalog (App-Integrationskatalog durchsuchen) nach Tableau, wählen Sie die Kachel "Tableau Server" aus und klicken Sie dann auf Add (Hinzufügen).
    3. Geben Sie unter Add Tableau Server (Tableau Server hinzufügen) > General Settings (Allgemeine Einstellungen) ein "Label" (Beschriftung) ein, und klicken Sie dann auf Next (Weiter).
    4. Wählen Sie in "Sign-On Options" (Anmeldeoptionen) die Option SAML 2.0 aus und führen Sie dann einen Bildlauf nach unten durch, bis "Advanced Sign-on Settings" (Erweiterte Anmeldeeinstellungen) angezeigt wird:
      • SAML Entity ID (SAML-Entitäts-ID): Geben Sie die öffentliche URL ein (z. B. https://tableau.example.com).
      • Application user name format (Format des Anwendungsbenutzernamens): Email (E-Mail)
    5. Klicken Sie auf den Link Identity Provider metadata (Identitätsanbieter-Metadaten), um einen Browser zu starten. Kopieren Sie den Browserlink. Das ist der Link, den Sie verwenden werden, wenn Sie Tableau im folgenden Verfahren konfigurieren.
    6. Klicken Sie auf Done (Fertig).
    7. Weisen Sie Ihrem Benutzer (user@example.com) die neue Tableau Server-Okta-App zu: Klicken Sie auf den Benutzernamen und weisen Sie dann die Anwendung in Assign Application (Anwendung zuweisen) zu.

    Festlegen der Konfiguration des Authentifizierungsmoduls in Tableau Server

    Führen Sie die folgenden Befehle auf dem Tableau Server-Knoten 1 aus. Diese Befehle geben die Dateispeicherorte für die Mellon-Konfigurationsdateien auf dem remoten Independent Gateway-Computer an. Überprüfen Sie noch einmal, dass die in diesen Befehlen angegebenen Dateipfade mit den Pfaden und Dateispeicherorten auf dem remoten Independent Gateway-Computer übereinstimmen.

    tsm configuration set -k gateway.tsig.authn_module_block -v "/etc/mellon/conf.d/mellonmod.conf" --force-keys
    tsm configuration set -k gateway.tsig.authn_global_block -v "/etc/mellon/conf.d/global.conf" --force-keys

    Um Ausfallzeiten zu reduzieren, sollten Sie keine Änderungen anwenden, bevor Sie SAML – wie im nächsten Abschnitt beschrieben – aktiviert haben.

    Aktivieren von SAML in Tableau Server für IdP

    Führen Sie dieses Verfahren auf dem Tableau Server-Knoten 1 aus.

    1. Laden Sie die Metadaten der Tableau Server-Anwendung von Okta herunter. Verwenden Sie den Link, den Sie im vorherigen Verfahren gespeichert haben:

      wget https://dev-66144217.okta.com/app/exk1egxgt1fhjkSeS5d7/sso/saml/metadata -O idp_metadata.xml

    2. Kopieren Sie ein TLS-Zertifikat und die zugehörige Schlüsseldatei auf Tableau Server. Die Schlüsseldatei muss ein RSA-Schlüssel sein. Weitere Informationen zu SAML-Zertifikat- und Identitätsanbieteranforderungen finden Sie unter SAML-Anforderungen (Linux(Link wird in neuem Fenster geöffnet)).

      Zur Vereinfachung der Zertifikatsverwaltung und -bereitstellung sowie als bewährte Sicherheitspraxis empfehlen wir die Verwendung von Zertifikaten, die von einer bedeutenden vertrauenswürdigen Zertifizierungsstelle (CA) eines Drittanbieters erstellt wurden. Alternativ dazu können Sie auch selbstsignierte Zertifikate generieren oder Zertifikate von einer PKI für TLS verwenden.

      Wenn Sie nicht über ein TLS-Zertifikat verfügen, können Sie nach der folgenden Vorgehensweise ein selbstsigniertes Zertifikat generieren.

      Generieren eines selbstsignierten Zertifikats

      Führen Sie dieses Verfahren auf dem Tableau Server-Knoten 1 aus.

      1. Generieren Sie den Schlüssel der signierenden Stammzertifizierungsstelle (CA):

        openssl genrsa -out rootCAKey-saml.pem 2048

      2. Erstellen Sie das Zertifikat der Stammzertifizierungsstelle:

        openssl req -x509 -sha256 -new -nodes -key rootCAKey-saml.pem -days 3650 -out rootCACert-saml.pem

        Sie werden aufgefordert, Werte für die Zertifikatfelder einzugeben. Beispiel:

        Country Name (2 letter code) [XX]:US
        State or Province Name (full name) []:Washington
        Locality Name (eg, city) [Default City]:Seattle
        Organization Name (eg, company) [Default Company Ltd]:Tableau
        Organizational Unit Name (eg, section) []:Operations
        Common Name (eg, your name or your server's hostname) []:tableau.example.com
        Email Address []:example@tableau.com
      3. Erstellen Sie das Zertifikat und den zugehörigen Schlüssel (im Beispiel unten als server-saml.csr und server-saml.key bezeichnet). Der Antragstellername ("Subject Name") für das Zertifikat muss mit dem öffentlichen Hostnamen des Tableau-Hosts übereinstimmen. Der Antragstellername wird mit der Option -subj im Format "/CN=<host-name>" festgelegt, beispielsweise:

        openssl req -new -nodes -text -out server-saml.csr -keyout server-saml.key -subj "/CN=tableau.example.com"

      4. Signieren Sie das neue Zertifikat mit dem CA-Zertifikat, das Sie oben erstellt haben. Der folgende Befehl gibt das Zertifikat auch im crt-Format aus:

        openssl x509 -req -in server-saml.csr -days 3650 -CA rootCACert-saml.pem -CAkey rootCAKey-saml.pem -CAcreateserial -out server-saml.crt

      5. Konvertieren Sie die Schlüsseldatei in RSA. Tableau erfordert eine RSA-Schlüsseldatei für SAML. Führen Sie den folgenden Befehl aus, um den Schlüssel zu konvertieren:

        openssl rsa -in server-saml.key -out server-saml-rsa.key

    3. Konfigurieren Sie SAML. Führen Sie den folgenden Befehl aus und geben Sie Ihre Entitäts-ID und die Rückgabe-URL sowie die Pfade zur Metadatendatei, zur Zertifikatsdatei und zur Schlüsseldatei an:

      tsm authentication saml configure --idp-entity-id "https://tableau.example.com" --idp-return-url "https://tableau.example.com" --idp-metadata idp_metadata.xml --cert-file "server-saml.crt" --key-file "server-saml-rsa.key"

      tsm authentication saml enable

    4. Wenn in Ihrer Organisation Tableau Desktop 2021.4 oder höher ausgeführt wird, müssen Sie den folgenden Befehl ausführen, um Authentifizierung über die Reverse-Proxyserver zu aktivieren.

      Die Tableau Desktop-Versionen 2021.2.1 bis 2021.3 funktionieren ohne Ausführung dieses Befehls, vorausgesetzt, Ihr Vorauthentifizierungsmodul (z. B. Mellon) ist so konfiguriert, dass es die Aufbewahrung von Cookies auf der Domäne der obersten Ebene erlaubt.

      tsm configuration set -k features.ExternalBrowserOAuth -v false

    5. Übernehmen Sie die Konfigurationsänderungen:

      tsm pending-changes apply

    Neustarten des tsig-httpd-Dienstes

    Wenn Ihre Tableau Server-Bereitstellung Änderungen übernimmt, melden Sie sich wieder bei den Tableau Server Independent Gateway-Computern an und führen Sie die folgenden Befehle aus, um den tsig-httpd-Dienst neu zu starten:

    sudo su - tableau-tsig
    systemctl --user restart tsig-httpd
    exit

    Validierung der SAML-Funktionalität

    Um die End-to-End-SAML-Funktionalität zu validieren, melden Sie sich bei Tableau Server mit der öffentlichen URL (z. B. https://tableau.example.com) mit dem Tableau-Administratorkonto an, das Sie zu Beginn dieses Verfahrens erstellt haben.

    Wenn TSM nicht startet ("Gateway-Fehler") oder wenn Sie bei einem Verbindungsversuch Browserfehler erhalten, lesen Sie Fehlerbehebung beim Tableau Server Independent Gateway.

    Konfigurieren des Authentifizierungsmoduls auf der zweiten Instanz von Independent Gateway

    Nachdem Sie die erste Instanz von Independent Gateway erfolgreich konfiguriert haben, stellen Sie die zweite Instanz bereit. Das Beispiel hier ist der letzte Prozess zum Installieren des in diesem Thema beschriebenen AWS/Mellon/Okta-Szenarios. Bei diesem Verfahren wird davon ausgegangen, dass Sie Independent Gateway bereits auf der zweiten Instanz installiert haben, wie zuvor in diesem Thema beschrieben (Installieren von Independent Gateway).

    Der Prozess zum Bereitstellen des zweiten Independent Gateways erfordert die folgenden Schritte:

    1. Auf der zweiten Instanz von Independent Gateway: Installieren Sie das Mellon-Authentifizierungsmodul.

      Konfigurieren Sie das Mellon-Authentifizierungsmodul nicht wie weiter oben in diesem Thema beschrieben. Stattdessen müssen Sie die Konfiguration klonen, wie in den folgenden Schritten beschrieben.

    2. Auf der konfigurierten (ersten) Instanz von Independent Gateway:

      Fertigen Sie eine tar-Kopie der vorhandenen Mellon-Konfiguration an. Die tar-Sicherung wird alle Verzeichnishierarchien und Berechtigungen enthalten. Führen Sie die folgenden Befehle aus:

      cd /etc
      sudo tar -cvf mellon.tar mellon

      Kopieren Sie mellon.tar auf die zweite Instanz von Independent Gateway.

    3. Gehen Sie auf der zweiten Instanz von Independent Gateway wie folgt vor:

      Extrahieren ("entpacken") Sie die tar-Datei auf der zweiten Instanz in das Verzeichnis /etc. Führen Sie die folgenden Befehle aus:

      cd /etc
      sudo tar -xvf mellon.tar

    4. Auf Knoten 1 der Tableau Server-Bereitstellung: Aktualisieren Sie die Verbindungsdatei (tsig.json) mit den Verbindungsinformationen vom zweiten Independent Gateway. Sie müssen den Authentifizierungsschlüssel abrufen, wie zuvor in diesem Thema beschrieben (Installieren von Independent Gateway).

      Ein Beispiel für eine Verbindungsdatei (tsig.json) wird hier gezeigt:

      {
      "independentGateways": [
       {
         "id": "ip-10-0-1-169.ec2.internal",
         "host": "ip-10-0-1-169.ec2.internal",
         "port": "21319",
         "protocol" : "http",
         "authsecret": "13660-27118-29070-25482-9518-22453"
       },
       {
         "id": "ip-10-0-2-230.ec2.internal",
         "host": "ip-10-0-2-230.ec2.internal",
         "port": "21319",
         "protocol" : "http",
         "authsecret": "9055-27834-16487-27455-30409-7292"
       }]
       }
    5. Auf Knoten 1 der Tableau Server-Bereitstellung: Führen Sie die folgenden Befehle aus, um die Konfiguration zu aktualisieren:

      tsm stop
      tsm topology external-services gateway update -c tsig.json
      
      tsm start
    6. Auf beiden Instanzen von Independent Gateway: Wenn Tableau Server gestartet wird, starten Sie den tsig-httpd-Prozess neu:

      sudo su - tableau-tsig
      systemctl --user restart tsig-httpd
      exit
    7. In AWS EC2>Target groups (EC2 > Zielgruppen): Aktualisieren Sie die Zielgruppe so, dass sie die EC2-Instanz enthält, auf der die zweite Independent Gateway-Instanz ausgeführt wird.

      Wählen Sie die Zielgruppe aus, die Sie eben erstellt haben, und klicken Sie dann auf die Registerkarte "Targets" (Ziele): 

      • Klicken Sie auf Edit (Bearbeiten).
      • Wählen Sie die EC2-Instanz des zweiten Independent Gateway-Computers aus und klicken Sie dann auf Add to registered (Zur registrierten hinzufügen). Klicken Sie dann auf Speichern.
    Vielen Dank für Ihr Feedback!Ihr Feedback wurde erfolgreich übermittelt. Vielen Dank.