設定用於 JDBC 連線的 SSL

許多 JDBC 連接器支援單向(標準)SSL,有些連接器則支援雙向 SSL。對於使用 Tableau 時沒有明確支援的連接器,可以透過自訂來進行啟用。有不同的方式可以為這兩種類型設定 SSL,您可以使用對您的環境最有意義的方法。

附註:對於 Tableau Cloud,若您的伺服器憑證不是由一般公用根 CA 簽署,且您沒有內嵌憑證的選項,則可以使用 Tableau Bridge。這將可讓您根據需要設定憑證和私密金鑰。

JDBC 連線的單向 SSL

如果在 JDBC 式連接器使用一般(單向)SSL,且您具備自簽章憑證或由非公共憑證授權單位 (CA) 簽署的憑證,則您需要為憑證設定信任。

使用 Tableau,您可以透過以下其中一種方法為 JDBC 連線設定單向 SSL 信任:

嵌入憑證

某些連接器支援在工作簿或資料來源嵌入憑證。如果適用,您可以使用 Tableau Desktop 來嵌入 CA 憑證。

在系統信任存放區中安裝憑證

若內嵌不可用,您將需要另一種方法來設定信任。這個動作可能也比在每個工作簿中內嵌憑證更容易操作。下面包含適用於 Windows、Mac 和 Linux 平台的說明。

對於 Windows:

您可以在 Windows 根 CA 信任存放區中安裝 CA 或自簽章憑證。Java Runtime 會在系統根信任存放區中搜尋受信任的 CA,不會從中繼憑證存放區中搜尋。

附註:如果您已安裝根 CA,但仍無法進行連線,可能是缺少中繼憑證所致。雖然 TLS 標準要求伺服器需在各自的鏈中傳送根憑證以外的所有憑證,但並非所有伺服器都符合標準。若伺服器不會傳送中繼憑證,您可以修正伺服器以正確轉送中繼憑證,或在根信任存放區中安裝中繼憑證。或者,您可以選擇在資料來源中嵌入憑證,或設定含有驅動程式屬性的信任存放區。

  1. 在 Windows 中搜尋「憑證」。
  2. 選取「管理電腦憑證」
  3. 「動作」功能表中選取「所有工作」,然後根據 Windows 版本而定,執行以下一項操作:
    • 選取 「匯入」,然後選取「本機電腦」
    • 選取 「尋找憑證」
  4. 找出您的憑證檔案。
  5. 匯入到「信任的根憑證授權單位」。

如使用 Mac:

若要在 Mac 上安裝自訂憑證,請按照以下步驟將憑證匯入「系統」金鑰鏈。

附註:在 Mac 上,從金鑰鏈載入憑證適用於大多數(但不是全部)驅動程式。對於其他驅動程式,可能需要使用 .properties 檔案來設定信任存放區。有關詳情,請參閱自訂和調整連線

  1. 前往 https://support.apple.com/guide/keychain-access/add-certificates-to-a-keychain-kyca2431/mac(連結在新視窗開啟)
  2. 將憑證匯入「系統」金鑰鏈(而不是「系統根目錄」)。
  3. 請按照以下步驟啟用信任:
    1. 在金鑰鏈應用程式中,以右鍵按一下新憑證。
    2. 選取「取得資訊」
    3. 在對話方塊中,開啟「信任」部分,然後選取「使用此憑證時始終信任」

對於 Linux:

許多 Linux 發行版都會從系統憑證產生 Java 格式的信任存放區。您可能需要從套裝軟體管理器安裝 Java 才能建立此檔案。

這樣一來,JRE 就能使用與作業系統相同的憑證。

附註:Tableau Server 會在以下標準位置搜尋此檔案:
/etc/ssl/certs/java/cacerts
/etc/pki/java/cacerts

如要設定其他位置,請執行:

tsm configuration set -k native_api.ConnectivityTrustStore -v <path-to-cacerts> --force-keys

此檔案應:

  • 包含所有受信任的 CA 和自簽章憑證。
  • 僅包含公開金鑰。
  • 採用 JKS 格式。
  • Tableau 的無權限使用者(「以使用者身分執行」)可讀取。
  • 使用預設的 JKS 密碼「changeit」

如要安裝自訂 CA 或自簽章憑證,請參閱發行版的文件。執行適當的命令來產生金鑰存放區,例如:

update-ca-certificates

使用自訂驅動程式屬性

可以使用 .properties 檔案自訂 JDBC 連線選項,包括信任存放區的位置。此檔案為在每個連接參數中均包含鍵值組合的純文字檔。

例如,此屬性檔案中的線用於設定信任設定:

javax.net.ssl.trustStore=C:\\My_Folder\\truststore.jks
javax.net.ssl.trustStoreType=JKS
javax.net.ssl.trustStorePassword=password

附註:有關特定屬性設定的詳細資訊,請參閱驅動程式文件。

如果您建立了檔案並儲存到正確位置,檔案中的屬性會套用到所有連至相同資料來源類型的 JDBC 連線。

若使用一般的「其他資料庫 (JDBC)」連接器,則可以直接在連線對話方塊中指定 .properties 檔案。

有關詳情,請參閱自訂和調整連線(連結在新視窗開啟)

JDBC 連線的雙向 SSL

某些 JDBC 連線(例如 Postgres)也可以設定為使用雙向 SSL 驗證。這可以透過使用 .properties 檔案來設定,以指定信任存放區和金鑰的位置和詳細資訊。

使用 .properties 檔案設定用戶端憑證和私密金鑰

附註:對於 Tableau Cloud,若需要雙向 SSL,並且連接器沒有內嵌金鑰的選項,則將需要使用 Tableau Bridge 並在其中設定 SSL 設定。

  1. 修改 .properties 檔案以反映金鑰儲存區和信任存放區設定。以下列範例為例。請務必取代檔案所在位置的「My_Folder」,以及以自己的密碼取代「<password>」。OSX 和 Linux 上的路徑只需要一個「/」進行分隔。

    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

  2. 將 .properties 檔案儲存到相應的資料來源資料夾,具體取決於 Tableau 產品。若您不確定,請參閱自訂和調整連線中可能目錄的完整清單。
  3. 若發佈到 Tableau Server,請確保在每個 Tableau Server 節點的正確位置安裝 .properties 檔案、truststore.jks 和 keystore.jks。

如果使用此方法,您就不必經由 SSL 對話方塊上傳憑證和金鑰。反之,只需按一下「需要 SSL」。這會導致 JDBC 連接器從 .properties 檔案中讀取金鑰儲存區和信任存放區的位置。

另請參閱

感謝您的意見反應!已成功提交您的意見回饋。謝謝!