針對與來往 Tableau Server 的外部 HTTP 流量設定 SSL

可以將 Tableau Server 設定為對所有外部 HTTP 流量使用安全通訊端層 (SSL) 加密的通訊。設定 SSL 可確保對 Tableau Server 的存取是安全的,且在伺服器和 Tableau 用戶端(例如 Tableau Desktop、REST API、分析擴充功能等)之間傳遞的敏感資訊會受到保護。本主題介紹了針對 SSL 設定伺服器的步驟;不過,您必須先從受信任的頒發機構獲取憑證,然後將憑證檔案匯入到 Tableau Server 中。

Tableau Mobile 不支援相互 SSL 驗證。

SSL 憑證需求

從受信任的頒發機構(例如 Verisign、Thawte、Comodo、GoDaddy)獲取 Apache SSL 憑證。您也可以使用您的公司頒發的內部憑證。還支援允許您將 SSL 用於同一個域中多個主機名稱的萬用字元憑證。

針對往返於 Tableau Server 的外部通訊獲取 SSL 憑證時,請遵循以下準則和要求:

  • 所有憑證檔案必須是有效的 PEM 編碼 X509 憑證,副檔名為 .crt

  • 使用 SHA-2(256 位或 512 位)SSL 憑證。大多數瀏覽器都不再連線到提供 SHA-1 憑證的伺服器。

  • 除了憑證檔案外,您還必須獲取對應的 SSL 憑證金鑰檔。金鑰檔必須是有效的 RSA 或 DSA 私密金鑰檔(按照約定帶有 .key 副檔案名)。

    您可以選取用密碼保護金鑰檔。您在設定期間輸入的密碼將在空閒時加密。但是,如果想要為 SSL 和 SAML 使用相同的憑證,則必須使用受密碼保護的金鑰檔。

    重要資訊:如果您的金鑰檔案受密碼保護,則必須驗證您正在執行的 Tableau Server 版本是否支援相關的加密演算法。Tableau Server 使用 OpenSSL 開啟受密碼保護的金鑰檔案。從 2023 年 8 月開始,Tableau Server 的最新版本(2021.3.26、2021.4.21、2022.1.17、2022.3.9、2023.1.5 與更高版本)執行 OpenSSL 3.1。Tableau Server 的較早版本執行 OpenSSL 1.1。許多加密演算法已停用,OpenSSL 3.1 不再為其提供支援。如果要在在執行 OpenSSL 1.1 的舊版 Tableau Server 中使用受密碼保護的金鑰檔案,請在升級到最新版本的 Tableau Server 前查看以下知識庫文章: 升級到 Tableau Server 2022.1.17 後,使用含密碼的外部 SSL 保護金鑰檔案時,Gateway 和 Prep Conductor 無法啟動(連結在新視窗開啟)

  • SSL 憑證鏈結檔:Mac 版 Tableau Desktop 和 Mac 版 Tableau Prep Builder 與 Windows 版 Tableau Prep Builder 都需要憑證鏈結檔。如果 Tableau Server 的憑證連結不受行動裝置的 iOS 或 Android 作業系統信任,則 Tableau Mobile 應用程式也需要連結檔案。

    鏈檔案連線構成伺服器憑證的憑證連結的所有憑證。檔案中的所有憑證必須為 x509 PEM 編碼,檔案副檔案名必須為 .crt(而不是 .pem)。

  • 對於多個子域,Tableau Server 支援萬用字元憑證。

  • 驗證客戶用來連線至 Tableau Server 的網域、主機名稱或 IP 位址是否包含在「主題備用名稱 (SAN)」欄位。許多用戶端(Tableau Prep,Chrome 和 Firefox 瀏覽器等)需要在 SAN 欄位中輸入有效項目才能建立安全連線。

附註:如果打算將 Tableau Server 設定為使用 SAML 進行單一登入,請參閱 SAML 要求中的針對 SAML 使用 SSL 憑證和金鑰檔案,來幫助確定是否要為 SSL 和 SAML 使用相同的憑證檔案。

為叢集設定 SSL

您可以將 Tableau Server 叢集設定為使用 SSL。如果初始節點是唯一一個執行閘道處理序的節點(預設情況下如此),則您只需要在該節點上使用本主題中描述的步驟設定 SSL。

SSL 和多個閘道

一個高度可用的 Tableau Server 叢集可包括多個閘道,它們前面有負載平衡器。如果您要將此類型的叢集設定為使用 SSL,則有以下選取:

  • 將負載平衡器設定為使用 SSL:從用戶端 Web 瀏覽器到負載平衡器的流量會經過加密。從負載平衡器到 Tableau Server 閘道處理序的流量不會經過加密。您不需要在 Tableau Server 設定 SSL。此工作全都由負載平衡器處理。

  • 將 Tableau Server 設定為使用 SSL:從用戶端 Web 瀏覽器到負載平衡器以及從負載平衡器到 Tableau Server 閘道處理序的流量都會經過加密。有關詳情,請繼續閱讀以下部分。

Tableau Server 叢集環境的其他設定資訊

如果要在執行閘道處理序的所有 Tableau Server 節點上使用 SSL,請完成以下步驟。

  1. 將外部負載平衡器設定為使用 SSL 傳遞。

    或者如果要使用 443 之外的埠,您可以設定外部負載平衡器以從用戶端終止非標準埠。在這種情況下,您將設定負載平衡器以透過埠 443 連線到 Tableau Server。如果需要幫助,請參閱為負載平衡器提供的文件。

  2. 確保為負載平衡器的主機名稱頒發了 SSL 憑證。

  3. 將初始 Tableau Server 節點設定為使用 SSL。

  4. 如果使用相互 SSL,請上載 SSL CA 憑證檔。請參閱 tsm authentication mutual-ssl <commands>

在組態程序中,SSL 憑證和金鑰檔案將會分佈至每個節點。

準備環境

從 CA 獲取憑證檔案後,將其儲存到 Tableau Server 可存取的位置,並記下憑證 .crt 和 .key 檔案的名稱,以及這些檔案的儲存位置。啟用 SSL 時將需要向 Tableau Server 提供此資訊。

在 Tableau Server 上設定 SSL

使用您最熟悉的方法。

  1. 在瀏覽器中開啟 TSM:

    https://<tsm-computer-name>:8850。有關詳情,請參閱登入到 Tableau 服務管理員 Web UI

  2. 「設定」索引標籤上,選取「安全」>「外部 SSL」

    附註:如果要更新或變更現有組態,請按一下「重置」以清除現有設定,然後繼續進行。

  3. 「外部 Web 伺服器 SSL」下,選取「伺服器伺服器通訊啟用 SSL」

  4. 上傳憑證和金鑰檔案,如果環境需要,請上傳鍊檔案並輸入通行片語金鑰:

    設定 SSL 螢幕擷取畫面

    如果您在分散式部署中執行 Tableau Server,則這些檔案將會自動散佈至叢集中的每個適當節點。

  5. 按一下「儲存暫止的變更」

  6. 按一下頁面頂端的「擱置中的變更」

  7. 按一下「套用變更並重新啟動」

將憑證檔案複製到本機電腦後,執行以下命令:

tsm security external-ssl enable --cert-file <path-to-file.crt> --key-file <path-to-file.key>

tsm pending-changes apply

請參閱tsm security external-ssl enable中的命令參考,確定是否要為 external-ssl enable 包括其他選項。Tableau 針對 --protocols 選項提供了特定建議。

external-ssl enable command 將從 .crt 和 .key 檔案匯入資訊。如果在 Tableau Server 叢集中的某個節點上執行此命令,它還會將資訊分發到任何其他閘道節點。

如果擱置組態需要重新啟動伺服器,pending-changes apply 命令將顯示提示,讓您知道即將重新啟動。即使伺服器已停止,也會顯示提示,但在這種情況下不會重新啟動。您可以使用 --ignore-prompt 選項隱藏提示,但這樣做不會改變重新啟動行為。如果變更不需要重新啟動,則不會出現提示即可套用變更。有關詳情,請參閱 tsm pending-changes apply

埠重定向和記錄

針對 SSL 設定伺服器後,該伺服器會將請求接受到非 SSL 埠(預設為埠 80)並自動重定向至 SSL 埠 443。

附註:Tableau Server 僅支援使用埠 443 作為安全埠。它不能在有其他應用程式正在使用埠 443 的電腦上執行。

SSL 錯誤記錄在以下位置。使用此記錄可解決驗證和加密問題:

/var/opt/tableau/tableau_server/data/tabsvc/logs/httpd/error.log

向本機防火牆新增 SSL 埠

如果您正在執行本機防火牆,則必須將 SSL 埠新增至 Tableau Server 上的防火牆。以下範例描述了如何設定在 RHEL/CentOS 發行版本上執行的防火牆。此範例使用 Firewalld,它是 CentOS 上的預設防火牆。

  1. 啟動 firewalld:

    sudo systemctl start firewalld

  2. 為 SSL 新增埠 443:

    sudo firewall-cmd --permanent --add-port=443/tcp

  3. 重新載入防火牆並驗證設定:

    sudo firewall-cmd --reload

    sudo firewall-cmd --list-all

變更或更新 SSL 憑證

您設定 SSL 後,可能需要定期更新憑證。在某些情況下,您可能需要變更憑證,以因應 IT 環境中的作業變更。在這兩種情況下,您都必須使用 TSM 來取代已為外部 SSL 設定的 SSL 憑證。

請勿將新憑證複製到作業系統上的檔案目錄。您使用 TSM Web UI 或 tsm security external-ssl enable 命令新增憑證時,系統會將憑證檔案複製到適當的憑證存放區。在分散式部署中,憑證也會在叢集中的各個節點間進行複製。

若要變更或更新 SSL 憑證(以及必要時的相應金鑰檔案),請遵循本主題前一節在 Tableau Server 上設定 SSL 中的步驟。

變更憑證後,必須執行 tsm pending-changes apply 以重新啟動 Tableau Server 服務。另外也建議重新啟動電腦上使用 SSL 憑證的其他任何服務。如果要變更作業系統上的根憑證,則必須將電腦重新開機。

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