Teil 6 – Konfiguration nach der Installation

Konfigurieren von SSL/TLS vom Lastenausgleichsmodul zu Tableau Server

Einige Organisationen verlangen eine Ende-zu-Ende-Verschlüsselung vom Client zum Backend-Dienst. Die bis hierhin beschriebene Standardreferenzarchitektur sieht SSL vom Client zum Lastenausgleich vor, der in der Webschicht Ihrer Organisation ausgeführt wird.

In diesem Abschnitt wird beschrieben, wie Sie SSL/TLS für Tableau Server und das Independent Gateway in der AWS-Beispielreferenzarchitektur konfigurieren. Ein Konfigurationsbeispiel, das beschreibt, wie SSL/TLS auf Apache in der AWS-Referenzarchitektur konfiguriert wird, finden Sie unter Beispiel: Konfigurieren von SSL/TLS in der AWS-Referenzarchitektur.

Auf den Back-End-Tableau Server-Prozesse, die in dem Bereich 8000 – 9000 ausgeführt werden, wird TLS zum gegenwärtigen Zeitpunkt nicht unterstützt. Um TLS zu aktivieren, müssen Sie Independent Gateway mit einer Relay-Verbindung zu Tableau Server konfigurieren.

In diesem Verfahren wird beschrieben, wie TLS im Independent Gateway in Tableau Server und von Tableau Server zum Independent Gateway aktiviert und konfiguriert wird. Das Verfahren verschlüsselt den Relay-Datenverkehr über HTTPS/443 und den Housekeeping-Datenverkehr über HTTPS/21319.

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 hier aufgeführte Anleitung ist für die in diesem Leitfaden gezeigte AWS-Beispiel-Referenzarchitektur verbindlich. Daher sind optionale Konfigurationen nicht enthalten. Eine vollständige Referenzdokumentation finden Sie unter Konfigurieren von TLS im Independent Gateway (Linux(Link wird in neuem Fenster geöffnet)).

Bevor Sie TLS konfigurieren

Führen Sie die TLS-Konfigurationen außerhalb der Geschäftszeiten durch. Die Konfiguration erfordert mindestens einen Neustart von Tableau Server. Wenn Sie eine vollständige Bereitstellung auf allen vier Knoten in der Referenzarchitektur ausführen, kann der Neustartvorgang eine Weile dauern.

  • Stellen Sie sicher, dass Clients eine Verbindung zu Tableau Server über HTTP herstellen können. Das Konfigurieren von TLS mit Independent Gateway ist ein mehrstufiger Prozess, der auch Maßnahmen zur Fehlerbehebung beinhalten kann. Daher empfehlen wir, mit einer voll funktionsfähigen Tableau Server-Bereitstellung zu beginnen, bevor Sie TLS konfigurieren.
  • Stellen Sie alle erforderlichen TLS/SSL-Zertifikate, Schlüssel und zugehörige Assets zusammen. SSL-Zertifikate werden Sie für die Independent Gateways und für Tableau Server benötigen. 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.

    Die Beispielkonfiguration in diesem Thema verwendet die folgenden Asset-Namen zur besseren Veranschaulichung:

    • tsig-ssl.crt: Das TLS/SSL-Zertifikat für Independent Gateway.
    • tsig-ssl.key: Der private Schlüssel für tsig-ssl.crt auf Independent Gateway.
    • ts-ssl.crt: Das TLS/SSL-Zertifikat für Tableau Server.
    • ts-ssl.key: Der private Schlüssel für tsig-ssl.crt auf Tableau Server.
    • tableau-server-CA.pem: Das Stammzertifikat für die Zertifizierungsstelle, die die Zertifikate für die Tableau Server-Computer generiert. Dieses Zertifikat ist im Allgemeinen nicht erforderlich, wenn Sie Zertifikate von namhaften vertrauenswürdigen Drittparteien verwenden
    • rootTSIG-CACert.pem: Das Stammzertifikat für die Zertifizierungsstelle, die die Zertifikate für die Independent Gateway-Computer generiert. Dieses Zertifikat ist im Allgemeinen nicht erforderlich, wenn Sie Zertifikate von namhaften vertrauenswürdigen Drittparteien verwenden
    • Es gibt noch weitere Zertifikate und Schlüsseldatei-Assets, die für SAML erforderlich sind. Nähere Details dazu finden Sie in Teil 5 dieser Anleitung.
    • Wenn für Ihre Implementierung die Verwendung einer Zertifikatskettendatei erforderlich ist, finden Sie weitere Informationen dazu in dem Knowledgebase-Artikel Configure TLS on Independent Gateway when using a certificate that has a certificate chain(Link wird in neuem Fenster geöffnet) (Konfigurieren von TLS für das Independent Gateway bei Verwendung eines Zertifikates mit einer Zertifikatskette).

  • Stellen Sie sicher, dass Sie über Zugriff zum IdP verfügen. Wenn Sie für Authentifizierungszwecke einen IdP nutzen, müssen Sie wahrscheinlich Änderungen an den Empfänger- und Ziel-URLs beim IdP vornehmen, nachdem Sie SSL/TLS konfiguriert haben.

Konfigurieren der Independent Gateway-Computer für TLS

Das Konfigurieren von TLS kann ein fehleranfälliger Prozess sein. Da die Fehlerbehebung über zwei Instanzen von Independent Gateway zeitaufwändig sein kann, empfehlen wir, TLS in der EDG-Bereitstellung mit nur einem Independent Gateway zu aktivieren und zu konfigurieren. Nachdem Sie überprüft haben, dass TLS in der gesamten Bereitstellung funktioniert, konfigurieren Sie den zweiten Independent Gateway-Computer.

Schritt 1: Verteilen von Zertifikaten und Schlüsseln an den Independent Gateway-Computer

Sie können die Assets in ein beliebiges Verzeichnis verteilen, solange der Benutzer "tsig-httpd" über Lesezugriff auf die Dateien verfügt. Auf die Pfade zu diesen Dateien wird in anderen Verfahren verwiesen. Wir werden die Beispielpfade unter /etc/ssl, wie unten gezeigt, im gesamten Thema verwenden.

  1. Erstellen Sie ein Verzeichnis für den privaten Schlüssel:

    sudo mkdir -p /etc/ssl/private
  2. Kopieren Sie die Zertifikat- und die Schlüsseldatei in die /etc/ssl-Pfade: Beispiel:

    sudo cp tsig-ssl.crt /etc/ssl/certs/
    sudo cp tsig-ssl.key /etc/ssl/private/
  3. (Optional) Wenn Sie ein selbstsigniertes oder PKI-Zertifikat für SSL/TLS in Tableau Server verwenden, müssen Sie die Zertifizierungstellen-Stammzertifikatsdatei auch auf den Independent Gateway-Computer kopieren. Beispiel:

    sudo cp tableau-server-CA.pem /etc/ssl/certs/

Schritt 2: Aktualisieren der Umgebungsvariablen für TLS

Sie müssen Port- und Protokoll-Umgebungsvariablen für die Konfiguration des Independent Gateways aktualisieren.

Ändern Sie diese Werte, indem Sie die Datei /etc/opt/tableau/tableau_tsig/environment.bash wie folgt aktualisieren:

TSIG_HK_PROTOCOL="https"
TSIG_PORT="443"
TSIG_PROTOCOL="https"

Schritt 3: Aktualisieren der Stub-Konfigurationsdatei für das HK-Protokoll

Bearbeiten Sie manuell die Stub-Konfigurationsdatei (/var/opt/tableau/tableau_tsig/config/httpd.conf.stub), um TLS-bezügliche Apache-httpd-Anweisungen für das Housekeeping-Protokoll (HK) festzulegen.

Die Stub-Konfigurationsdatei enthält einen Block von TLS-bezogenen Anweisungen, die mit einer #TLS#-Markierung auskommentiert sind. Entfernen Sie die Markierungen in den Anweisungen, wie im Beispiel unten gezeigt. Beachten Sie, dass das Beispiel die Verwendung eines Stammzertifizierungsstellen-Zertifikats für das in Tableau Server verwendete SSL-Zertifikat mit der Option SSLCACertificateFile zeigt.

#TLS# SSLPassPhraseDialog exec:/path/to/file
<VirtualHost *:${TSIG_HK_PORT}>
SSLEngine on
#TLS# SSLHonorCipherOrder on
#TLS# SSLCompression off
SSLCertificateFile /etc/ssl/certs/tsig-ssl.crt
SSLCertificateKeyFile /etc/ssl/private/tsig-ssl.key
SSLCACertificateFile /etc/ssl/certs/tableau-server-CA.pem
#TLS# SSLCARevocationFile /path/to/file
</VirtualHost>

Wenn Sie Independent Gateway neu installieren, gehen diese Änderungen verloren. Wir empfehlen, eine Sicherungskopie anzufertigen.

Schritt 4: Kopieren der Stub-Datei und Neustarten des Dienstes

  1. Kopieren Sie die Datei, die Sie im letzten Schritt aktualisiert haben, um "httpd.conf" mit den Änderungen zu aktualisieren:

    cp /var/opt/tableau/tableau_tsig/config/httpd.conf.stub /var/opt/tableau/tableau_tsig/config/httpd.conf
  2. Starten Sie den Independent Gateway-Dienst neu:

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

Nach dem Neustart bleibt das Independent Gateway solange außer Betrieb, bis Sie die nächsten Schritte in Tableau Server ausführen. Nachdem Sie die Schritte in Tableau Server ausgeführt haben, übernimmt das Independent Gateway die Änderungen und wird online geschaltet.

Konfigurieren des Tableau Server-Knotens 1 für TLS

Führen Sie die folgenden Schritte auf Knoten 1 der Tableau Server-Bereitstellung aus:

Schritt 1: Kopieren der Zertifikate und Schlüssel und Stoppen von TSM

  1. Stellen Sie sicher, dass Sie die "externen SSL"-Zertifikate und -Schlüssel von Tableau Server auf Knoten 1 kopiert haben.

  2. Um die Ausfallzeit zu minimieren, empfehlen wir, TSM zu stoppen, die folgenden Schritte auszuführen und TSM dann zu starten, nachdem die Änderungen übernommen wurden:

    tsm stop

Schritt 2: Festlegen der Zertifikat-Assets und Aktivieren der Independent Gateway-Konfiguration

  1. Geben Sie den Speicherort der Zertifikats- und Schlüsseldateien für Independent Gateway an. Diese Pfade verweisen auf den Speicherort auf Independent Gateway-Computern. Hinweis: In diesem Beispiel wird davon ausgegangen, dass für den Schutz von HTTPS- und Housekeeping-Datenverkehr dasselbe Zertifikat- und Schlüsselpaar verwendet wird:

    tsm configuration set -k gateway.tsig.ssl.cert.file_name -v /etc/ssl/certs/tsig-ssl.crt --force-keys 
    tsm configuration set -k gateway.tsig.ssl.key.file_name -v /etc/ssl/private/tsig-ssl.key --force-keys	
  2. Aktivieren Sie TLS für HTTPS- und HK-Protokolle für Independent Gateway:

    tsm configuration set -k gateway.tsig.ssl.enabled -v true --force-keys
    tsm configuration set -k gateway.tsig.hk.ssl.enabled -v true --force-keys
  3. (Optional) Wenn Sie in dem Independent Gateway ein selbstsigniertes oder PKI-Zertifikat für SSL/TLS verwenden, müssen Sie die Zertifizierungstellen-Stammzertifikatsdatei hochladen. Die Stammzertifikatdatei der Zertifizierungsstelle ist das Stammzertifikat, das verwendet wurde, um die Zertifikate für die Independent Gateway-Computer zu generieren. Beispiel:

    tsm security custom-cert add -c rootTSIG-CACert.pem
  4. (Optional) Wenn Sie ein selbstsigniertes oder PKI-Zertifikat für SSL/TLS in Tableau Server verwenden, müssen Sie die Zertifizierungstellen-Stammzertifikatdatei in das Independent Gateway-Verzeichnis /etc/ssl/certs kopieren. Die Stammzertifikatdatei der Zertifizierungsstelle ist das Stammzertifikat, das verwendet wurde, um die Zertifikate für die Tableau Server-Computer zu generieren. Nachdem Sie das Zertifikat zum Independent Gateway kopiert haben, müssen Sie den Speicherort des Zertifikats auf Knoten 1 mit dem folgenden tsm-Befehl angeben. Beispiel:

    tsm configuration set -k gateway.tsig.ssl.proxy.gateway_relay_cluster.cacertificatefile -v /etc/ssl/certs/tableau-server-CA.pem --force-keys
  5. (Optional, nur zu Testzwecken:) Wenn Sie selbstsignierte oder PKI-Zertifikate computerübergreifend freigeben und daher die Antragstellernamen in den Zertifikaten nicht mit den Computernamen übereinstimmen, müssen Sie die Zertifikatsüberprüfung deaktivieren. 

    tsm configuration set -k gateway.tsig.ssl.proxy.verify -v optional_no_ca --force-keys

Schritt 3: Aktivieren von "externem SSL" für Tableau Server und Anwenden der Änderungen

  1. Aktivieren und konfigurieren Sie "externes SSL" in Tableau Server:

    tsm security external-ssl enable --cert-file ts-ssl.crt --key-file ts-ssl.key
  2. Übernehmen Sie die Änderungen.

    tsm pending-changes apply

Schritt 4: Aktualisieren der Gateway-Konfigurations-JSON-Datei und Starten von TSM

  1. Aktualisieren Sie die Konfigurationsdatei des Independent Gateways (z. B. tsig.json) auf der Tableau Server-Seite, um dashttps-Protokoll für die Independent Gateway-Objekte anzugeben:

    "protocol" : "https",
  2. Entfernen Sie die Verbindungsinformationen für die zweite Instanz von Independent Gateway (oder kommentieren Sie sie aus). Vergessen Sie nicht, den JSON in einem externen Editor zu überprüfen, bevor Sie ihn speichern.

    Nachdem Sie TLS für die einzelne Instanz von Independent Gateway konfiguriert und validiert haben, aktualisieren Sie diese JSON-Datei mit den Verbindungsinformationen für die zweite Instanz von Independent Gateway.

  3. Führen Sie den folgenden Befehl aus, um die Independent Gateway-Konfiguration zu aktualisieren:

    tsm topology external-services gateway update -c tsig.json
  4. Starten Sie TSM.

    tsm start
  5. Melden Sie sich während des Starts von TSM bei der Independent Gateway-Instanz an und starten Sie dentsig-httpd-Dienst:

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

Aktualisieren der URLs des IdP-Authentifizierungsmoduls auf HTTPS

Wenn Sie einen externen Identitätsanbieter für Tableau konfiguriert haben, müssen Sie wahrscheinlich die Rückgabe-URLs im IdP-Verwaltungsdashboard aktualisieren.

Wenn Sie beispielsweise eine Vor-Authentifizierungsanwendung von Okta verwenden, müssen Sie die Anwendung so aktualisieren, dass das HTTPS-Protokoll für die Empfänger-URL und die Ziel-URL verwendet wird.

Konfigurieren von AWS-Lastenausgleich für HTTPS

Wenn Sie – wie in dieser Anleitung beschrieben – mit AWS-Lastenausgleich bereitstellen, ändern Sie die Konfiguration des AWS-Lastenausgleichs so, dass HTTPS-Datenverkehr an die Computer gesendet wird, auf denen Independent Gateway ausgeführt wird:

  1. Löschen Sie die vorhandene HTTP-Zielgruppe:

    Wählen Sie in Target Groups (Zielgruppen) die HTTP-Zielgruppe aus, die für den Lastenausgleich konfiguriert wurde, klicken Sie auf Actions (Aktionen), und klicken Sie dann auf Delete (Löschen).

  2. Erstellen Sie die HTTPS-Zielgruppe:

    Zielgruppen (Zielgruppen) > Create target group (Zielgruppe erstellen)

    • Wählen Sie "Instances" (Instanzen) aus.
    • Geben Sie einen Zielgruppennamen ein, zum Beispiel TG-internal-HTTPS.
    • Wählen Sie Ihre VPC aus.
    • Protokoll: HTTPS 443
    • 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-Instanz aus, auf der das Tableau Server Independent Gateway ausgeführt wird, das Sie konfiguriert haben, und klicken Sie dann auf Add to registered (Zu registriert hinzufügen).
    • Klicken Sie auf Save (Speichern).
  4. Nachdem die Zielgruppe erstellt wurde, müssen Sie "Stickiness" 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).
  5. Aktualisieren Sie für den Lastenausgleich die Listener-Regeln. Wählen Sie den Lastenausgleich aus, den Sie für diese Bereitstellung 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") und ersetzen Sie sie, indem Sie auf Add action (Aktion hinzufügen) > Redirect to... (Umleiten an...) klicken. Geben Sie in der daraus resultierenden THEN-Konfiguration HTTPS und Port 443 an und belassen Sie die anderen Optionen auf den Standardeinstellungen. Speichern Sie die Einstellung und klicken Sie dann auf Update (Aktualisieren).
    • Klicken Sie für HTTP:443 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 die Zielgruppe für die HTTPS-Gruppe an, die Sie gerade 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).
  6. 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.

Validieren von TLS

Um die TLS-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 oder wenn Sie andere Fehlermeldungen erhalten, lesen Sie Fehlerbehebung beim Tableau Server Independent Gateway.

Konfigurieren der zweiten Instanz von Independent Gateway für SSL

Nachdem Sie die erste Instanz von Independent Gateway erfolgreich konfiguriert haben, stellen Sie die zweite Instanz bereit.

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

  1. Auf der konfigurierten (ersten) Instanz von Independent Gateway: Kopieren Sie die folgenden Dateien in die entsprechenden Speicherorte auf der zweiten Instanz von Independent Gateway:

    • /etc/ssl/certs/tsig-ssl.crt
    • /etc/ssl/private/tsig-ssl.key (Sie werden auf der zweiten Instanz das Verzeichnis private erstellen müssen).
    • /var/opt/tableau/tableau_tsig/config/httpd.conf.stub
    • /etc/opt/tableau/tableau_tsig/environment.bash
  2. Auf Knoten 1 der Tableau Server-Bereitstellung: Aktualisieren Sie die Verbindungsdatei (tsig.json) mit den Verbindungsinformationen vom zweiten 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" : "https",
       "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" : "https",
       "authsecret": "9055-27834-16487-27455-30409-7292"
     }]
     }
  3. 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
  4. Auf beiden Instanzen von Independent Gateway: Wenn Tableau Server gestartet wird, starten Sie den tsig-httpd-Prozess auf beiden Instanzen von Independent Gateway neu:

    sudo su - tableau-tsig
    systemctl --user restart tsig-httpd
    exit
  5. 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.

Konfigurieren von SSL für Postgres

Optional können Sie SSL (TSL) für die Postgres-Verbindung für die externe Repository-Verbindung in Tableau Server konfigurieren.

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.

In diesem Verfahren wird beschrieben, wie Sie OpenSSL verwenden, um ein selbstsigniertes Zertifikat auf dem Postgres-Host auf einer RHEL-ähnlichen Linux-Distribution in der AWS-Referenzarchitektur zu erstellen.

Nachdem Sie das SSL-Zertifikat erzeugt und signiert haben, müssen Sie das CA-Zertifikat auf den Tableau-Host kopieren.

Führen Sie auf dem Host, auf dem Postgres ausgeführt wird, Folgendes durch:

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

    openssl genrsa -out pgsql-rootCAKey.pem 2048
  2. Erstellen Sie das Zertifikat der Stammzertifizierungsstelle:

    openssl req -x509 -sha256 -new -nodes -key pgsql-rootCAKey.pem -days 3650 -out pgsql-rootCACert.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, Postgres server's hostname) []:ip-10-0-1-189.us-west-1.compute.internal
    Email Address []:example@tableau.com				
  3. Erstellen Sie das Zertifikat und den zugehörigen Schlüssel (server.csr und server.key im Beispiel unten) für den Postgres-Computer. Der Antragstellername für das Zertifikat muss mit dem privaten DNS-Namen des Postgres-Hosts auf EC2 übereinstimmen. Der Antragstellername wird mit der Option -subj im Format "/CN=<private DNS name>" festgelegt, beispielsweise:

    openssl req -new -nodes -text -out server.csr -keyout server.key -subj "/CN=ip-10-0-1-189.us-west-1.compute.internal"
  4. Signieren Sie das neue Zertifikat mit dem CA-Zertifikat, das Sie in Schritt 2 erstellt haben. Der folgende Befehl gibt das Zertifikat auch im crt-Format aus:

    openssl x509 -req -in server.csr -days 3650 -CA pgsql-rootCACert.pem -CAkey pgsql-rootCAKey.pem -CAcreateserial -out server.crt
  5. Kopieren Sie die .crt- und die .key-Datei in den Postgres-Pfad /var/lib/pgsql/13/data/:

    sudo cp server.crt /var/lib/pgsql/13/data/
    sudo cp server.key /var/lib/pgsql/13/data/
  6. Schalten Sie auf Root-Benutzer um:

    sudo su
  7. Legen Sie Berechtigungen für die .cer- und.key-Dateien fest. Führen Sie die folgenden Befehle aus:

    cd /var/lib/pgsql/13/data
    chown postgres.postgres server.crt
    chown postgres.postgres server.key
    chmod 0600 server.crt
    chmod 0600 server.key
  8. Aktualisieren Sie die pg_haba-Konfigurationsdatei /var/lib/pgsql/13/data/pg_hba.conf, um MD5-Trust anzugeben:

    Ändern Sie die vorhandenen Verbindungsanweisungen von

    host all all 10.0.30.0/24 password und

    host all all 10.0.31.0/24 password

    zu

    host all all 10.0.30.0/24 md5 und

    host all all 10.0.31.0/24 md5.

  9. Aktualisieren Sie die postgresql-Datei /var/lib/pgsql/13/data/postgresql.conf, indem Sie diese Zeile hinzufügen:

    ssl = on
  10. Beenden Sie den Root-Benutzer-Modus:

    exit
  11. Starten Sie Postgres neu:

    sudo systemctl restart postgresql-13

Optional: Aktivieren der Überprüfung der Vertrauenswürdigkeit von Zertifikaten in Tableau Server für Postgres SSL

Wenn Sie nach dem in Teil 4 – Installieren und Konfigurieren von Tableau Server aufgeführten Installationsverfahren vorgegangen sind, ist Tableau Server mit optionalem SSL für die Postgres-Verbindung konfiguriert. Das bedeutet, die Konfiguration von SSL für Postgres (wie oben beschrieben) führt zu einer verschlüsselten Verbindung.

Wenn Sie möchten, dass die Überprüfung der Zertifikatvertrauenswürdigkeit für die Verbindung erforderlich sein soll, müssen Sie den folgenden Befehl in Tableau Server ausführen, um die Postgres-Host-Verbindung neu zu konfigurieren:

tsm topology external-services repository replace-host -f <filename>.json -c CACert.pem

Dabei steht <filename>.json für die Verbindungsdatei, die in Konfigurieren von externem Postgres beschrieben wird. Und CACert.pem ist die Zertifizierungstellen-Zertifikatdatei für das von Postgres verwendete SSL/TLS-Zertifikat.

Optional: Überprüfen der SSL-Konnektivität

Um die SSL-Konnektivität zu überprüfen, müssen Sie wie folgt vorgehen:

  • Installieren Sie den Postgres-Client auf Tableau Server-Knoten 1.
  • Kopieren Sie das Stammzertifikat, das Sie in dem vorherigen Verfahren erstellt haben, auf den Tableau-Host.
  • Stellen Sie eine Verbindung zum Postgres-Server vom Knoten 1 aus her.

Installieren des Postgres-Clients auf Knoten 1

Dieses Beispiel zeigt, wie Postgres der Version 13.4 installiert wird. Installieren Sie die gleiche Version, die Sie für das externe Repository ausführen.

  1. Auf Knoten 1: Erstellen und bearbeiten Sie die Datei "pgdg.repo" im Pfad /etc/yum.repos.d. Füllen Sie die Datei mit den folgenden Konfigurationsinformationen auf.

    [pgdg13]
    name=PostgreSQL 13 for RHEL/CentOS 7 - x86_64
    baseurl=https://download.postgresql.org/pub/repos/yum/13/redhat/rhel-7-x86_64
    enabled=1
    gpgcheck=0
  2. Installieren des Postgres-Clients:

    sudo yum install postgresql13-13.4-1PGDG.rhel7.x86_64

Kopieren des Stammzertifikats auf Knoten 1

Kopieren Sie das Zertifizierungsstellen-Zertifikat (pgsql-rootCACert.pem) auf den Tableau-Host:

scp ec2-user@<private-DNS-name-of-Postgress-host>:/home/ec2-user/pgsql-rootCACert.pem /home/ec2-user

Herstellen einer SSL-Verbindung vom Knoten 1 aus zum Postgres-Host

Führen Sie den folgenden Befehl auf dem Knoten 1 aus, mit dem Sie die IP-Adresse des Postgres-Server-Hosts und das Stammzertifizierungsstellen-Zertifikat angeben:

psql "postgresql://postgres@<IP-address>:5432/postgres?sslmode=verify-ca&sslrootcert=pgsql-rootCACert.pem"

Beispiel:

 psql "postgresql://postgres@10.0.1.189:5432/postgres?sslmode=verify-ca&sslrootcert=pgsql-rootCACert.pem"

Postgres fordert Sie zur Eingabe des Kennworts auf. Nach erfolgreicher Anmeldung gibt die Shell Folgendes zurück:

psql (13.4)
SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Type "help" for help.
postgres=#

Konfigurieren von SMTP- und Ereignisbenachrichtigungen

Tableau Server sendet E-Mail-Benachrichtigungen an Administratoren und Benutzer. Um dies zu aktivieren, müssen Sie Tableau Server so konfigurieren, dass E-Mails an Ihren E-Mail-Server gesendet werden. Sie müssen auch die Ereignistypen, Schwellenwerte und die Subscription-Informationen angeben, die gesendet werden sollen.

Für die Ausgangskonfiguration von SMTP und Benachrichtigungen wird empfohlen, dass Sie die unten gezeigte Konfigurationsdatei als Vorlage zum Erstellen einer JSON-Datei verwenden. Sie können auch jeden einzelnen Konfigurationsschlüssel mit der in tsm configuration set (Linux(Link wird in neuem Fenster geöffnet)) beschriebenen Syntax festlegen.

Führen Sie dieses Verfahren auf Knoten 1 in Ihrer Tableau Server-Bereitstellung aus:

  1. Kopieren Sie folgende JSON-Vorlage in eine Datei. Passen Sie die Datei mit Ihren SMTP-Konfigurationsoptionen und den Subscription- und Warnbenachrichtigungen für Ihre Organisation an.

    {
    "configKeys": {
    	"svcmonitor.notification.smtp.server": "SMTP server host name",
    	"svcmonitor.notification.smtp.send_account": "SMTP user name",
    	"svcmonitor.notification.smtp.port": 443,
    	"svcmonitor.notification.smtp.password": "SMTP user account password",
    	"svcmonitor.notification.smtp.ssl_enabled": true,
    	"svcmonitor.notification.smtp.from_address": "From email address",
    	"svcmonitor.notification.smtp.target_addresses": "To email address1,address2",
    	"svcmonitor.notification.smtp.canonical_url": "Tableau Server URL",
    	"backgrounder.notifications_enabled": true,
    	"subscriptions.enabled": true,
    	"subscriptions.attachments_enabled": true,
    	"subscriptions.max_attachment_size_megabytes": 150,
    	"svcmonitor.notification.smtp.enabled": true,
    	"features.DesktopReporting": true,
    	"storage.monitoring.email_enabled": true,
    	"storage.monitoring.warning_percent": 20,
    	"storage.monitoring.critical_percent": 15,
    	"storage.monitoring.email_interval_min": 25,
    	"storage.monitoring.record_history_enabled": true
    	}
    }
  2. Führen Sie den Befehl tsm settings import -f file.json aus, um die JSON-Datei an Tableau Services Manager zu übergeben.

  3. Führen Sie den Befehl tsm pending-changes apply aus, um die Änderungen anzuwenden.

  4. Führen Sie tsm email test-smtp-connection aus, um die Verbindungskonfiguration anzuzeigen und zu verifizieren.

Installieren des PostgreSQL-Treibers

Um Verwaltungsansichten in Tableau Server anzuzeigen, muss der PostgreSQL-Treiber auf dem Knoten 1 der Tableau Server-Bereitstellung installiert werden.

  1. Rufen Sie die Tableau-Seite Treiber herunterladen(Link wird in neuem Fenster geöffnet) auf und kopieren Sie die URL für die PostgreSQL-JAR-Datei.

  2. Führen Sie das folgende Verfahren auf jedem Knoten der Tableau-Bereitstellung aus:

    • Erstellen Sie den folgenden Dateipfad:

      sudo mkdir -p /opt/tableau/tableau_driver/jdbc

    • Laden Sie die neueste Version der PostgreSQL-JAR-Datei in den neuen Pfad herunter: Beispiel:

      sudo wget https://downloads.tableau.com/drivers/linux/postgresql/postgresql-42.2.22.jar

  3. Starten Sie Tableau Server auf dem Ausgangsknoten neu:

    tsm restart

Konfigurieren der Richtlinie für starke Kennwörter

Wenn Sie Tableau Server nicht mit einer IdP-Authentifizierungslösung bereitstellen, empfehlen wir, die Sicherheit der standardmäßigen Tableau-Kennwortrichtlinie zu erhöhen.

Wenn Sie Tableau Server mit einem IdP bereitstellen, müssen Sie Kennwortrichtlinien mit dem IdP verwalten.

Das folgende Verfahren umfasst die JSON-Konfiguration für die Einstellung der Kennwortrichtlinie auf Tableau Server. Weitere Informationen zu den folgenden Optionen finden Sie unter Lokale Authentifizierung (Linux(Link wird in neuem Fenster geöffnet)).

  1. Kopieren Sie folgende JSON-Vorlage in eine Datei. Geben Sie als Schlüsselwerte die Konfiguration Ihrer Kennwortrichtlinien ein.

    {
     "configKeys": {
    	"wgserver.localauth.policies.mustcontainletters.enabled": true,
    	"wgserver.localauth.policies.mustcontainuppercase.enabled": true,
    	"wgserver.localauth.policies.mustcontainnumbers.enabled": true,
    	"wgserver.localauth.policies.mustcontainsymbols.enabled": true,
    	"wgserver.localauth.policies.minimumpasswordlength.enabled": true,
    	"wgserver.localauth.policies.minimumpasswordlength.value": 12,
    	"wgserver.localauth.policies.maximumpasswordlength.enabled": false,
    	"wgserver.localauth.policies.maximumpasswordlength.value": 255,
    	"wgserver.localauth.passwordexpiration.enabled": true,
    	"wgserver.localauth.passwordexpiration.days": 90,
    	"wgserver.localauth.ratelimiting.maxbackoff.minutes": 60,
    	"wgserver.localauth.ratelimiting.maxattempts.enabled": false,
    	"wgserver.localauth.ratelimiting.maxattempts.value": 5,
    	"vizportal.password_reset": true	
     }
    }
  2. Führen Sie den Befehl tsm settings import -f file.json aus, um die JSON-Datei an Tableau Services Manager zu übergeben, um Tableau Server zu konfigurieren.

  3. Führen Sie den Befehl tsm pending-changes apply aus, um die Änderungen anzuwenden.

Vielen Dank für Ihr Feedback!Ihr Feedback wurde erfolgreich übermittelt. Vielen Dank.