設定 Independent Gateway 的驗證模組
常見的安全做法是只允許經過身份驗證的請求通過 DMZ 伺服器的內部防火牆。Independent Gateway 支援傳統的 Tableau Server 身份驗證方法,但也包括允許集成 Apache httpd 可加載模組以進行自訂身份驗證的組態屬性。
例如,通過在 Tableau Server 中設定 SAML 並配置自訂身份驗證模組,可以要求所有使用者在 Independent Gateway 上使用您的 IdP 進行身份驗證。只有經過身份驗證的使用者才能存取 Tableau Server,然後 Tableau Server 才能對使用者存取進行身份驗證和授權。
有關此驗證配置的更詳細說明,請參閱企業部署指南中的使用 AuthN 模組進行預先驗證(連結在新視窗開啟)。
要設定身份驗證模組,必須完成以下步驟:
- 生成認證模組組態檔。設定完成後,每個模組及其組態指令將被視為包含選項,使包含的文件在邏輯上成為整個 httpd 組態的一部分。
- 將組態檔複製到執行 Independent Gateway 的每台電腦。所有文件都必須複製到每台 Independent Gateway 電腦的相同位置。每個檔案都映射到由 Tableau Server 管理的組態屬性。
- 在 Tableau Server 中使用
tsm configuration set
命令設定組態屬性。
不要在 Independent Gateway 中編輯 httpd 組態檔 (httpd.conf),因為 Independent Gateway 包含根據 Tableau Server 上的 TSM 命令所做的變更更新 httpd 組態的邏輯。
範例驗證模組設定
有關端到端驗證模組設定範例,請參閱企業部署指南中的範例驗證設定:具有外部 IdP 的 SAML(連結在新視窗開啟)。該範例會介紹如何為在 AWS 中執行的 Linux 版 Tableau Server 部署安裝和設定具有 Okta IdP 和 Mellon 驗證模組的 SAML。雖然該範例描述的是針對 Linux 的流程,但該設定範例對 Windows 版 Tableau Server 也很有用。
組態屬性
下表描述了可以參考的各種組態檔。每個文件都映射到在 Tableau Server 上設置的組態屬性。
組態屬性 | 說明 |
---|---|
gateway.tsig.authn_module_block | 出現在一組正常加載的 Apache httpd 模組的末尾。目的是該檔案包含一個或多個 LoadModule 指令。模組本身應使用完整路徑進行標識。 |
gateway.tsig.authn_global_block | 出現在所有LoadModule 參考和大多數其他 Apache httpd 指令之前。目的是為自訂模組所需的任何組態指令提供一個位置。 |
gateway.tsig.authn_globalbottom_block | 出現在組態檔的最底部,再次出現在全局級別。目的是為自訂模組所需的任何組態指令提供一個位置,這些組態指令必須專門位於各種其他指令之後。(不太可能需要這個。) |
gateway.tsig.authn_location_block | 出現在一個<Location "/"> 塊,覆蓋所有 URL 路徑。 |
gateway.tsig.authn_directory_block | 這出現在<Directory "/"> 區塊內部,覆蓋 Independent Gateway 提供的文件的所有路徑。(不太可能需要這個。Independent Gateway 提供的大多數檔案都是非敏感靜態資產,例如圖像和 JavaScript 文件。) |
gateway.tsig.authn_virtualhost_block | 出現在一、兩個 |
<Location "/tsighk">
區塊
除了預期的<Location "/">
正常請求流量的區塊,還有<Location "/tsighk">
用於服務內部 Independent Gateway 內務 (HK) 請求的區塊。這些 HK 請求有自己的身份驗證保護,不適用於典型的自訂 SSO 解決方案。
可能需要明確排除您的自訂模組嘗試對 HK URL 路徑進行身份驗證。
要確定是否需要排除您的模組,請先設定該模組。然後在 Independent Gateway 存取日誌中查找 HK 請求。應該每分鐘至少看到一次或兩次狀態檢查。如果這些請求收到 200 響應代碼,則可能一切正常。另一方面,如果這些請求收到 3xx 響應代碼(重定向到您的自訂身份驗證提供程序),那麼您需要對其進行處理。
可能的解決方法包括:
<Location "/tsighk">
區塊包含指令AuthType None
,這可能就足夠了。- Independent Gateway httpd.conf 具有標準的 Apache httpd 指令
ProxyPreserveHost(連結在新視窗開啟) On
.如果有需要設置為 Off 或其他值的異常情況,可以透過 TSM 組態項設定該值gateway.tsig.proxypreservehost
. - 可能需要一些具體模組的指令來停用身份驗證模組
<Location "/tsighk">
.不能直接在 httpd.conf 文件中修改該區塊。相反,可以在區塊gateway.tsig.authn_global_block
中製作另一個<Location "/tsighk">
區塊,並讓 Apache httpd 邏輯將其合併。例如,流行的開源身份驗證模組 mod_auth_mellon 的某些版本需要MellonEnable Off
對於不適用的部分,即使在這部分中設定AuthType None
。 - 建立額外的
<Location "/tsighk">
部分時,如上一個項目符號中所述,您可能會發現 httpd.conf 文件中各個部分的出現順序在它們如何相互影響方面有所不同。標準<Location "/tsighk">
部分出現在標準之前<Location "/">
部分。如果您的實驗表明需要不同的順序,則可能必須在您的gateway.tsig.authn_global_block
區塊中定義除<Location "/tsighk">
部分以外的另一個<Location "/">
部分,這種情況下,可能在gateway.tsig.authn_location_block
區塊中不需要任何內容。
自訂身份驗證模組組態疑難解答
了解 Independent Gateway 如何構成 httpd.conf 文件的一種簡單方法,就是在使用指向 Independent Gateway 電腦中空檔案中設定附帶值的 TSM 組態項。(該檔案必須存在,但可以為空。)然後,可以查看 Independent Gateway 的 httpd.conf 檔案,以具體了解會在哪裡出現適用於不同組態檔的Include
指令。
Independent Gateway httpd.conf 中的組態問題可能導致tsig-httpd
服務無法啟動。其他組態問題可能會干擾從 Tableau Server 叢集中的 Independent Gateway 配套服務接收組態更新。解決了導致問題的所有問題後,一種恢復方法是將TSIG_DATA/config/httpd.conf.stub
複製到TSIG_DATA/config/httpd.conf
,然後重新啟動tsig-httpd
服務。
有關更多疑難排解提示,請參閱企業部署指南 (EDG) 中的 Tableau Server 獨立閘道疑難排解(連結在新視窗開啟)。EDG 提供了部署 Linux 版 Tableau Server 的範例。疑難排解步驟對 Windows 或 Linux 版 Tableau Server 很有用。