本文包含範本和參考,用於在 Tableau Server 上設定伺服器範圍的 SAML,以及將組態檔與 samlSettings 實體的鍵和值配合使用。此資訊用於補充設定全伺服器的 SAML中的 SAML 組態步驟。

要建立 SAML 組態範本並將其應用於 Tableau Server,您應完成以下步驟:

  1. 查看以下兩個部分,這兩個部分描述了範本及其構造方式(範本類別和定義以及 samlSettings 組態範本)。

  2. 將範本中顯示的 JSON 代碼貼上到新的文字檔中,並使用 .json 副檔名進行儲存。

  3. 使用SAML 組態實體參考來幫助您在需要時提供值。

  4. 新增特定於您的環境的可選鍵/值對。例如,如果您的 SAML 憑證金鑰檔案需要複雜密碼,則需要使用 tsm configuration set 命令在 wgserver.saml.key.passphrase 參數中指定密碼。

  5. 將組態檔傳遞給 Tableau Server

範本類別和定義

範本使用預留位置來表示每個鍵值。這些預留位置分類如下:

  • 必需:具有 "required" 值的屬性必須替換為有效資料,然後才能執行設定命令。查看有效值的組態檔參考。

  • 硬編碼:以底線 (_) 為首碼的屬性名稱(例如"_type")儲存硬編碼值。不要變更這些值。

  • 預設值:所設定為的值不是 "required" 的屬性為預設值。這些是您可以根據您的環境進行變更的必需屬性。

  • 空集:空值 ("") 可以按原樣傳遞,或者您可以為安裝提供一個值。

重要事項所有實體選項均大小寫視為相異。

samlSettings 組態範本

將此代碼貼上到文字檔中,並使用下面的參考為您的環境對其進行自訂。

                        

{ "configEntities": { "samlSettings": { "_type": "samlSettingsType", "enabled": true, "returnUrl": "required", "entityId": "required", "certFile": "required", "keyFile": "required", "idpMetadataFile": "required", "idpDomainAttribute": "", "idpUsernameAttribute": "required" } } }

SAML 組態實體參考

下表列出了可在 "samlSettings" 實體集包含的所有選項。

idpMetadataFile

必需。由 IdP 生成的 XML 檔案的路徑和檔案名。XML 中繼資料必須包含使用者名屬性(判斷提示)。

如果您完成了設定全伺服器的 SAML中描述的步驟,則您在此處輸入的值為:

/var/opt/tableau/tableau_server/data/saml/<metadata-file.xml>

enabled

true | false

必需。表示是否已啟用 SAML 驗證。在設定其他必需的 SAML 設定選項之前,請勿將此選項設定為 true

returnURL

這通常是 Tableau Server 使用者在其瀏覽器中輸入的用於存取伺服器的外部 URL,例如 https://tableau_server.example.com。配置 IdP 時,此值用於建立 ACS URL 屬性。

entityId

必需。服務提供者(本案例中為 Tableau Server)實體 ID 值。

將 Tableau Server 設定識別為 IdP。建議輸入與 returnURL 選項相同的值。

idpUsernameAttribute

必需。在 IdP 中繼資料中,尋找用於指定使用者名值的屬性,並輸入該屬性的名稱。預設值為 username

certFile

必需。輸入適用於 SAML 的 x509 憑證檔 (.crt) 的位置和檔案名。例如:

/var/opt/tableau/tableau_server/data/saml/<file.crt>

有關詳情,請參閱SAML 要求設定全伺服器的 SAML

keyFile

必需。指定伴隨憑證檔案的私密金鑰 (.key) 檔案的位置。例如:

/var/opt/tableau/tableau_server/data/saml/<file.key>

附註:若使用需要複雜密碼的 RSA PKCS#8 金鑰,則必須使用 configKey 實體(請參閱組態檔範例)或使用 tsm configuration set 來設定複雜密碼。使用這些方法的複雜密碼的金鑰為 wgserver.saml.key.passphrase。該值必須為非 null 字串。

idpDomainAttribute

對於使用 LDAP 或 Active Directory 的組織,此值會指定 Tableau Server 將參考哪個 SAML 屬性來確定網域名稱。例如,若 IdP 已指定 domain 屬性中的網域名稱,則需要為此值指定 domain附註:對於有個使用者從多個網域登入的組織,此值是必要資料。

若不為此金鑰提供值,則使用的值取決於 Tableau Server 身分識別存放區設定:

  • 對於本機身分識別存放區,會忽略 idpDomainAttribute 值。

  • 對於 Active Directory 或 LDAP 身分識別存放區,Tableau 會使用組態設定 wgserver.domain.default 中的 FQDN。

    若要獲取 wgserver.domain.default 的值,您可以執行以下命令:

    tsm configuration get --key wgserver.domain.default

desktopNoSAML

true | false

可選。當使用者從 Tableau Desktop 中登入時,允許使用者使用 SAML 驗證。

預設情況下不設定此選項,因此有效行為相當於將其設定為 false。如果透過 Tableau 使用者端應用程式進行單點登入不適用於您的 IdP,您可將此項設定為 true 來禁止透過 Tableau Desktop 進行 SAML 驗證。

appNoSAML

true | false

可選。允許使用 SAML 從舊版 Tableau Mobile 應用程式登入。執行 Tableau Mobile應用程式 19.225.1731 版和更新版本的裝置會略過此選項。若要停用執行 Tableau Mobile 應用程式19.225.1731 版及更新版本的裝置,請在 Tableau Server 上停用 SAML 做為用戶端登入選項。

logoutEnabled

true | false

可選。為使用 SAML 登入的使用者啟用單一登出。預設值為 true

IdP 設定中繼資料必須包含具有 POST 繫結的單一登出端點。

此設定僅適用於伺服器範圍的 SAML

設定為 false 時,Tableau Server 不會嘗試單一登出。

logoutUrl

可選。輸入使用者登出伺服器後要重定向到的 URL。設定此選項需要 logoutEnabled 設定為 true

預設情況下,這是 Tableau Server 登入頁面。您可以指定絕對或相對 URL。

maxAuthenticationAge

可選。指定使用者使用 IdP 進行驗證與處理 AuthNResponse 訊息之間允許的最大秒數。預設值為 7200(2 小時)。

若要最佳化工作階段長度,請使用與 IdP 上設定相同的逾時值。

maxAssertionTime

可選。指定自建立後 SAML 判斷提示可用的最大秒數。預設值為 3000(50 分鐘)。

sha256Enabled

true | false

可選。向 IdP 傳送訊息時,Tableau Server 會使用的簽章類型。設定為 true 時,Tableau Server 會使用 SHA 256 簽章演算法簽章訊息。設定為 false 時,Tableau Server 會使用 SHA 1 簽章訊息。預設值為 true

此選項會將簽章演算法設定為 Tableau Server 簽章的以下訊息: 

  • 啟用 signRequests 時,為 AuthnRequest 訊息。
  • 若啟用 logoutEnabled,則為 LogoutRequest 訊息。

signRequests

true | false

可選。指定 Tableau Server 是否會簽章已傳送到 IdP 的 AuthnRequest。並非所有 IdP 都需要簽署要求。我們建議簽署要求,以確保在設定 SAML 時具有最安全的選項。若要驗證 IdP 是否接受簽署要求,請檢查 IdP 中繼資料:若 wantAuthnRequestsSigned 設定為 true,則 IdP 會接受簽署要求。

預設值為 true。若要停用簽署要求,請將此選項設定為 false

acceptableAuthnContexts

可選。設定 AuthNContextClassRef SAML 屬性。此可選屬性會在 IdP 啟動的流程中強制驗證某些驗證「內容」。請為此屬性設定一組用逗號分隔的值。設定此屬性後,Tableau Server 會驗證 SAML 回應是否至少包含列出的值之一。如果 SAML 回應不包含設定的值之一,就算使用者已成功使用 IdP 進行驗證,也會遭到拒絕。

將此選項保留為空白會導致預設行為:任何驗證成功的 SAML 回應都會導致使用者在 Tableau Server 中被授與工作階段。

iFramedIdpEnabled

true | false

可選。預設值為 false,這意味著使用者選取內嵌檢視上的登入按鈕時,IdP 的登入表單會在快顯視窗中開啟。

當您將其設定為 true 時,已經登入的伺服器 SAML 使用者將導航到具有嵌入檢視的網頁,使用者將無需登入即可查看該檢視。

如果 IdP 支援在 iframe 內登入,則可以將其設定為 true。iframe 選項沒有使用快顯視窗安全,所以並不是所有 IdP 都支援它。如果 IdP 登入頁面實現點擊劫持保護,大多數情況下,登入頁面無法顯示在 iframe 中,並且使用者無法登入。

如果您的 IdP 確實支援透過 iframe 登入,您可能需要顯式啟用它。但是,即使您可以使用此選項,它也會針對 SAML 停用 Tableau Server 點擊劫持保護,因此它仍然有安全風險。

將組態檔傳遞給 Tableau Server

為組態範本中包含的每個實體提供適當的值後,使用以下命令傳遞 .json 檔案並將設定應用於 Tableau Server

tsm settings import -f path-to-file.json

tsm pending-changes apply

另請參閱

完成初始 SAML 組態後,使用 tsm authentication mutual-ssl <commands> 設定其他值。

有關用於設定 SAML 的命令列參考,請參閱tsm authentication saml <commands>

 

感謝您的意見回饋!