OpenID Connect

可以設定 Tableau Server,以支援 OpenID Connect (OIDC) 實作單一登入 (SSO)。OIDC 是一種標準驗證通訊協定,它使使用者能夠登入到諸如 Google 等身分識別提供者 (IdP) 或 Salesforce。成功登入其 IdP 後,他們將自動登入 Tableau Server

設定 OIDC 的過程包含若干步驟。本節中的主題會提供有關將 Tableau Server 與 OIDC 結合使用的一般資訊,並提供設定 IdP 和 Tableau Server 的順序。

附註: 除非另有說明,否則有關 OIDC 驗證的資訊適用於在 Tableau Server 設定期間在 TSM 中設定的 OIDC 驗證或使用 身份集區(連結在新視窗開啟)

驗證概述

本節會介紹 OpenID Connect (OIDC) 在 Tableau Server 的驗證流程。

說明 Tableau Server、用戶端和 OpenID Connect 之間互動的圖表。

1.使用者嘗試從用戶端電腦登入 Tableau Server

2.Tableau Server 驗證請求重新導向 IdP 閘道。

3.提示使用者輸入認證,並成功向 IdP 進行驗證。IdP 會以重新導向回 Tableau Server 的 URL 回應。重新導向 URL 中包括使用者的授權代碼。

4.用戶端被重新導向到 Tableau Server,並顯示授權碼。

5. Tableau Server 會將用戶端的授權碼及其自己的用戶端認證提供給 IdP。 也是 IdP 的用戶端。此步驟旨在防止假冒或中間人攻擊。

6.IdP 會向 Tableau Server 傳回存取權杖和 ID 權杖。

  • JSON Web 權杖 (JWT) 驗證:預設情況下,Tableau 會執行對 IdP JWT 的驗證。在探索期間,Tableau 會擷取 IdP 設定探索文件中 jwks_uri 指定的公開金鑰。Tableau 會驗證 ID 權杖是否到期,然後驗證 JSON Web 簽章 (JWS)、簽發者 (IdP) 和用戶端 ID。您可以在 OpenID 文件 10(連結在新視窗開啟) 中了解更多有關 JWT 過程的資訊。簽名和加密(連結在新視窗開啟)以及 IETF 建議標準 JSON Web 權杖(連結在新視窗開啟)。我們建議一直啟用 JWT 驗證,除非 Idp 不支援。

  • ID 權杖是使用者的一組屬性金鑰對。該金鑰對稱為聲明。下面是使用者的一個範例 IdP 聲明:

    "sub"                     : "7gYhRR3HiRRCaRcgvY50ubrtjGQBMJW4rXbpPFpg2cptHP62m2sqowM7G1LwjN5"
    "email"                   : "alice@example.com",
    "email_verified"          : true,
    "name"                    : "Alice Adams",
    "given_name"              : "Alice",
    "family_name"             : "Adams",
    "phone_number"            : "+359 (99) 100200305",
    "profile"                 : "https://tableau.com/users/alice"		

7. Tableau Server 會根據 IdP 宣告識別使用者,並完成步驟 1 中的驗證請求。Tableau Server 會藉由比對「sub」(主體識別碼)來搜尋儲存在存放庫中的使用者帳戶記錄,以識別正確的使用者帳戶。如果子宣告值未儲存任何使用者帳戶,則 Tableau Server 會在存放庫中搜尋符合 IdP 提供之「email」(電子郵件)宣告的使用者名稱。使用者名稱匹配成功後, Tableau Server 會將對應的子聲明儲存到儲存庫中的使用者記錄中。可將 Tableau Server 設定為此過程使用不同的聲明。查看 使用 OpenID Connect 的要求

8. Tableau Server 會對使用者進行授權。

Tableau 如何使用 OpenID Connect

OpenID Connect (OIDC) 是一種靈活的通訊協定,支援服務提供者(此處為 Tableau Server)和 IdP 之間交換資訊的多種選項。以下清單提供有關 Tableau Server 實作 OIDC 的詳細資訊。這些詳細資訊可以幫助您瞭解 Tableau Server 傳送和期望哪些類型的資訊,以及如何設定 IdP。

  • Tableau Server 僅支援 OpenID 授權碼流程,如 OpenID Connect 文件中的 OpenID Connect 最終規格(連結在新視窗開啟)中所述。

  • Tableau Server 依賴使用探索或提供者 URL 來擷取 OpenID 提供者中繼資料。或者,您可以在 Tableau Server 上託管靜態探索文件。有關詳情,請參閱為 OpenID Connect 設定 Tableau Server

  • Tableau Server 支援 client_secret_basicclient_secret_post 用戶端驗證.

  • id_token 屬性的 JOSE 標頭中,Tableau Server 需要 kid 值。此值與 JWK 集文件中發現的關鍵字之一相符,此文件的 URI 由 OpenID 發現文件中的 jwks_uri 值指定。即使 JWK 集文件中只有一個關鍵字,也必須存在 kid 值。

  • Tableau Server確實包括 OpenID 支援,支援 JWK x5c 參數或支援使用 X.509 證書。

  • 預設情況下,Tableau Server 會忽略 Proxy 設定並將所有 OpenID 請求直接傳送到 IdP。

    如果將 Tableau Server 設定為使用正向 Proxy 連線到網際網路,則必須按照為 OpenID Connect 設定 Tableau Server 中所述進行其他變更。