内容:

个人访问令牌

  • 版本 :2022.1 及更高版本

个人访问令牌 (PAT) 使 Tableau Server 用户能够创建可长期使用的身份验证令牌。令牌允许用户使用 Tableau REST API 运行自动化操作,而无需硬编码凭据或交互式登录。有关通过 Tableau REST API 使用个人访问信息的详细信息,请参见登录和注销(身份验证)(链接在新窗口中打开)。

个人访问令牌 (PAT) 使 Tableau Server 用户能够创建可长期使用的身份验证令牌。令牌允许用户使用 Tableau REST API 运行自动化操作,而无需硬编码凭据或交互式登录。有关通过 Tableau REST API 使用个人访问信息的详细信息,请参见登录和注销(身份验证)(链接在新窗口中打开)

对于对 Tableau Server Web 接口、TSM 或 tabcmd 接口的通用客户端访问,不使用个人访问令牌。

建议为使用 Tableau REST API 创建的自动化脚本和任务创建个人访问令牌:

  • 提高安全性:个人访问令牌可在凭据泄露时降低风险。如果 Tableau Server 使用 Active Directory 或 LDAP 作为身份存储,您可以通过为自动化任务使用个人访问令牌来缩小凭据泄露的范围。在这种情况下,使用特定于应用程序的令牌不会在自动化或脚本文件遭到破坏时显露更广泛的系统。如果令牌遭到破坏,或在出现故障或导致风险的自动化任务中使用,则可以只撤销令牌。您无需轮换或撤消用户的凭据。

  • 审核和跟踪:作为管理员,您可以查看 Tableau Server 日志来跟踪令牌使用时间、通过该令牌创建的会话,以及在这些会话中执行的操作。您还可以确定某个会话及相关任务是否是从通过令牌或交互式登录生成的会话中执行的。

  • 管理自动化:可以为运行的每个脚本或任务生成一个令牌。这使您能够存储和查看整个组织中的自动化任务。此外,如果在使用令牌之后对用户帐户进行密码重置或元数据更改(用户名、电子邮件等),将不会像凭据硬编码在脚本中时一样中断自动化操作。

了解个人访问令牌

创建令牌之后,会对其进行哈希处理并存储在存储库中。对令牌进行哈希处理并存储后,将删除原始令牌。系统会指示用户将令牌复制到安全的位置,并像处理密码一样对其进行处理。在运行时使用令牌时,Tableau Server 会对用户提供的令牌进行哈希处理,并将其与存储在存储库中的哈希值进行比较。如果匹配,则会启动经过身份验证的会话。

注意:每个并发请求都需要一个个人访问令牌。使用相同的访问令牌再次登录,无论是在同一个站点还是不同的站点,都将终止前一个会话并导致身份验证错误。

在授权情境中,Tableau Server 会使用与交互式用户相同的权限和权限处理经过身份验证的会话。

服务器管理员模拟

从版本 2021.1 开始,您可以启用 Tableau Server 个人访问令牌模拟。在这种情况下,使用 Tableau Server REST API 时,可以使用服务器管理员创建的访问令牌来进行用户模拟(链接在新窗口中打开)。在应用程序中嵌入最终特定于用户的 Tableau 内容的情况下,模拟非常有用。具体地说,模拟访问令牌允许您生成以给定用户身份查询的应用程序,并检索授权用户在 Tableau Server 中使用的内容,而无需对任何凭据进行硬编码。

有关详细信息,请参见 Tableau REST API 帮助部分模拟用户(链接在新窗口中打开)

使 Tableau Server 在模拟登录请求期间能够接受个人访问令牌

默认情况下,Tableau Server 不允许模拟服务器管理员的个人访问令牌。您必须通过运行以下命令启用服务器范围设置。

tsm authentication pat-impersonation enable [global options]

tsm pending-changes apply

重要信息:运行这些命令后,服务器管理员创建的所有个人访问令牌(包括预先存在的令牌)都可用于模拟。若要批量撤销所有现有服务器管理员的个人访问令牌,可以发布 DELETE /api/{api-version}/auth/serverAdminAccessTokens URI。请参见 Tableau REST API 帮助部分模拟用户(链接在新窗口中打开)

创建令牌

在 Tableau Server 上具有帐户的用户可以在“我的帐户设置”页面上创建、管理和撤消个人访问令牌。有关详细信息,请参见 Tableau Desktop 和 Web 制作帮助中的管理您的帐户设置(链接在新窗口中打开)

用户必须创建自己的个人访问令牌。管理员无法为用户创建令牌。

令牌过期

如果个人访问令牌在连续 15 天后未使用,它们将过期。如果使用频率超过每 15 天一次,则访问令牌将在 1 年后过期。一年后,必须创建新令牌。过期的个人访问令牌不会显示在“我的帐户设置”页面上。

您 可以将 refresh_token.absolute_expiry_in_seconds 选项与 tsm configuration set 命令结合使用来更改刷新令牌过期时间跨度。

撤消用户的令牌

用户可以在“我的帐户设置”页面上撤消自己的令牌。作为管理员,您也可以撤销个人访问令牌。

  1. 以站点管理员或服务器管理员身份登录到 Tableau Server 管理区域

  2. 找到要撤消其令牌的用户。有关服务器管理页面导航和查找用户的详细信息,请参见查看、管理或移除用户

  3. 单击用户的名称以打开其个人资料页面。

  4. 在该用户的个人资料页面上,单击“设置”选项卡。

  5. “个人访问令牌”部分,标识要撤消的令牌,然后单击“撤消”

  6. 在验证弹出式窗口上,单击“删除”

跟踪和监视使用情况

所有令牌相关操作都记录在 Tableau Server 应用程序服务器 (vizportal) 服务中。

若要查找令牌相关活动,请筛选包含 RefreshTokenService 字符串的日志条目。

令牌采用此格式存储:Token Guid:,其中 TokenID 是 base64 编码的字符串。日志中不包括令牌密文。例如:

Token Guid: 49P+CxmARY6A2GHxyvHHAA== (e3d3fe0b-1980-458e-80d8-61f1caf1c700)

下面是包含两个日志条目的示例片段。第一个片段演示如何将用户映射到令牌。第二个片段显示同一令牌的刷新事件:

RefreshTokenService - Issued refresh token to the following user: jsmith. Token Guid: 49P+CxmARY6A2GHxyvHHAA== (e3d3fe0b-1980-458e-80d8-61f1caf1c700)
RefreshTokenService - Redeemed refresh token. Token Guid: 49P+CxmARY6A2GHxyvHHAA== (e3d3fe0b-1980-458e-80d8-61f1caf1c700)

若要查找关键操作,请筛选包含 OAuthController 字符串的日志条目。