Tableau Cloud 的 SAML 要求

在為 Tableau Cloud 或者 Tableau Cloud 管理器 (TCM) 設定 SAML 之前,請獲取滿足相關要求所需的內容。

Tableau 設定的身分識別提供者 (IdP) 要求

要為 SAML 設定 Tableau Cloud 或者 TCM,您需要:

  • Tableau Cloud 站台的管理員存取權限。必須具有要啟用 SAML 的站台上的 Tableau Cloud 站台管理員存取權限。

  • 列出使用 SSO 存取 Tableau Cloud 或者 TCM 的使用者。應收集要為其授予單一登入 Tableau 存取權限的使用者的 使用者名稱。

  • 支援 SAML 2.0 的 IdP 帳戶。 您需要一個外部身分識別提供者帳戶。範例包括 PingFederate、SiteMinder 和 Open AM。IdP 必須支援 SAML 2.0。您必須具有該帳戶的管理員存取權限。

  • SHA256 用作簽名演算法。自 2020 年 5 月起,Tableau 會阻止使用 SHA-1 演算法簽名的 IdP 判斷提示和憑證。

  • 支援匯入和匯出 XML 中繼資料的 IdP 提供程式。 儘管手動建立的中繼資料檔案可以工作,但 Tableau 技術支援無法協助進行組建該檔案或排除其問題。

  • IdP 提供程式,強制權杖期限上限為 24 天或以下(2073600 秒)。如果 IdP 允許的權杖期限上限超過 Tableau Cloud 上的期限上限設定(2073600 秒),則 Tableau Cloud 不會將該權杖識別為有效權杖。在這種情況下,使用者會在嘗試登入 Tableau Cloud 時收到錯誤訊息(登入失敗。再試一次)嘗試登入) Tableau Cloud 或者 TCM.

  • 啟用帶有 MFA 的 SSO。自 2022 年 2 月起,Tableau 要求透過 SAML SSO 識別提供者 (IdP) 進行多重要素驗證 (MFA)。

    重要資訊:除了這些要求之外,我們建議您專門指定一個始終為使用 MFA 的 TableauID (連結在新視窗開啟)設定的網站管理員帳戶。如果 SAML 或 IdP 出現問題,專用的使用 MFA 的 Tableau 帳戶可確保您始終能夠存取站台。

SAML 相容性說明和要求

  • SP 或 IdP 已啟動: Tableau 支援在身分提供程式 (IdP) 或服務提供程式 (SP) 處開始的 SAML 驗證。

  • 單一登出 (SLO):Tableau 支援服務提供者 (SP) 啟動的 SLO 和身分識別提供者 (IdP) 啟動的 SLO。

    附註: 要獲取站台的 SLO URL,請下載並參考您的 Tableau Cloud 站台或租戶產生的中繼資料 XML 文件。移至以下位置之一即可找到此檔案:

    • 在 Tableau Cloud 中, 「設定」 > 「身分驗證」 > 「新設定」 或者「編輯配置」

    • 在 TCM 中, 「設定」 > 「身分驗證」

  • Tabcmd 和 REST API:要使用 tabcmdTableauREST API(連結在新視窗開啟),使用者必須使用個人存取權杖 (PAT) 登入 Tableau Cloud。要使用 Tableau Cloud 管理器 REST API(連結在新視窗開啟),使用者必須使用個人存取權杖 (PAT) 登入 TCM。

  • 加密聲明:Tableau 支援純文字或加密聲明。

  • 需要重新設定 Tableau Bridge :Tableau Bridge 支援 SAML 驗證,但驗證變更需要重新設定 Bridge 使用者端。有關資訊,請參閱變更驗證類型對 Tableau Bridge 的影響

  • 必要的簽章演算法:對於所有新的 SAML 認證,Tableau Cloud 或者 TCM 都需使用 SHA256(或更高的)簽章演算法。

  • RSA 金鑰和 ECDSA 曲線大小:IdP 憑證的 RSA 金鑰強度必須為 2048 或者 ECDSA 曲線大小必須為 256。
  • NameID 屬性:Tableau 需要 SAML 回應中的 NameID 屬性。

在 Tableau 用戶端應用程式中使用 SAML SSO

附註:僅適用於 Tableau Cloud。

Tableau Cloud 使用者(具有 SAML 認證)也可以從 Tableau Desktop 或 Tableau Mobile 應用程式中登入到其網站。為了實現最佳相容性,我們建議 Tableau 使用者端應用程式的版本與 Tableau Cloud 的版本相符。

從 Tableau Desktop 或 Tableau Mobile 連線到 Tableau Cloud 時,將使用服務提供者啟動的連線。

將經過驗證的使用者重定向回 Tableau 用戶端

使用者登入到 Tableau Cloud 時,Tableau Cloud 會向 IdP 傳送一個 SAML 請求 (AuthnRequest),其中包括 Tableau 應用程式的 RelayState 值。如果使用者已透過諸如 Tableau Desktop 或 Tableau Mobile 等 Tableau 用戶端登入到 Tableau Cloud,則在 IdP 對 Tableau 的 SAML 回應內返回 RelayState 值至關重要。

如果在此情形下未正確返回 RelayState 值,則會在 Web 瀏覽器中將使用者轉向其 Tableau Cloud 首頁,而不是重定向回他們從中登入的應用程式。

與身分識別 提供者和內部 IT 團隊合作,確認此值將包括在 IdP 的 SAML 回應內 之間的任何網路設備(例如 Proxy 或負載平衡器)保留。

變更驗證類型對 Tableau Bridge 的影響

變更站台的驗證類型或修改 IdP 時,為排程的擷取重新整理使用 Tableau Bridge 的發佈者將需要取消連結並重新連結用戶端,然後使用新方法或 IdP 設定重新進行驗證。

對於舊版排程,取消連結 Bridge 用戶端會移除所有資料來源,因此必須重新設定重新整理排程。對於線上排程,在重新連結用戶端後,必須重新設定 Bridge 用戶端集區。

驗證類型的變更不會影響直接從 Tableau Cloud 站台執行的 Bridge 即時查詢或重新整理(例如對雲端中的基礎資料就是如此)。

我們建議在對使用者的網站驗證進行變更之前將相關變更通知使用者。否則,只有當使用者從 Bridge 使用者端中收到驗證錯誤或者使用者端開啟時包含空白資料來源區域時,他們才會意識到變更。

XML 資料要求

可以使用 Tableau Cloud 或者 TCM 和 IdP 產生的中繼資料 XML 文件來設定 SAML。在驗證過程中,IdP 和 Tableau 使用這些 XML 文件來交換驗證資訊。如果 XML 未滿足這些要求,則在您設定 SAML 或在使用者嘗試登入時會發生錯誤。

HTTP POST 與 HTTP REDIRECT:Tableau Cloud 或者 TCM 支援 SAML 通訊的 HTTP POST 與 HTTP REDIRECT 請求。在由 IdP 匯出的 SAML 中繼資料 XML 文件中,可將 Binding 屬性設定為:

  • HTTP-POST

  • HTTP-REDIRECT

  • HTTP-POST-SimpleSign

在 Tableau Cloud 中使用 SAML 聲明的動態群組成員身分:

附註:僅適用於 Tableau Cloud。

開始於 2024 年 6 月(Tableau 2024.2),如果 SAML 已設定並啟用功能設定,可以透過身分提供程式 (IdP) 傳送的 SAML XML 回應中包含的自訂宣告來動態控制群組成員資格。

設定後,在使用者驗證期間,IdP 會傳送包含兩個自訂群組成員資格宣告的 SAML 聲明:群組(https://tableau.com/groups)和群組名稱(例如,「Group1」和「Group2」)以將使用者聲明到其中。Tableau 會驗證該聲明,然後啟用對群組及其權限依賴這些群組的內容的存取。

有關詳情,請參閱使用聲明的動態群組成員資格

SAML XML 回應範例

<saml2p:Response
  xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol"
    .....
    .....
  <saml2:Assertion
    .....
    .....
    xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
    <saml2:AttributeStatement
  		xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">
  		<saml2:Attribute
    		Name="https://tableau.com/groups"
			NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
  			<saml2:AttributeValue
				xmlns:xs="http://www.w3.org/2001/XMLSchema"
				xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
				xsi:type="xs:string">Group1
			</saml2:AttributeValue>
			<saml2:AttributeValue
				xmlns:xs="http://www.w3.org/2001/XMLSchema"
				xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
				xsi:type="xs:string">Group2
			</saml2:AttributeValue>
    	<saml2:Attribute>
    </saml2:AttributeStatement>
  </saml2:Assertion>
</saml2p:Response>