在 Tableau Server 上使用 AD FS 設定 SAML
您可以將 Active Directory 聯合服務 (AD FS) 設定為 SAML 身分識別提供者,並將 Tableau Server 新增到支援的單一登入應用程式。如果將 AD FS 與 SAML 和 Tableau Server 集成,使用者可以使用其標準網路認證登入到 Tableau Server。
必要條件
您的環境必須具有以下各項,然後才能使用 AD FS 設定 Tableau Server 和 SAML:
執行 Microsoft Windows Server 2008 R2(或更高版本)並安裝了 AD FS 2.0(或更高版本)及 IIS 的伺服器。
我們建議您保護 AD FS 伺服器的安全(例如,使用反向 Proxy)。如果可從防火牆外部存取您的 AD FS 伺服器,則 Tableau Server 可將使用者重定向到 AD FS 託管的登入頁面。
使用 SHA-2(256 位或 512 位)加密進行加密,並滿足以下部分中列出的其他需求的 SSL 憑證:
步驟 1:確認 AD FS 的 SSL 連線
AD FS 需要 SSL 連線。如果尚未這樣做,請使用符合上面指定要求的憑證完成針對與來往 Tableau Server 的外部 HTTP 流量設定 SSL中的步驟。
或者,如果將 Tableau Server 設定為搭配 SSL 終止(通常稱為 SSL 卸載)所在的反向 Proxy 或負載平衡器使用,則不需要設定外部 SSL。
步驟 2:在 Tableau Server 上設定 SAML
透過將 Tableau Server 中繼資料下載為一個 XML 檔案,完成設定全伺服器的 SAML中的步驟。此時,返回此處並繼續下一部分。
步驟 3:設定 AD FS 以接受來自 Tableau Server 的登入請求
附註: 這些步驟反映協力廠商應用程式,並且會在我方不知道的情況下發生變更。
將 AD FS 設定為接受 Tableau Server 登入請求是一個多步驟過程,這個過程從將 Tableau Server XML 中繼資料檔匯入 AD FS 開始。
執行以下操作之一以開啟新增依賴方信任精靈:
按一下「開始」功能表>「管理工具」>「AD FS 2.0」。
在「AD FS 2.0」中的「信任關係」下,以右鍵按一下「信賴方信任」資料夾,然後按一下「新增信賴方信任」。
開啟「伺服器管理器」,然後在「工具」功能表上按一下「AD FS 管理」。
在「AD FS 管理」中的「動作」功能表上,按一下「新增信賴方信任」。
在「新增信賴方信任精靈」中,按一下「開始」。
在「選取資料來源」頁面上,選取「從檔案匯入有關信賴方的資料」,然後按一下「瀏覽」找到 Tableau Server XML 中繼資料檔。預設情況下,此檔案名為 samlspmetadata.xml。
按一下「下一步」,然後在「指定顯示名稱」頁面上的「顯示名稱」和「備註」方塊中,為信賴方信任鍵入名稱和說明。
按一下「下一步」跳過「立即設定多重驗證」頁面。
按一下「下一步」跳過「選取頒發授權規則」頁面。
按一下「下一步」跳過「準備好新增信任」頁面。
在「完成」頁面上,選中「精靈關閉時開啟此信賴方信任的編輯聲明規則對話方塊」核取方塊,然後按一下「關閉」。
Windows Server 2008 R2:
Windows Server 2012 R2:
接下來,您將在「編輯聲明規則」對話方塊中進行操作,以新增一個規則,來確保 AD FS 傳送的判斷提示與 Tableau Server 需要的判斷提示匹配。Tableau Server 至少需要一個電子郵件地址。不過,如果除電子郵件之外還包括名字和姓氏,則可確保 Tableau Server 中顯示的使用者名與 AD 帳戶中的使用者名相同。
在「編輯聲明規則」對話方塊中,按一下「新增規則」。
在「選取規則類型」頁面上,針對「聲明規則範本」,選取「以聲明方式傳送 LDAP 特性」,然後按一下「下一步」。
在「設定聲明規則」頁面上,針對「聲明規則名稱」,輸入對您有意義的規則名稱。
對於「特性存儲」,選取「Active Directory」,按如下所示方式完成映射,然後按一下「完成」。
映射大小寫視為相異,並且需要準確的拼寫,因此請仔細檢查您輸入的內容。此處的表格會顯示常用屬性及宣告對應。確認具有特定 Active Directory 組態的屬性。
LDAP 屬性 | 輸出信號類型: |
---|---|
SAM-Account-Name | 名稱 ID |
SAM-Account-Name | 使用者名稱 |
名 | firstName |
姓氏 | lastName |
如果您執行 AD FS 2016 或更新版本,則必須新增規則以傳遞所有宣告值。如果您執行的是舊版 AD FS,請跳至下一個程序,以匯出 AD FS 中繼資料。
- 按一下「新增規則」。
- 在「宣告規則範本」下,選擇「傳遞或篩選傳入宣告」。
- 在「宣告規則名稱」下,輸入 Windows。
- 在「編輯規則 - Windows」快顯視窗上:
- 在「傳入宣告類型」下,選取「Windows 帳戶名稱」。
- 選取「傳遞所有宣告值」。
- 按一下「OK」(確定)。
現在,您將匯出稍後將匯入到 Tableau Server 的 AD FS 中繼資料。您還將確保已針對 Tableau Server 對中繼資料進行了正確設定和編碼,並驗證 SAML 設定的其他 AD FS 要求。
將 AD FS 聯合中繼資料匯出為 XML 檔案,然後從 https://<adfs server name>/federationmetadata/2007-06/FederationMetadata.xml 下載該檔案。
在文字編輯器(如 Sublime Text 或 Notepad++)中開啟中繼資料檔,並驗證它是否正確編碼為無 BOM 的 UTF-8。
如果檔案顯示某種其他編碼類型,請使用正確的編碼從文字編輯器中儲存該檔案。
驗證 AD FS 是否使用基於表單的驗證。登入是在瀏覽器視窗中執行的,因此您需要 AD FS 預設使用這種類型的驗證。
編輯 c:\inetpub\adfs\ls\web.config,搜尋相關標記,並移動行以使其顯示為清單中的第一行。儲存檔案,以便 IIS 能夠自動重新載入它。
附註:如果未看到 c:\inetpub\adfs\ls\web.config 檔案,則 AD FS 伺服器上未安裝和設定 IIS。
(可選)僅當針對特定於網站的 SAML 將 AD FS 設定為 IDP 時,才需要執行此步驟。如果針對伺服器範圍的 SAML 將 AD FS 設定為 IDP,則不需要此步驟。
設定其他 AD FS 信賴方識別字。這使得您的系統能夠解決 SAML 登出的任何 AD FS 問題。
執行以下操作之一:
Windows Server 2008 R2:
在 AD FS 2.0 中,以右鍵按一下您之前為 Tableau Server 建立的信賴方,並按一下「屬性」。
在「識別字」索引標籤上的「信賴方識別字」方塊中,輸入 https://<tableauservername>/public/sp/metadata,然後按一下「新增」。
Windows Server 2012 R2:
在「AD FS 管理」的「信賴方信任」清單中,以右鍵按一下您之前為 Tableau Server 建立的信賴方,並按一下「屬性」。
在「識別字」索引標籤上的「信賴方識別字」方塊中,輸入 https://<tableauservername>/public/sp/metadata,然後按一下「新增」。
附註:AD FS 可與 Tableau Server 搭配使用,以用於相同執行個體的單一信賴方。AD FS 無法用於相同執行個體的多個信賴方,例如,多個 site-SAML 站點或全伺服器,以及站點 SAML 組態。
步驟 4:將 AD FS 中繼資料提供給 Tableau Server
返回到 TSM Web UI,並巡覽到 [設定] > [使用者身分和存取] > [驗證方法] 索引標籤。
在 SAML 設定窗口的第 4 步中,輸入從 AD FS 匯出的 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。