在 Tableau Server 上使用 Azure AD IdP 設定 SAML

可以將 Azure AD 設定為 SAML 身分識別提供者 (IdP),然後將 Tableau Server 新增到受支援的單一登入(SSO)應用程式中。將 Azure AD 與 SAML 和 Tableau Server 整合時,您的使用者可以使用其標準網路認證登入 Tableau Server

開始之前:必要條件

在使用 Azure AD 設定 Tableau Server 和 SAML 之前,您的環境必須具有以下各項:

步驟 1:驗證 Azure AD 的 SSL 連線

Azure AD 需要 SSL 連線。如果尚未這樣做,請使用符合上面指定要求的憑證完成針對與來往 Tableau Server 的外部 HTTP 流量設定 SSL中的步驟。

或者,若 Tableau Server 設定為與終止 SSL(通常稱為 SSL 卸載)的反向 Proxy 或負載平衡器搭配使用,則無需設定外部 SSL。

若您的組織使用 Azure AD 應用程式 Proxy,請參閱下方的 Azure AD 應用程式 Proxy 部分。

步驟 2:在 Tableau Server 上設定 SAML

透過將 Tableau Server 中繼資料下載為一個 XML 檔案,完成設定全伺服器的 SAML中的步驟。此時,返回此處並繼續下一部分。

步驟 3:設定 Azure AD 宣告規則

對應是區分大小寫的,需要準確的拼寫,所以請仔細檢查輸入的內容。此處的表格會顯示常用屬性及宣告對應。應該使用特定的 Azure AD 設定驗證屬性。

LDAP 屬性輸出信號類型:
onpremisessamaccountnameusername

firstName

附註:此為可選選項。

姓氏

lastName

附註:此為可選選項。

netbiosname

domain

附註:僅當您的使用者從非預設網域的網域中登入時才需要這樣做。

在某些組織中,Azure AD 會作為 SAML IdP 與 Active Directory 一起用作 Tableau Server 的身分識別存放區。在這種情況下,username 通常為 sAMAccountName 名稱。請參閱 Microsoft 的文件,以識別 Azure AD 中的 sAMAccountName 屬性以對應到 username 屬性。

步驟 4:將 Azure AD 中繼資料提供給 Tableau Server

  1. 返回到 TSM Web UI,並巡覽到 [設定] > [使用者身分和存取] > [驗證方法] 索引標籤。

  2. 在 SAML 設定窗格的步驟 4 中,輸入從 Azure AD 匯出的 XML 檔案的位置,然後選取上傳

  3. 完成設定全伺服器的 SAML 中指定的剩餘的步驟(比對判斷提示和指定用戶端類型存取)。儲存並套用變更。

  4. 若這不是第一次設定 SAML,請執行下列步驟:

    1. 停止 Tableau Server,打開 TSM CLI,然後執行以下命令。

      tsm configuration set -k wgserver.saml.sha256 -v true

      tsm authentication saml configure -a -1

    2. 套用變更:

      tsm pending-changes apply

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

Azure AD 應用程式 Proxy

若正在 Tableau Server 之前執行 Azure AD 應用程式 Proxy 並且已啟用 SAML,則需要對 Azure AD 應用程式 Proxy 進行其他設定。

啟用 SAML 後,Tableau Server 僅可以接受來自一個 URL 的流量。但是,預設情況下,Azure AD 應用程式 Proxy 會設定一個外部 URL 和一個內部 URL。

必須在自訂網域中將這兩個值設定為相同的 URL。有關詳情,請參閱 Microsoft 文件使用 Azure AD 應用程式 Proxy 設定自訂網域(連結在新視窗開啟)

疑難排解

Azure AD 應用程式 Proxy

在某些情況下,當流量通過 Azure AD 應用程式 Proxy 時,檢視的連結在會在內部呈現,但無法在外部呈現。URL 中帶有井號(#) 並且使用者正在使用瀏覽器存取連結時,就會出現此問題。Tableau Mobile 應用程式能夠存取帶有井號的 URL。

使用者工作階段逾時似乎被忽略

為 SAML 設定 Tableau Server 時,使用者可能會遇到登入錯誤,因為 IdP 最長身份驗證期限設定的值大於 Tableau 的最長身份驗證期限設定。要解決此問題,可以使用 tsm configuration set 選項 wgserver.saml.forceauthn 要求 IdP 在每次 Tableau 重新導向驗證要求時重新對使用者進行驗證,即使使用者的 IdP 工作階段仍處於使用中狀態也是如此。

例如,當 Azure AD 設定 maxInactiveTime 大於 Tableau Server 的設定 maxAuthenticationAge,Tableau 將身份驗證請求重新導向到 IdP,後者隨後向 Tableau 發送使用者已通過身份驗證的判斷提示。但是,由於使用者在 Tableau Server 的外部進行了身份驗證maxAuthenticationAge,Tableau 拒絕使用者身份驗證。在這種情況下,您可以執行下列其中一項或兩項操作:

  • 啟用 wgserver.saml.forceauthn 選項以要求 IdP 在每次 Tableau 重新導向驗證請求時重新對使用者進行驗證。有關詳情,請參閱 wgserver.saml.forceauthn
  • 增加 Tableau Server 的 maxAuthenticationAge 設定。更多資訊,請參閱 tsm authentication 主題中的「a, --max-auth-age<max-auth-age>」。

AppID 不相符

檢閱 vizportal.log 檔案時,可能會看到「目標受眾與接收者不相符」錯誤。

要解決此問題,請確保 appID 與傳送的內容相符。使用附帶 app 的將應用程序 ID 時,Azure 會自動為 appID 附加「SPN」。可以透過為應用程序 ID 新增「SPN:」首碼變更 Tableau SAML 設定中的值。

例如:SPN:myazureappid1234