启用 Kerberos 委派

利用 Kerberos 委派,Tableau Server 能够使用工作簿或视图 Viewer(查看者)的 Kerberos 凭据代表该 Viewer(查看者)执行查询。在以下情况下,这种方法很有用:

  • 您需要知道谁正在访问数据(Viewer(查看者)的名称将出现在数据源的访问日志中)。

  • 数据源具有行级别安全性,即不同的用户可以访问不同的行。

支持的数据源

Tableau 支持使用以下数据源的 Kerberos 委派:

  • Cloudera:Hive/Impala
  • Denodo
  • Hortonworks
  • MSAS
  • Oracle
  • PostgreSQL
  • Spark
  • SQL Server
  • Teradata
  • Vertica
  • TIBCO

要求

Kerberos 委派需要 Active Directory。

  • 必须将 Tableau Server 身份存储配置为使用 Active Directory。
  • 安装有 Tableau Server 的计算机必须加入到 Active Directory 域。
  • 不支持 MIT Kerberos KDC。
  • 域帐户必须配置为 Tableau Server 上的运行身份服务帐户。请参见更改运行身份服务帐户。如果您的用户与 Tableau Server 和数据源位于不同的 Active Directory 域中,则必须配置域信任。请参见Active Directory 部署的域信任要求
  • 已配置委派。将运行身份服务帐户的委派权限授予目标数据库服务主体名称 (SPN)。将为运行身份服务帐户授予代表发起源用户访问资源的权限。
  • 如果要使用基于 JDBC 的连接器在包含 Oracle 数据源的 Tableau Server 2020.2 或更高版本上配置委派,请参见为 JDBC 连接器启用 Kerberos 委派。从 Tableau 2020.2 开始,Oracle 连接器使用 JDBC。

Web 制作和用户 Kerberos 身份验证

为给定目标配置“连接到数据”时,您可以选择“集成”或“Windows 身份验证”作为首选身份验证方法。但是,对于 Web 制作方案,默认行为是使用 Kerberos 服务帐户(“运行身份”帐户)。

若要在具有 Kerberos 委派的 Web 制作方案中启用用户凭据,必须使用 TSM 进行附加配置。运行以下命令:

tsm configuration set -k native_api.WebAuthoringAuthModeKerberosDelegation -v true
tsm pending-changes apply

进行此配置后,选择与 Web 制作集成身份验证时,Kerberos 委派将成为默认操作。但是,此设置不会阻止内容创建者访问服务帐户。创建者仍然可以使用 Tableau Desktop 或其他方法发布与“运行身份”服务帐户连接的内容。

有关运行身份服务帐户的详细信息,请参见使用运行身份服务帐户访问数据

配置过程

此部分提供用于启用 Kerberos 委派的过程示例。该方案还包括示例名称,用于帮助描述配置元素之间的关系。

  1. 在 Tableau Server 中的所有节点上,将用户运行身份配置为以操作系统方式执行。有关详细信息,请参见启用运行身份服务帐户以充当操作系统

  2. Tableau Server 将需要 Kerberos 服务票证来代表发起数据库调用的用户进行委派。您必须创建一个将用于委派给给定数据库的域帐户。此帐户称为运行身份服务帐户。在本主题中,配置为委派/运行身份帐户的示例用户为 tabsrv@example.com

    在连接到用户域的 Windows Server 上,该帐户必须配置为具有 Active Directory 用户和计算机:

    • 打开运行身份服务帐户的“属性”页面,单击“委派”选项卡,并选择“仅信任此用户作为指定服务的委派”和 “使用任何身份验证协议”。
  3. 运行以下 TSM 命令以启用 Kerberos 委派:

    tsm configuration set -k wgserver.delegation.enabled -v true

  4. 运行以下 TSM 命令,应用对 Tableau Server 所做的更改:

    tsm pending-changes apply

    如果待定更改需要重新启动服务器,pending-changes apply 命令将显示一个提示,告知您将进行重新启动。即使服务器已停止,此提示也会显示,但在这种情况下不会重新启动。您可以使用 --ignore-prompt 选项隐藏提示,但这样做不会改变重新启动行为。如果更改不需要重新启动,则会在不提示的情况下应用更改。有关详细信息,请参见tsm pending-changes apply

  5. (可选)将 Tableau Server 配置为使用 MIT Kerberos 主体格式。

    默认情况下,Tableau Server 会使用 Active Directory 短名称生成 Kerberos 主体。举例来说,如果 Tableau Server 对 EXAMPLE.COM(短名称为 EXAMPLE)中的用户执行 Kerberos 委派,则主体名称将为:user@example

    如果您的数据库在 Linux 上运行,则可能需要在 krb5.conf 中调整 auth_to_local 映射。有关编辑 krb5.conf 文件的信息,请参见Kerberos 委派多域配置。或者,可以通过运行以下命令将 Tableau Server 配置为使用 Kerberos 主体的完整域名:

    tsm configuration set -k native_api.protocol_transition_a_d_short_domain -v false --force-keys
    tsm configuration set -k native_api.protocol_transition_uppercase_realm -v true --force-keys
    tsm pending-changes apply
  6. 为数据连接启用委派:

    另请参见

    Kerberos 疑难解答

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