身份存储
Tableau Server 需要身份存储来管理用户和组信息。有两种身份存储:本地和外部身份存储。安装 Tableau Server 时,您必须配置本地身份存储或外部身份存储。
有关身份存储配置选项的信息,请参见identityStore 实体和外部身份识存储配置参考。有关为单一身份存储模型增加更多灵活性的详细信息,请参见使用身份池预置和验证用户。
本地身份存储
使用本地身份存储配置 Tableau Server 时,所有用户和组信息均存储在 Tableau Server 存储库中,并在其中进行管理。在本地身份存储方案中,没有外部用户和组来源。
外部身份存储
使用外部存储配置 Tableau Server 时,所有用户和组信息均由外部目录服务存储和管理。Tableau Server 必须与外部身份存储同步,使 Tableau Server 存储库中存在用户和组的本地副本,但外部身份存储是所有用户和组数据的权威来源。
如果已将 Tableau Server 身份存储配置为与外部 LDAP 目录通信,则您添加到 Tableau Server 的所有用户(包括初始管理帐户)都必须在该目录中具有帐户。
如果 Tableau Server 配置为使用外部 LDAP 目录,则您必须首先将用户身份从外部目录导入到 Tableau Server 存储库作为系统用户。当用户登录到 Tableau Server 时,他们的凭据会传递到外部目录,后者负责对用户进行身份验证;Tableau Server 不执行此身份验证。)然而,存储在标识存储中的 Tableau 用户名与 Tableau Server 的权限相关联。因此,确认身份验证后,Tableau Server 会管理用户的 Tableau 资源访问权限(授权)。
Active Directory 就是外部用户存储的一个例子。Tableau Server 经过优化,可与 Active Directory 交互。例如,使用 配置初始节点设置在加入 Active Directory 域的计算机上安装 Tableau Server 时,安装程序将检测并配置大多数 Active Directory 设置。另一方面,如果使用 TSM CLI 安装 Tableau Server,您必须指定所有 Active Directory 设置。在这种情况下,请确保使用LDAP - Active Directory模板来配置身份存储。
如果要安装到 Active Directory 中,我们建议您在部署之前查看使用外部身份存储的部署中的用户管理。
对于所有其他外部存储,Tableau Server 支持使用 LDAP 作为通用方式来与身份存储通信。例如,OpenLDAP 是具有灵活架构的多种 LDAP 服务器实现之一。Tableau Server 可配置为查询 OpenLDAP 服务器。为此,目录管理员必须提供有关架构的信息。在设置过程中,您必须使用 配置初始节点设置 配置与其他 LDAP 目录的连接。
LDAP 绑定
想要使用 LDAP 查询用户存储的客户端必须进行身份验证并建立会话。通过绑定来完成此操作。有多种绑定方式。简单绑定是使用用户名和密码进行身份验证。对于使用简单绑定连接到 Tableau Server 的组织,我们建议配置 SSL 加密连接,否则凭据会以纯文本方式通过网络发送。Tableau Server 支持的另一种类型的绑定是 GSSAPI 绑定。GSSAPI 使用 Kerberos 进行身份验证。在 Tableau Server 的例子中,Tableau Server 是客户端,外部用户存储是 LDAP 服务器。
LDAP 与 GSSAPI (Kerberos) 绑定
我们建议使用密钥表文件将 LDAP 目录与 GSSAPI 绑定,以向 LDAP 服务器验证身份。您将需要一个专用于 Tableau Server 服务的密钥表文件。我们还建议使用 SSL/TLS 通过 LDAP 服务器加密通道。请参见将加密通道配置为 LDAP 外部身份存储。
如果安装到 Active Directory 中,并且安装 Tableau Server 的计算机已加入域,则计算机必须已经有配置文件和密钥表文件。在这种情况下,Kerberos 文件用于操作系统功能和身份验证。严格来说,您可以将这些文件用于 GSSAPI 绑定,但我们不建议使用这些文件。而是要联系您的 Active Directory 管理员,并专门为 Tableau Server 服务请求一个 keytab。请参见了解密钥表要求。
假设您的操作系统已正确配置了用于域身份验证的密钥表,则您只需要 GSSAPI 绑定的 Kerberos 密钥文件即可进行基本 Tableau Server 安装。如果计划为用户使用 Kerberos 身份验证,请在安装完成后为用户身份验证配置 Kerberos 以及将 Kerberos 委派给数据源。
LDAP over SSL
默认情况下,简单绑定到任意 LDAP 服务器的 LDAP 是不加密的。用于与 LDAP 服务器建立绑定会话的用户凭据在 Tableau Server 和 LDAP 服务器之间以明文形式通信。我们强烈建议您加密 Tableau Server 和 LDAP 服务器之间的通道。
从版本 2021.2 开始,将 Active Directory 用作身份存储时,Linux 版 Tableau Server 需要一个加密 LDAP 通道。在安装或升级到 2021.2 或更高版本之前,必须安装有效的 SSL/TSL 证书。尽管不建议这样做,但您也可以禁用默认的加密 LDAP 通道。有关为 Active Directory 和其他 LDAP 服务器启用或禁用加密的详细信息,请参见将加密通道配置为 LDAP 外部身份存储。
系统用户和组
Linux 版 Tableau Server 使用一个用户以及两个组进行相应操作。用户和组可以是本地用户和组,也可以是 LDAP 目录服务中的用户和组。
用户
Tableau Server 需要服务帐户。此帐户是具有普通登录权限的非特权用户。默认情况下,Tableau Server 安装将为服务帐户创建本地用户 tableau
。
如果要为 Tableau Server 服务帐户使用现有用户帐户,则必须在安装期间禁用帐户创建。
具体而言,您将需要在运行 initialize-tsm 脚本时设置 --disable-account-creation
选项。您还需要使用 --unprivileged-user
选项指定帐户名称。如果指定的帐户不存在,则 initialize-tsm 脚本将创建它。有关详细信息,请参见initialize-tsm 脚本的帮助输出。
如果要使用 --unprivileged-user
选项指定现有帐户,请验证用户帐户是否为具有正常登录权限的非特权用户。将帐户配置为具有以下特征:
Shell 设置为
/bin/bash
。为了方便起见,请考虑将主目录设置为数据目录路径。帐户必须具有主目录的所有权和写入权限。
如果在安装过程中指定了不同的非特权帐户,则必须手动将同一用户添加到 systemd-journal 组。非特权用户必须是 systemd-journal 组的成员,以便 Tableau Server 在运行 tsm maintenance ziplogs 命令时可以从某些服务(例如“数据问答”(Ask Data) 功能)收集日志。如果非特权用户不是该组的成员,ziplogs 将不包含来自受影响服务的日志
组
Tableau Server 需要两个组来进行操作。
在默认安装中,本地 tableau
服务帐户属于一个名为 tableau
的主组。但是,如果在安装过程中指定了替代非特权用户,将会使用该替代帐户的主组。为了方便起见,可以向此组中添加任何帐户,以便能够读取 Tableau Server 日志文件(不会变为 root)。
第二个组用于授权哪些用户有权向 Tableau 服务管理器 (TSM) 进行身份验证。此组中的任何用户将能够向 TSM 发送命令,因此该用户应限制为 Tableau Server 管理员。默认情况下,此组命名为 tsmadmin
。
如果不打算使用默认名称,您将需要在运行 initialize-tsm 时使用 --tsm-authorized-group
选项来指定组名称。有关详细信息,请参见initialize-tsm 脚本的帮助输出。
验证客户端的身份
Tableau Server 中的基本用户身份验证对于本地和外部用户存储均通过用户名和密码登录进行。对于本地用户存储,用户密码以哈希密码的形式存储在存储库中。对于外部用户存储,Tableau Server 将凭据传递到外部用户存储,并等待有关凭据是否有效的响应。外部用户存储也可以处理像 Kerberos这样的其他各种身份验证,但概念仍然相同,Tableau Server 将凭据或用户委派给外部存储并等待响应。
您可以对 Tableau Server 进行配置,以便禁用用户名-密码登录。在这些方案中,可以使用其他身份验证方法,例如受信任身份验证、OpenID 或 SAML。请参见身份验证。
在某些情况下,您可能需要更新 LDAP 外部目录以允许使用 Tableau Server 中的用户名 + DN 格式进行绑定操作。请参见登录时的用户绑定行为。