使用 OpenID Connect 的要求

本主題介紹將 OpenID Connect 與 Tableau Server 一起使用的要求。

附註:TSM 驗證設定命令僅適用於安裝 Tableau Server 期間在 TSM 中設定的 OIDC 驗證。要變更身分識別集區的 OIDC 驗證設定,您可以借助使用 Tableau REST OpenAPI 的更新驗證設定(連結在新視窗開啟)端點。

要求摘要

  • IdP 帳戶

  • 本機身分識別存放區

  • IdP 聲明 - 對應使用者

  • 驗證內容

IdP 帳戶

您必須對支援 OpenID Connect (OIDC) 協定的身分提供程式 (IdP) 具有存取權限。您還必須擁有 IdP 帳戶。許多身分提供程式支援 OpenID Connect。OIDC 通訊協定是一個開放和靈活的標準,因此,並非所有標準實現都是相同的。為 OIDC 設定 Tableau Server 時,使用您的 IdP。

Google IdP 實施已使用 Tableau Server 進行了廣泛測試,並且是這些主題中記錄的設定的模型 IdP。

本機身分識別存放區

要在 Tableau Server 上使用 OpenID Connect,必須滿足以下條件之一:

  • 如果 Tableau Server 設定時,要在 TSM 中設定 OIDC,必須將 Tableau Server 設定為使用本機身份存放區。必須設定伺服器,以便您在 Tableau Server 上以明確的方式建立使用者,而不是從外部目錄(例如 Active Directory)匯入使用者。OpenID 不支援使用外部身分存放區來管理使用者。
  • 如果使用身份集區(連結在新視窗開啟)設定 OIDC,OIDC 可以設定為 1) 本機身份存放區或者 2) AD 或 LDAP 是在 Tableau Server 設定期間在 TSM 中設定的身份存放區。

IdP 聲明 - 對應使用者

要成功登入 Tableau Server,必須在 OpenID 中設定給定使用者,然後將其對應到 Tableau Server 上的使用者帳戶。OpenID 使用依賴於聲明的方法與其他應用程式共用使用者帳戶屬性。宣告包括使用者帳戶屬性,例如電子郵件、電話號碼、既定名稱等。若要瞭解 Tableau Server 如何將宣告對應到使用者帳戶,請參閱OpenID Connect

Tableau Server 依賴於 IdP 聲明將 IdP 中的使用者帳戶對應到 Tableau Server 上託管的使用者帳戶。預設情況下, Tableau Server希望 IdP 傳遞電子郵件聲明。根據您的 IdP,您可能需要將 Tableau Server 設定為使用其他 IdP 宣告。

如果使用 Google 作為 IdP,則使用預設的 email 聲明將 IdP 身分對應到 Tableau Server 使用者帳戶。如果未使用 Google 作為 IdP,則與您的 IdP 合作來確定應針對其設定 Tableau Server 的聲明。

預設值:使用 email 聲明來對應使用者

預設情況下, Tableau Server 中使用者的使用者名必須與 IdP ID 權杖中的 email 聲明相符。因此,在預設設定中,您必須使用電子郵件地址(也稱為 UPN)作為 Tableau Server 中的使用者名。如果使用 Google 作為 IdP,Tableau Server 中的使用者名必須是使用者的 Gmail 地址 (alice@gmail.com)。使用完整的電子郵件地址可說明保證使用者名在 Tableau Server 中的唯一性,即使兩個使用者具有相同的電子郵件但位於不同的電子郵件主機上也是如此。

附註:Tableau Server 中建立使用者身分時,您將指定使用者名、密碼,並根據需要指定電子郵件地址。對於在預設設定中使用 OpenID Connect,使用者名(表示為電子郵件地址)是必須與使用者在 IdP 中的名稱相符的值。Tableau Server 使用者身分中的可選電子郵件地址不用於 OpenID 驗證。

忽略功能變數名稱

將 IdP email 宣告配對至 Tableau Server上的使用者帳戶時,您可以將 Tableau 設定為忽略電子郵件地址的網域部分。在此情形下,IdP 中的 email 聲明可能是 alice@example.com,但此使用者將與 Tableau Server 中名為 alice 的使用者相符。如果已在 Tableau Server 中定義了與 email 聲明的使用者名部分相符(但與域部分不相符)的使用者,則忽略功能變數名稱可能很有用。

重要資訊:在未採取預防措施的情況下,我們不建議忽略使用者功能變數名稱。具體來說,請驗證使用者名在您在 IdP 中建立的已設定域中是否唯一。

如果將 Tableau Server 設定為忽略使用者功能變數名稱,則可能會導致意外的使用者登入。請考慮為多個網域(example.comtableau.com)設定了您的 IdP 的情況。如果組織中有兩個名字相同但使用者帳戶(alice@tableau.comalice@example.com)不同的使用者,則要完成 OpenID 設定順序的第一個使用者將在 IdP 中聲明 sub 對應。如果對應了錯誤的使用者,則另一個使用者將無法登入,直到重設關聯的 sub 值為止。

若要將 Tableau Server 設定為從 IdP 中忽略使用者名中的功能變數名稱,請將 tsm authentication openid configure --ignore-domain 設定為 true。有關詳情,請參閱tsm authentication openid <commands>

將 TSM 驗證 OpenID 設定 --ignore-domain 選項變更為忽略使用者名稱中的網域時,Tableau Server 中的所有使用者名稱都必須包含網域名稱。

使用自訂聲明對應使用者

OpenID Connect中所述,IdP 聲明中通常包括 sub 聲明。通常,sub 聲明是標識給定使用者帳戶的唯一字串。使用 sub 聲明的好處在於:即使您或其他管理員更新了與該帳戶關聯的其他使用者屬性或 IdP 聲明(電子郵件、電話號碼等),它也不會變更。預設情況下,Tableau Server 可依據 IdP ID 權杖中的 sub 聲明來識別和驗證 OpenID 使用者。

必須將 OpenID sub 聲明值對應到 Tableau Server 中的對應使用者。因為 sub 聲明是任意字串,因此在首次登入會話期間會使用不同的聲明來關聯帳戶。使用者首次使用 OpenID 登入 Tableau Server 時,Tableau 會將 OpenID 使用者帳戶與 Tableau Server 上的對應使用者帳戶相符。預設情況下,Tableau 將使用 IdP 聲明 email 來標識 Tableau 使用者。Tableau 隨後將使用 OpenID 中的 sub 聲明更新該使用者的記錄。由於 ID 權杖始終隨其他權杖一起包括 sub 聲明,因此,在後續會話中,Tableau 將僅使用 sub 聲明來標識該使用者。

對於某些組織,使用電子郵件地址對應使用者名不可靠,並且不受 IdP 支援。從 Tableau Server 10.2 開始,您可以將任何 IdP 聲明中的使用者帳戶對應到 Tableau Server 使用者名。

您使用的 IdP 聲明必須確切對應到對應的 Tableau Server 使用者名。在以下的範例中,使用者名為 kwilliams

若要變更用於在 Tableau Server 上對應身分的 IdP 聲明,請使用 tsm authentication openid map-claims --user-name 命令。有關詳情,請參閱tsm authentication openid <commands>

變更 sub 聲明

如上所述,sub 聲明是 Tableau Server 用於在初始對應會話後標識使用者的識別字。sub 聲明將寫入 Tableau Server 中的對應使用者帳戶。如果您的 IdP 未提供 sub 聲明,則您可以改為指定使用任何聲明。像 sub 一樣,您指定的聲明值必須唯一,並且在其他使用者聲明更新時不應變更。

若要為預設 sub 聲明指定其他 IdP 聲明,請使用 tsm authentication openid map-claims --id 命令。有關詳情,請參閱tsm authentication openid <commands>

其中,arbitraryClaim 是要用作 sub 聲明替代項的 IdP 聲明的名稱。

驗證內容

若 OpenID Connect IdP 需要特定的驗證內容,則可以使用 vizportal.openid.essential_acr_valuesvizportal.openid.voluntary_acr_values 設定金鑰來指定基本和自發 ACR 值的清單。有關詳情,請參閱 tsm configuration set 選項

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