在希望 Tableau Server 上的所有單一登入 (SSO) 使用者透過單一 SAML 身分識別提供者 (IdP) 進行驗證時設定伺服器範圍 SAML,或作為第一步在多網站環境中設定特定於網站的 SAML。

如果設定了伺服器範圍 SAML 並已準備好設定網站,請參閱設定特定於網站的 SAML

我們提供的 SAML 設定步驟假設:

  • 熟悉用於在 Tableau Server 上設定 SAML 驗證的選項,如SAML主題中所述。

  • 您已經驗證了您的環境符合 SAML 要求,並獲得了這些要求中描述的 SAML 憑證檔案。

開始之前

收集憑證檔案並置於 Tableau Server 上。

在 Tableau Server 資料夾中,建立一個名為 SAML 的新資料夾,並將 SAML 憑證檔案的副本放在該資料夾中。例如:

/var/opt/tableau/tableau_server/data/saml

作為災難復原計劃的一部分,我們建議將憑證和 IdP 檔案的備份儲存在 Tableau Server 之外的安全位置。您上載到 Tableau Server 的 SAML 資產檔案將由用戶端檔案服務儲存並散發至其他節點。但是,這些檔案不會以可復原的格式儲存。請參閱Tableau Server Client File Service

附註:如果為 SSL 使用相同的憑證檔案,您可以選取使用現有憑證位置用於設定 SAML,並在該程序中稍後下載 IdP 中繼資料檔時將其新增到該目錄。有關詳情,請參閱 SAML 需求中的針對 SAML 使用 SSL 憑證和金鑰檔案

如果您在叢集中執行 Tableau Server,則 SAML 憑證、金鑰和中繼資料檔案會在您啟用 SAML 時自動發佈到所有節點。

執行此程序時,您必須將 SAML 憑證上載至 TSM,使其正確儲存並散發在伺服器組態中。在此程序中,您必須可在執行 TSM Web 介面的本機電腦上透過瀏覽器使用 SAML 檔案。

如果您已依照上一節的建議,將 SAML 檔案收集並儲存到 Tableau Server 中,請從您複製檔案的 Tableau Server 電腦執行 TSM Web 介面。

如果您要從不同的電腦執行 TSM Web 介面,則必須先在本機複製所有 SAML 檔案,再繼續作業。請依照下列程序,瀏覽至本機電腦上的檔案,將其上載至 TSM。

  1. 在瀏覽器中開啟 TSM:

    https://<tsm-computer-name>:8850。有關詳情,請參閱登入到 Tableau 服務管理器 Web UI

  2. 「設定」索引標籤上,選取「使用者身分和存取」,然後選取「驗證方法」索引標籤。

    Tableau 服務管理員使用者身份驗證設定

  3. 對於「驗證方法」,選取「SAML」

  4. 在出現的「SAML」部分完成 GUI 中的步驟 1,同時輸入以下設定(不要選取核取方塊來為伺服器啟用 SAML):

    • Tableau Server 返回 URLTableau Server 使用者將存取的 URL,例如 https://tableau-server。

      不支援使用 https://localhost 或結尾有斜杠的 URL(例如,http://tableau_server/)。

    • SAML 實體 ID — 向 IdP 唯一識別您的 Tableau Server 安裝的實體 ID。

      可以在此處再次輸入您的 Tableau Server URL。如果打算稍後啟用特定於網站的 SAML,此 URL 還充當每個網站的唯一 ID 的基礎。

    • SAML 憑證和金鑰檔案 — 按一下「選取檔案」以上載各個檔案。

      若您使用的是 PKCS#8 複雜密碼保護的金鑰檔案,則必須使用 TSM CLI 來輸入複雜密碼:

      tsm configuration set -k wgserver.saml.key.passphrase -v <passphrase>

      在 GUI 中的步驟 1 中提供所需的資訊之後,GUI 中步驟 2 中的「下載 XML 中繼資料檔案」按鈕將變為可用。

  5. 現在選取 GUI 中「步驟 1」上方的「為伺服器啟用 SAML 驗證」核取方塊。

  6. 完成其餘 SAML 設定。

    1. 在 GUI 中的步驟 2 和步驟 3 中,在 Tableau Server 和 IdP 之間交換中繼資料。(您可能需要在此處查閱 IdP 的文件。)

      選取「下載 XML 中繼資料檔案」,並指定檔案位置。

      對於其他 IdP,轉到您的 IdP 帳戶,以將 Tableau Server 新增到其應用程式(作為服務提供者),並根據情況提供 Tableau 中繼資料。

      按照 IdP 的網站或文件中的說明進行操作,下載 IdP 的中繼資料。將 .xml 檔案儲存到包含 SAML 憑證和金鑰檔的同一位置。例如:

      /var/opt/tableau/tableau_server/data/saml/idp-metadata.xml

    2. 返回到 TSM Web UI。在 GUI 中的步驟 4 中,輸入 IdP 中繼資料檔案的路徑,然後按一下「選取檔案」

      螢幕擷取畫面醒目提示您上傳 SAML IDP 中繼資料的 TSM UI 區域

    3. 在 GUI 中的步驟 5 中:在某些情況下,您可能需要變更 Tableau Server 設定中的判斷提示值,以符合由 IdP 傳遞的判斷提示名稱。

      您可以在 IdP 的 SAML 設定中找到判斷提示名稱。如果判斷提示名稱是由 IdP 傳遞而來,則您必須更新 Tableau Server 以使用相同的判斷提示值。

      提示:「判斷提示」是關鍵 SAML 元件,而對應判斷提示的概念起初可能難以捉摸。將這一概念放在表格式資料的上下文中可能有所幫助,在該上下文中,判斷提示(屬性)名稱相當於表中的列標題。您輸入該「標題」名稱,而不是可能出現在該列中的值的範例。

    4. 在 GUI 中的步驟 6 中,選取要在其中為使用者提供單一登入體驗的 Tableau 應用程式。

      附註:執行 Tableau Mobile 應用程式 19.225.1731 版及更新版本的裝置,會忽略停用行動存取的選項。若要針對執行該等版本的裝置停用 SAML 驗證,您必須在 Tableau Server 上停用 SAML 做為用戶端登入選項。

    5. 對於 SAML 登出重新導向,如果 IdP 支援單一登出 (SLO),請輸入您希望使用者登出後將其重新導向前往的頁面(相對於您為 Tableau Server 傳回 URL 輸入的路徑)。

    6. (可選)如果是 GUI 中的第 7 步,請執行以下操作:

      • AuthNContextClassRef 屬性新增一個以逗號分隔的值。有關如何使用此屬性的詳情,請參閱 SAML 相容性附註:事項和要求

      • 如果不將域作為使用者名稱的一部分傳送,則指定網域屬性(即,domain\username )。有關更多資訊,請參閱 執行多個網域

  7. 輸入設定資訊後,按一下「儲存暫止的變更」

  8. 按一下頁面頂端的「暫止的變更」

  9. 按一下「套用變更並重新啟動」

開始之前

前往 IdP 的網站或應用程式,並匯出 IdP 的中繼資料 XML 檔案。

確認您從 IdP 獲得的中繼資料 XML 是否包括繫結設定為 HTTP-POSTSingleSignOnService 元素,如以下範例中所示:

<md:SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://SERVER-NAME:9031/idp/SSO.saml2"/>

步驟 1:設定傳回 URL、SAML 實體 ID,並指定憑證和金鑰檔案

  1. 開啟命令提示字元殼層,並設定伺服器的 SAML 設定(以您的環境路徑及檔案名稱取代預留位置的值)。

    tsm authentication saml configure --idp-entity-id https://tableau-server --idp-metadata /var/opt/tableau/tableau_server/data/saml/<metadata-file.xml> --idp-return-url https://tableau-server --cert-file /var/opt/tableau/tableau_server/data/saml/<file.crt> --key-file /var/opt/tableau/tableau_server/data/saml/<file.key>

    有關詳情,請參閱 tsm authentication saml configure

  2. 如果您使用採用複雜密碼保護的 PKCS#8 金鑰,請如下輸入複雜密碼:

    tsm configuration set -k wgserver.saml.key.passphrase -v <passphrase>

  3. 如果尚未在 Tableau Server 上啟用 SAML;例如,您是第一次設定它,或者您已經停用它,請立即啟用它:

    tsm authentication saml enable

  4. 套用變更:

    tsm pending-changes apply

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

步驟 2:產生 Tableau Server 中繼資料並設定 IdP

  1. 執行以下命令為 Tableau Server 產生所需的 XML 中繼資料檔案。

    tsm authentication saml export-metadata -f <file-name.xml>

    您可以指定一個檔案名,或者省略 -f 參數來建立一個名為 samlmetadata.xml 的預設檔案。

  2. 在您的 IdP 網站上或在其應用程式中:

    • 新增 Tableau Server 作為服務提供程式。

      有關如何執行此操作的資訊,請參閱 IdP 的文件集。在將 Tableau Server 設定為服務提供程式的過程中,您將匯入透過 export-metadata 命令組建的 Tableau Server 中繼資料檔案。

    • 確認您的 IdP 使用 username 作為屬性來驗證使用者。

第 3 步:符合判斷提示

在某些情況下,您可能需要變更 Tableau Server 設定中的判斷提示值,以符合由 IdP 傳遞的判斷提示名稱。

您可以在 IdP 的 SAML 設定中找到判斷提示名稱。如果判斷提示名稱是由 IdP 傳遞而來,則您必須更新 Tableau Server 以使用相同的判斷提示值。

提示:「判斷提示」是關鍵 SAML 元件,而對應判斷提示的概念起初可能難以捉摸。將這一概念放在表格式資料的上下文中可能有所幫助,在該上下文中,判斷提示(屬性)名稱相當於表中的列標題。您輸入該「標題」名稱,而不是可能出現在該列中的值的範例。

下表顯示預設的判斷提示值和儲存值的設定金鑰。

判斷提示 預設值 主要
使用者名稱 username wgserver.saml.idpattribute.username
顯示名稱 displayName

Tableau 不支援此屬性類型。

電子郵件 email

Tableau 不支援此屬性類型。

網域 (預設不對應) wgserver.saml.idpattribute.domain

若要變更指定值,請使用適當的機碼值組執行 tsm configuration set 命令。

例如,若要將 username 判斷提示變更為 name 值,請執行以下命令:

tsm configuration set -k wgserver.saml.idpattribute.username -v name

tsm pending-changes apply

或者,可以使用 tsm authentication saml map-assertions 來變更指定值。

例如,要將網域判斷提示設定為名為 domain 的值,並將其值指定為「example.myco.com」,請執行以下命令:

tsm authentication saml map-assertions --domain example.myco.com

tsm pending-changes apply

選用:讓用戶端類型停用 SAML

預設情況下,Tableau Desktop 和 Tableau Mobile 應用程式皆允許使用 SAML 驗證。

如果您的 IdP 不支援此功能,您可以使用以下命令為 Tableau 用戶端停用 SAML 登入。

tsm authentication saml configure --desktop-access disable

tsm authentication saml configure --mobile-access disable

附註:執行 Tableau Mobile 應用程式 19.225.1731 版及更新版本的裝置會忽略 --mobile-access disable 選項。若要針對執行該等版本的裝置停用 SAML 驗證,您必須在 Tableau Server 上停用 SAML 做為用戶端登入選項。

tsm pending-changes apply

可選:新增 AuthNContextClassRef 值

AuthNContextClassRef 屬性新增一個以逗號分隔的值。有關如何使用此屬性的詳情,請參閱 SAML 相容性附註:事項和要求

若要設定此屬性,請執行以下命令:

tsm configuration set -k wgserver.saml.authcontexts -v <value>

tsm pending-changes apply

測試設定

  1. 在 Web 瀏覽器中,開啟一個新頁面或標籤,並輸入 Tableau Server URL。

    瀏覽器會將您重定向到 IdP 的登入表單。

  2. 輸入您的單一登入使用者名和密碼。

    IdP 將驗證您的認證,並將您重定向回 Tableau Server 開始頁面。

感謝您的意見回饋!