Konfigurieren von SSL für JDBC-Verbindungen
Viele JDBC-Connectoren unterstützen unidirektionales (Standard-)SSL, und einige unterstützen bidirektionales SSL. Wenn Sie keine explizite Unterstützung für die Verwendung von Tableau haben, können Sie diese möglicherweise durch Anpassung aktivieren. Es gibt unterschiedliche Möglichkeiten, SSL für beide Typen zu konfigurieren, und Sie können die Methode verwenden, die für Ihre Umgebung am sinnvollsten ist.
Hinweis: Wenn Ihr Serverzertifikat für Tableau Cloud nicht von einer gängigen öffentlichen Stammzertifizierungsstelle signiert ist und Sie nicht die Möglichkeit haben, das Zertifikat einzubetten, können Sie Tableau Bridge verwenden. Dadurch können Sie Zertifikate und private Schlüssel nach Bedarf konfigurieren.
Einseitiges SSL für JDBC-Verbindungen
Wenn Sie reguläres (einseitiges) SSL mit einem JDBC-basierten Connector verwenden und über selbstsignierte Zertifikate verfügen oder über Zertifikate, die von einer nicht öffentlichen Zertifizierungsstelle signiert wurden, müssen Sie die Vertrauensstellung für Ihr Zertifikat konfigurieren.
Mit Tableau können Sie durch eine der folgenden Methoden eine einseitige SSL-Vertrauensstellung für JDBC-Verbindungen konfigurieren:
- Einbetten eines Zertifikats
- Installieren eines Zertifikats im System-Vertrauensspeicher
- Verwenden benutzerdefinierter Treibereigenschaften
Einbetten eines Zertifikats
Einige Connectoren unterstützen das Einbetten des Zertifikats in die Arbeitsmappe oder die Datenquelle. Wenn dies verfügbar ist, können Sie Tableau Desktop verwenden, um das CA-Zertifikat einzubetten.
Installieren eines Zertifikats im System-Vertrauensspeicher
Wenn die Einbettung nicht verfügbar ist, benötigen Sie eine andere Möglichkeit zum Konfigurieren des Vertrauens. Diese Methode kann auch einfacher sein, als das Zertifikat in jede Arbeitsmappe einzubetten. Anweisungen für die jeweiligen Plattformen Windows, Mac und Linux finden Sie weiter unten.
Unter Windows:
Sie können Ihre Zertifizierungsstelle oder Ihr selbstsigniertes Zertifikat im Vertrauensspeicher der Windows-Stammzertifizierungsstelle installieren. Die Java Runtime sucht im Stammvertrauensspeicher des Systems nach vertrauenswürdigen Zertifizierungsstellen. Sie sucht nicht im Zwischenzertifikatspeicher.
Hinweis:Wenn Sie Ihre Stammzertifizierungsstelle installiert haben, aber immer noch Probleme beim Herstellen von Verbindungen auftreten, kann dies durch fehlende Zwischenzertifikate verursacht werden. Der TLS-Standard erfordert zwar, dass Server alle Zertifikate in ihrer Kette mit Ausnahme des Stammzertifikats senden, jedoch sind nicht alle Server kompatibel. Wenn Ihr Server die Zwischenzertifikate nicht sendet, können Sie entweder den Server anpassen, damit er Zwischenzertifikate ordnungsgemäß weiterleitet, oder die Zwischenzertifikate im Stammvertrauensspeicher installieren. Alternativ können Sie Zertifikate in die Datenquelle einbetten oder einen Vertrauensspeicher mit Treibereigenschaften konfigurieren.
- Suchen Sie in Windows nach "Zertifikaten".
- Wählen Sie Computerzertifikate verwalten aus.
- Wählen Sie Alle Aufgaben im Menü Aktion aus, und führen Sie dann je nach Windows-Version eine der folgenden Aktionen aus:
- Wählen Sie Importieren und dann Lokaler Computer aus.
- Wählen Sie Zertifikate suchen aus.
- Suchen Sie nach Ihrer Zertifikatsdatei.
- Importieren Sie diese in die vertrauenswürdigen Stammzertifizierungsstellen.
Auf dem Mac:
Um ein benutzerdefiniertes Zertifikat auf einem Mac zu installieren, führen Sie die folgenden Schritte aus, um das Zertifikat in die Keychain "System" zu importieren.
Hinweis: Das Laden von Zertifikaten aus der Mac-Keychain funktioniert für die meisten, aber nicht für alle Treiber. Für andere Treiber müssen Sie möglicherweise eine .properties-Datei verwenden, um den Vertrauensspeicher zu konfigurieren. Weitere Informationen finden Sie unter Anpassen und Optimieren von Verbindungen.
- Gehen Sie zu https://support.apple.com/guide/keychain-access/add-certificates-to-a-keychain-kyca2431/mac(Link wird in neuem Fenster geöffnet).
- Importieren Sie das Zertifikat in die Keychain "System" (nicht in "System Roots").
- Aktivieren Sie die Vertrauensstellung wie folgt:
- Klicken Sie in der Keychain-App mit der rechten Maustaste auf das neue Zertifikat.
- Wählen Sie Info abrufen.
- Öffnen Sie im Dialogfeld den Bereich Vertrauensstellung, und wählen Sie dann Bei Verwendung dieses Zertifikats immer vertrauen aus.
Unter Linux:
Viele Linux-Distributionen generieren aus den Systemzertifikaten einen Vertrauensspeicher im Java-Format. Möglicherweise müssen Sie Java über den Paket-Manager installieren, damit diese Datei erstellt werden kann.
Dadurch kann die JRE dieselben Zertifikate wie das Betriebssystem verwenden.
Hinweis: Tableau Server sucht diese Datei an den Standardspeicherorten:/etc/ssl/certs/java/cacerts
/etc/pki/java/cacerts
Führen Sie Folgendes aus, um einen anderen Speicherort zu konfigurieren:
tsm configuration set -k native_api.ConnectivityTrustStore -v <path-to-cacerts> --force-keys
Diese Datei sollte:
- Alle vertrauenswürdigen Zertifizierungsstellen und selbstsignierten Zertifikate enthalten.
- Nur öffentliche Schlüssel enthalten.
- Im JKS-Format vorliegen.
- Für den Tableau-Benutzer ohne entsprechende Zugriffsrechte ("als Benutzer ausführen") lesbar sein.
- Das JKS-Standardkennwort "changeit" verwenden.
Informationen zum Installieren einer benutzerdefinierten Zertifizierungsstelle oder eines selbstsignierten Zertifikats finden Sie in der Dokumentation zu Ihrer Distribution. Führen Sie die entsprechenden Befehle aus, um den Schlüsselspeicher zu generieren. Beispiel:
update-ca-certificates
Verwenden benutzerdefinierter Treibereigenschaften
Sie können JDBC-Verbindungsoptionen, einschließlich des Speicherorts des Vertrauensspeichers, mit einer Eigenschaftendatei anpassen. Dies ist eine reine Textdatei, die Schlüssel-Wert-Paare für jeden Verbindungsparameter enthält.
Beispielsweise werden Zeilen in dieser Eigenschaftendatei verwendet, um Vertrauenseinstellungen zu konfigurieren:
javax.net.ssl.trustStore=C:\\My_Folder\\truststore.jks
javax.net.ssl.trustStoreType=JKS
javax.net.ssl.trustStorePassword=password
Hinweis: Weitere Informationen zu bestimmten Eigenschafteneinstellungen finden Sie in der Dokumentation zu Ihrem Treiber.
Wenn Sie die Datei erstellen und am richtigen Speicherort ablegen, werden die Eigenschaften in der Datei auf alle JDBC-Verbindungen mit demselben Datenquellentyp angewendet.
Wenn Sie den allgemeinen Connector „Weitere Datenbanken (JDBC)“ verwenden, können Sie eine .properties-Datei direkt im Verbindungsdialogfeld angeben.
Weitere Informationen finden Sie unter Anpassen und Optimieren von Verbindungen(Link wird in neuem Fenster geöffnet).
Bidirektionales SSL für JDBC-Verbindungen
Einige JDBC-Verbindungen, etwa Postgres, können auch für die Verwendung einer bidirektionalen SSL-Authentifizierung konfiguriert werden. Dies kann mithilfe einer .properties-Datei konfiguriert werden, um die Speicherorte und Details des Vertrauensspeichers und der Schlüssel anzugeben.
Verwenden einer .properties-Datei zum Konfigurieren des Client-Zertifikats und des privaten Schlüssels
Hinweis: Wenn Sie für Tableau Cloud bidirektionales SSL benötigen und Ihr Connector keine Option zum Einbetten der Schlüssel hat, müssen Sie Tableau Bridge verwenden und dort die SSL-Konfiguration einrichten.
- Ändern Sie die .properties-Datei, um die Einstellungen für den Schlüsselspeicher und den Vertrauensspeicher widerzuspiegeln. Verwenden Sie als Beispiel Folgendes. Ersetzen Sie "My_Folder" durch den Speicherort Ihrer Dateien und "<password>" durch Ihr eigenes Kennwort. Pfade unter OSX und Linux benötigen nur ein einziges "/" als Trennzeichen.
javax.net.ssl.trustStore=C:\\My_Folder\\truststore.jks
javax.net.ssl.trustStoreType=JKS
javax.net.ssl.trustStorePassword=<password>
javax.net.ssl.keyStore=C:\\My_Folder\\keystore.jks
javax.net.ssl.keyStoreType=JKS
javax.net.ssl.keyStorePassword=password - Speichern Sie die .properties-Datei je nach Tableau-Produkt im entsprechenden Datenquellenordner. Wenn Sie sich nicht sicher sind, finden Sie die vollständige Liste der möglichen Verzeichnisse unter Anpassen und Optimieren einer Verbindung.
- Wenn Sie in Tableau Server veröffentlichen, stellen Sie sicher, dass Sie die .properties-Datei sowie truststore.jks und keystore.jks an den richtigen Speicherorten für jeden Tableau Server-Knoten installieren.
Dank dieser Methode müssen Sie keine Zertifikate und Schlüssel über das SSL-Dialogfeld hochladen. Klicken Sie stattdessen einfach auf SSL erfordern. Dies bewirkt, dass der Oracle JDBC-Connector die Speicherorte des Schlüssel- und des Vertrauensspeichers aus der .properties-Datei liest.
Siehe auch
- SSL erfordern für Oracle JDBC-Verbindungen(Link wird in neuem Fenster geöffnet): Installationsanweisungen zum Hinzufügen vertrauenswürdiger SSL-Zertifikate zu Oracle JDBC-Verbindungen.
- Oracle JDBC-Verbindungen mit SSL