针对 OpenID Connect 配置 Tableau Cloud

本主题描述如何将 Tableau Cloud 配置为使用 OpenID Connect (OIDC) 进行单点登录 (SSO)。这是由多个步骤组成的过程中的一步。以下主题提供有关配置以及将 OIDC 与 Tableau Cloud 一起使用的信息。

  1. OpenID Connect 概述

  2. 针对 OpenID Connect 配置身份提供程序

  3. 针对 OpenID Connect 配置 Tableau Cloud(此部分)

注意:

要求

参数

  • 客户端 ID:该值由 IdP 颁发,指定已注册 Tableau Cloud 的标识符。这使得 IdP 能够知道身份验证请求来自何处。

  • 客户端密文:这是 Tableau Cloud 用于验证来自 IdP 的响应的真实性的令牌。此值应妥善保管。

  • 配置 URL:此值指定对用户进行身份验证后 IdP 重定向到的 URL。URL 必须包括主机和协议(例如,https://dev-555555-admin.oktapreview.com/oauth2/default/.well-known/openid-configuration),但 Tableau 会提供 URL 端点。指定包含 OpenID 提供程序元数据的提供程序配置发现文档的位置。

    注意:如果您的 IdP 未提供配置 URL(即以 .well-known/openid-configuration 结尾的 URL),请考虑使用 Tableau REST API 中的OpenID Connect 身份验证方法(链接在新窗口中打开)来配置 OIDC。

可选参数

可以使用 Tableau REST API 中的 OpenID Connect 身份验证方法(链接在新窗口中打开)配置以下可选参数。

  • 提示:提示用户重新认证并同意。默认情况下,用户同意处于打开状态。

  • 自定义范围:用于查询 IdP 的自定义范围用户相关值。

  • 客户端身份验证:令牌端点身份验证方法。默认值为 'client_secret_basic'。支持值 'client_secret_post'

  • 基本 ACR 值:用于身份验证的基本身份验证上下文参考类值的列表。

  • 自愿 ACR 值:用于身份验证的自愿身份验证上下文参考类值的列表。

声明

若要成功登录到 Tableau Cloud,必须在 OpenID Connect (OIDC) IdP 中预置给定用户,然后将其映射到 Tableau Cloud 上的用户帐户。OIDC 使用依赖于声明的方法与其他应用程序共享用户帐户属性。Tableau Cloud 依赖于 IdP 声明将 IdP 中的用户帐户映射到 Tableau Cloud 上托管的用户帐户。声明包括用户帐户属性,例如电子邮件、名字等。若要了解 Tableau Cloud 如何将 IdP 声明映射到用户帐户,请参见身份验证概述

注意:声明区分大小写。

  • 用户名:默认情况下,Tableau Cloud IdP 传递用户名声明。根据您的 IdP,您可能需要将 Tableau Cloud 配置为使用其他 IdP 声明。

    注意:Tableau Cloud 中的用户名是不可变的,无法随时更新。

  • 姓名声明:您可以指定姓名或姓氏来检索用户的 DisplayName。

步骤 1:配置 OpenID Connect

  1. 以站点管理员身份登录到 Tableau Cloud 并选择“设置”>“身份验证”

  2. 在“身份验证”选项卡上,选择“OpenID Connect (OIDC”)。

  3. 按照以下步骤,通过执行以下操作来配置 Tableau Cloud 以进行 OIDC 身份验证:

    1. 在步骤 1 中,输入 IdP 提供的所需信息,包括客户端 ID、客户端密文和配置 URL。

    2. 在步骤 2 中,复制将粘贴到 IdP 门户中的 Tableau Cloud 重定向 URL,以在用户进行身份验证后重定向用户。

    3. 在步骤 3 中,输入声明以确保用户用户名和显示名称的正确映射。

    4. 在步骤 4 中,如果您的 IdP 支持,可以选择启用单点注销 (SLO)。

    5. 在步骤 5 中,可以选择用户在访问嵌入视图时进行身份验证的方式:在单独的弹出窗口中或使用内联 iFrame。

      注意:您可以在“身份验证”页面上的“嵌入视图的默认身份验证类型”部分(位于 OIDC 配置步骤下方)下选择嵌入视图的身份验证类型。

  4. 完成后,单击“保存更改”按钮。

注意:编辑 OIDC 配置时,客户端密文是隐藏的,需要重新输入才能保存任何更改。

步骤 2:测试配置

我们强烈建议您测试配置以避免任何锁定情况。测试配置有助于确保在将用户的身份验证类型更改为 OIDC 之前正确配置了 OIDC。为了成功测试配置,请确保至少有一个您可以登录的用户,该用户已在 IdP 中预置并添加到 Tableau Cloud 中,并配置了 OIDC 身份验证类型。

注意:如果您不确定声明是什么,请完成配置并测试配置。测试配置将生成一个新窗口,其中包含声明映射详细信息,包括用户名和显示名称声明。某些 IdP 可能会将电子邮件地址映射到 Tableau 用户名。

  1. 在选择 OpenID Connect (OIDC) 的“身份验证”选项卡上,在步骤 6 下单击“测试配置”按钮。将显示一个新窗口,其中包含有关配置的详细信息。

  2. 完成后,按照以下步骤将用户添加到您的站点,从而完成 OIDC 设置。

步骤 3:将用户添加到启用 OpenID Connect 的 Tableau 站点

本节中描述的步骤是在 Tableau Cloud 的“用户”页面上执行的。

  1. 完成上述步骤后,返回 Tableau Cloud 站点。

  2. 从左侧窗格中,选择“用户”页面。

  3. 按照向站点添加用户主题中描述的过程进行操作。

疑难解答

使用以下主题在 Tableau Cloud 中排查 OpenID Connect (OIDC) 问题。

许多身份提供程序支持 OIDC 协议。OIDC 协议是一个开放和灵活的标准,因此,并非所有标准实现都是相同的。管理员在为 OIDC 配置 Tableau Cloud 时遇到的大多数问题是不同身份提供程序实现 OIDC 的结果。如果您在设置 OIDC 以及 Tableau Cloud 时遇到错误,我们建议您使用 IdP 来解决它们。

从命令行登录

即使 Tableau Cloud 配置为使用 OIDC,但如果您使用 tabcmdREST API(链接在新窗口中打开)Tableau 数据提取命令行实用工具(链接在新窗口中打开)(随 Tableau Desktop 提供)登录 Tableau Cloud,也不会使用 OIDC 身份验证。

登录失败

在某些情况下,登录 Tableau Cloud 可能会失败并显示以下消息:

Login failure: Identity Provider authentication unsuccessful for user <username_from_IdP>.Failed to find the user in Tableau Cloud.(登录失败:用户 <username_from_IdP> 的身份提供程序身份验证成功。未能在 Tableau Cloud 中找到用户。)

此错误通常意味着 Tableau Cloud 中存储的用户名与 IdP 提供的用户名之间存在不匹配。为了解决此问题,请确保用户名值匹配。例如,如果 Jane Smith 的用户名在 IdP 中存储为“jsmith@example.com”,那么它在 Tableau Cloud 中也必须存储为“jsmith@example.com”。

感谢您的反馈!您的反馈已成功提交。谢谢!