OpenID Connect

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

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

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

驗證概述

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

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 文件 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 Server 如何與 OpenID Connect 搭配使用

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

  • Tableau Server 僅支援 OpenID 授權代碼流程,如 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 中所述進行其他變更。

感謝您的意見反應!已成功提交您的意見回饋。謝謝!