Tableau Server 支持为多种不同的连接器使用 OAuth。在多数情况下,OAuth 功能不需要在 Tableau Server 上进行额外配置。

从 Tableau 中,当用户通过使用 OAuth 的提供程序登录到数据时,用户将被重定向到身份验证提供程序的登录页面。用户提供凭据并授权 Tableau 访问其数据后,身份验证提供程序会向 Tableau 发送访问令牌,该令牌唯一标识 Tableau 的请求和用户。此访问令牌用于代表用户访问数据。有关详细信息,请参见下面的 OAuth 进程概述

使用基于 Oauth 的连接可提供以下好处:

  • 安全:您的数据库凭据从不会被 Tableau Server 知道或存储在其中,并且访问令牌只能由 Tableau 代表用户使用。

  • 方便:不必在多个位置嵌入您的数据源 ID 和密码,您可以对访问特定数据提供程序的所有已发布工作簿和数据源使用为该数据提供程序提供的令牌。

    注意:对于 Google BigQuery 数据的实时连接,每个工作簿 Viewer(查看者)都可以拥有标识用户的唯一访问令牌,而不是共享单个用户名和密码凭据。

OAuth 进程概述

下列步骤介绍 Tableau 环境中调用 OAuth 过程的一个工作流。

  1. 用户执行的操作需要访问基于云的数据源。

    例如,您打开发布到 Tableau Server 的工作簿。

  2. Tableau 将用户定向到云数据提供程序的登录页面。发送给数据提供程序的信息将 Tableau 标识为请求站点。

  3. 当用户登录到数据时,提供程序会提示用户确认其授权 Tableau Server 访问数据。

  4. 用户确认后,数据提供程序会向 Tableau Server 发送访问令牌。

  5. Tableau Server 向用户显示工作簿和数据。

下列用户工作流可以使用 OAuth 进程:

  • 从 Tableau Desktop 或从 Tableau Server 创建工作簿并连接到数据源。

  • 从 Tableau Desktop 发布数据源。

  • 从诸如 Tableau Mobile 或 Tableau Desktop 等批准的客户端登录Tableau Server

默认已保存凭据连接器

已保存凭据是指 Tableau Server 存储 OAuth 连接的用户令牌的功能。这允许用户将其 OAuth 凭据保存到其在 Tableau Server 上的用户配置文件。保存凭据后,当他们随后访问连接器进行发布、编辑或刷新时,将不会收到提示。

默认情况下,以下连接器使用已保存凭据,不需要在 Tableau Server 上进行额外配置。

服务器管理员进行额外的配置后,以下连接器可以使用已保存凭据。

所有支持的连接器列在 Tableau Server 上用户的“我的帐户设置”页面上的“数据源的已保存凭据”下。用户针对每种连接器管理其已保存凭据。

数据连接访问令牌

可以根据包含数据连接的访问令牌嵌入凭据,以允许在初始身份验证过程结束之后直接访问。除非 Tableau Server 用户删除访问令牌或数据提供程序撤消它,否则它会一直有效。

可能超出了数据源提供程序允许的访问令牌数。在这种情况下,当用户创建新令牌时,数据提供程序将使用自上次访问以来已经过去的时间长度来决定使哪个令牌失效以便为新令牌腾出空间。

批准的客户端身份验证的访问令牌

默认情况下,在用户第一次登录时提供其凭据后,Tableau Server站点允许用户直接从批准的 Tableau 客户端访问其站点。此类型的身份验证还使用 OAuth 访问令牌安全地存储用户的凭据。

有关详细信息,请参见禁用自动客户端身份验证

默认托管密钥链连接器

托管密钥链是指提供商为 Tableau Server 生成 OAuth 令牌并由同一站点中的所有用户共享的功能。当用户首次发布数据源时,Tableau Server 会提示用户输入数据源凭据。Tableau Server 将凭据提交到数据源提供程序,该提供程序将返回 OAuth 令牌供 Tableau Server 代表用户使用。在后续发布操作中,使用 Tableau Server 为同一类和用户名存储的 OAuth 令牌,以便不会提示用户输入 OAuth 凭据。如果数据源密码发生更改,则重复上述过程,并将旧令牌替换为 Tableau Server 上的新令牌。

默认托管密钥链连接器不需要在 Tableau Server 上进行额外的 OAuth 配置:

  • Google Analytics、Google BigQuery 和 Google Sheets(在 Tableau 版本 2022.1 中已弃用

  • Salesforce

令牌限制和存储

Google 的每个客户端应用程序有每个用户 50 个令牌的限制(在此方案中,Tableau Server 是客户端应用程序)。由于 OAuth 令牌存储在 Tableau Server 上并由用户重用,因此用户不太可能超过令牌限制。

当存储在 Tableau Server 上时,会对所有用户令牌进行静态加密。有关详细信息,请参见管理服务器密文

移除未使用的密钥链记录

托管密钥链记录包含连接属性,如 dbClass、username 和 OAuth secret 属性。给定站点的所有托管密钥链记录都将合并、加密并存储在 PostgreSQL 中。

即使对于已移除的工作簿和数据源,也会保留记录。随着时间的推移,这些记录会增长到很大,从而可能导致问题。

我们建议以常规维护任务的形式定期清除未使用的密钥链记录。您可以查看每个站点上存储的记录和未使用的记录数。您还可以删除未使用的记录。

若要访问“托管密钥链清理”,请登录到 Tableau Server 管理页面,导航到要删除未使用的记录的站点,然后单击“设置”

托管密钥链的方案限制

将托管密钥链与 Tableau Server 结合使用时,有三种不受支持的方案:

  • 在实时连接上提示输入 OAuth 凭据。在包含托管密钥链 Oauth 的实时连接上,用户必须嵌入凭据

  • 在 Tableau Server 上编辑 OAuth 数据源连接

  • Web 制作

将托管密钥链转换为已保存凭据

通过将 Tableau Server 配置为每个连接器使用 OAuth 客户端 ID 和密文,可以将使用托管密钥链的连接器转换为使用已保存凭据。通过将这些连接器转换为已保存凭据,用户将能够在 Tableau Server 上的“我的帐户设置”页面上管理每种连接器类型的凭据。此外,还支持实时连接提示、编辑连接和 Web 制作。

为站点配置自定义 OAuth

对于一部分连接器,您可以通过配置自定义 OAuth 客户端来配置站点级别 OAuth。有关详细信息,请参见以下主题之一:

感谢您的反馈!