可以將 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 使用相同的憑證,則必須使用未受密碼保護的金鑰檔。
-
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,請完成以下步驟。
-
將外部負載平衡器設定為使用 SSL 傳遞。
或者如果要使用 443 之外的埠,您可以設定外部負載平衡器以從用戶端終止非標準埠。在這種情況下,您將設定負載平衡器以透過埠 443 連線到 Tableau Server。如果需要幫助,請參閱為負載平衡器提供的文件。
-
確保為負載平衡器的主機名稱頒發了 SSL 憑證。
-
將初始 Tableau Server 節點設定為使用 SSL。
-
如果使用相互 SSL,請上載 SSL CA 憑證檔。請參閱
tsm authentication mutual-ssl <commands>
。
在組態程序中,SSL 憑證和金鑰檔案將會分佈至每個節點。
準備環境
從 CA 獲取憑證檔案後,將其儲存到 Tableau Server 可存取的位置,並記下憑證 .crt 和 .key 檔案的名稱,以及這些檔案的儲存位置。啟用 SSL 時將需要向 Tableau Server 提供此資訊。
在 Tableau Server 上設定 SSL
使用您最熟悉的方法。
-
在瀏覽器中開啟 TSM:
https://<tsm-computer-name>:8850。有關詳情,請參閱登入到 Tableau 服務管理器 Web UI。
-
在「設定」索引標籤上,選取「安全」>「外部 SSL」。
附註:如果要更新或變更現有組態,請按一下「重置」以清除現有設定,然後繼續進行。
-
在「外部 Web 伺服器 SSL」下,選取「伺服器伺服器通訊啟用 SSL」。
-
上傳憑證和金鑰檔案,如果環境需要,請上傳鍊檔案並輸入通行片語金鑰:
如果您在分散式部署中執行 Tableau Server,則這些檔案將會自動散佈至叢集中的每個適當節點。
-
按一下「儲存暫止的變更」。
-
按一下頁面頂端的「擱置中的變更」:
-
按一下「套用變更並重新啟動」。
將憑證檔案複製到本機電腦後,執行以下命令:
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 上的預設防火牆。
-
啟動 firewalld:
sudo systemctl start firewalld
-
為 SSL 新增埠 443:
sudo firewall-cmd --permanent --add-port=443/tcp
-
重新載入防火牆並驗證設定:
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 憑證的其他任何服務。如果要變更作業系統上的根憑證,則必須將電腦重新開機。