个人访问令牌

个人访问令牌 (PAT) 使您和您的 Tableau Server 用户能够创建可长期使用的身份验证令牌。PAT 使您和您的用户能够登录到 Tableau REST API,而无需硬编码凭据(用户名和密码)或交互式登录。有关将 PAT 与 Tableau REST API 结合使用的详细信息,请参见 Tableau REST API 帮助中的登录和注销(身份验证)(链接在新窗口中打开)

建议为使用 Tableau REST API 创建的自动化脚本和任务创建 PAT:

  • 提高安全性:个人访问令牌可在凭据泄露时降低风险。如果 Tableau Server 使用 Active Directory 或 LDAP 作为身份存储,您可以通过为自动化任务使用个人访问令牌来减少凭据泄露的影响。如果令牌遭到破坏,或在出现故障或导致风险的自动化任务中使用,则可以只撤销令牌。您无需轮换或撤消用户的凭据。

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

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

注意: 

了解个人访问令牌

创建个人访问令牌 (PAT) 之后,会对其进行哈希处理并存储在存储库中。对 PAT 进行哈希处理并存储后,PAT 密文会向用户显示一次,然后在用户关闭对话框后就无法再访问。因此,系统会指示用户将 PAT 复制到安全的位置,并像处理密码一样对其进行处理。在运行时使用 PAT 时,Tableau Server 会将用户提供的 PAT与存储在存储库中的哈希值进行比较。如果匹配,则会启动经过身份验证的会话。

在授权范围内,使用 PAT 进行身份验证的 Tableau Server 会话具有与 PAT 所有者相同的访问权限和特权。

注意:用户不能通过 PAT 请求并发 Tableau Server 会话。使用相同的 PAT 再次登录,无论是在同一个站点还是不同的站点,都将终止前一个会话并导致身份验证错误。

服务器管理员模拟

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

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

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

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

tsm authentication pat-impersonation enable [global options]

tsm pending-changes apply

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

创建个人访问令牌

用户必须创建自己的 PAT。管理员无法为用户创建 PAT。

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

注意:一个用户最多可以有 10 个 PAT。

更改个人访问令牌过期

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

您可以将 refresh_token.absolute_expiry_in_seconds 选项与 tsm configuration set 命令结合使用来更改 PAT 过期期限。

撤消个人访问令牌

作为管理员,您还可以撤销用户的 PAT。用户还可以使用 Tableau 用户帮助中的管理您的帐户(链接在新窗口中打开)主题中描述的过程在“我的帐户设置”页面上撤销自己的个人访问令牌 (PAT)。

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

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

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

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

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

  6. 在对话框中,单击“删除”

跟踪和监控个人访问令牌的使用情况

所有个人访问令牌 (PAT) 相关操作都记录在 Tableau Server 应用程序服务器 (vizportal) 服务中。若要查找 PAT 相关活动,请筛选包含 RefreshTokenService 字符串的日志条目。

PAT 采用此格式存储:Token Guid: <TokenID(Guid)>,其中 TokenID 是 base64 编码的字符串。日志中不包括密文值。

例如:

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

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

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 字符串的日志条目。

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