OpenID Connect

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

設定 OpenID Connect 的過程包含若干步驟。本節中的主題提供有關將 Tableau Server 與 OpenID Connect 一起使用的一般資訊,並提供用於設定 IdP 和 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。Tableau Server 也是 IdP 的用戶端。此步驟旨在防止假冒或中間人攻擊。

步驟 6:IdP 將存取權杖和 ID 權杖返回給 Tableau Server。

  • JSON Web 權杖 (JWT) 驗證:預設情況下,Tableau Server 會對 IdP JWT 執行驗證。在發現過程中,Tableau Server 將在 IdP 設定發現文件中檢索 jwks_uri 指定的公開金鑰。Tableau Server 將驗證 ID 權杖是否過期,並驗證 JSON Web 簽名 (JWS)、頒發者 (IdP) 和用戶端 ID。您可以在 OpenID 文件中詳細瞭解 JWT 處理序。10.簽名和加密(連結在新視窗開啟)以及 IETF 建議標準 JSON Web 權杖(連結在新視窗開啟)。我們建議一直啟用 JWT 驗證,除非 Idp 不支援。

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

    "sub"                     : "7gYhRR3HiRRCaRcgvY50ubrtjGQBMJW4rXbpPFpg2cptHP62m2sqowM7G1LwjN5"
    "email"                   : "alice@tableau.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 Server 如何使用 OpenID Connect

OpenID Connect 是一種靈活的協議,對於服務提供者(本文中為 Tableau Server)和 IdP 之間交換的資訊,此協定支援許多選項。以下清單提供了有關 OpenID Connect Tableau Server 實現的詳情。這些詳細資料可以說明您瞭解所傳送和需要的資訊類型Tableau Server,以及如何設定 IdP。

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

  • Tableau Server 依賴於使用發現或提供程式 URL 來檢索 OpenID 提供程式中繼資料。或者,您可以將靜態發現文件託管在 Tableau Server 上。有關詳情,請參閱針對 OpenID Connect 設定 Tableau Server

  • Tableau Server 僅支援 OpenID Connect 規範中指定的 client_secret_jwt 用戶端驗證方法。此外,Tableau Server 僅支援用 RSA 非對稱加密來處理 JWT。不過,您可以關閉 JWT 驗證。請參閱tsm authentication openid <commands>

  • 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。無法將 OpenID 設定為接受本機作業系統 Proxy 設定。Tableau Server 必須能夠與網際網路進行通訊。

此區段的其他文章

感謝您的意見回饋!