在 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 之前,您的環境必須具有以下各項:
使用 SHA-2(256 位元或 512 位元)加密的 SSL 憑證,且其滿足以下部分列出的其他要求:
如果您的使用者從不是預設網域的網域登入,請查看使用外部識別身分存放區進行部署中的使用者管理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 屬性 | 輸出信號類型: |
---|---|
onpremisessamaccountname | username |
名 | firstName 附註:此為可選選項。 |
姓氏 | lastName 附註:此為可選選項。 |
netbiosname | domain 附註:僅當您的使用者從非預設網域的網域中登入時才需要這樣做。 |
在某些組織中,Azure AD 會作為 SAML IdP 與 Active Directory 一起用作 Tableau Server 的身分識別存放區。在這種情況下,username
通常為 sAMAccountName 名稱。請參閱 Microsoft 的文件,以識別 Azure AD 中的 sAMAccountName 屬性以對應到 username
屬性。
步驟 4:將 Azure AD 中繼資料提供給 Tableau Server
返回到 TSM Web UI,並巡覽到 [設定] > [使用者身分和存取] > [驗證方法] 索引標籤。
在 SAML 設定窗格的步驟 4 中,輸入從 Azure AD 匯出的 XML 檔案的位置,然後選取上傳。
完成設定全伺服器的 SAML 中指定的剩餘的步驟(比對判斷提示和指定用戶端類型存取)。儲存並套用變更。
若這不是第一次設定 SAML,請執行下列步驟:
停止 Tableau Server,打開 TSM CLI,然後執行以下命令。
tsm configuration set -k wgserver.saml.sha256 -v true
tsm authentication saml configure -a -1
套用變更:
tsm pending-changes apply
如果擱置組態需要重新啟動伺服器,
pending-changes apply
命令將顯示提示,讓您知道即將重新啟動。即使伺服器已停止,也會顯示提示,但在這種情況下不會重新啟動。您可以使用--ignore-prompt
選項隱藏提示,但這樣做不會改變重新啟動行為。如果變更不需要重新啟動,則不會出現提示即可套用變更。有關詳情,請參閱 tsm pending-changes apply。
若正在 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