外部身份识存储配置参考

Tableau Server 支持使用 LDAP 连接到外部目录。在这种情况下,Tableau Server 会将用户作为系统用户从外部 LDAP 目录导入 Tableau Server 存储库。

本主题介绍 Tableau Server 支持的所有 LDAP 相关配置选项。如果要连接到 Active Directory,我们强烈建议您在设置过程中自动配置 LDAP 与 Tableau Server 的连接,而不是手动配置连接。请参见配置初始节点设置

此参考中列出的选项可用于任何符合 LDAP 标准的目录。如果您没有配置 LDAP 的经验,请与目录管理员或 LDAP 专家合作。

这是一个参考主题。若要了解 Tableau Server 如何存储和管理用户的详细信息,请从身份存储入手。

配置方法

使 Tableau Server 能够连接到 LDAP 目录的配置参数存储在 .yml 文件中。这些文件由 Tableau Server 中的各种服务管理和同步。必须使用 Tableau 服务管理器 (TSM) 界面更新 .yml 文件。

不要尝试使用文本编辑器直接更新 .yml 文件。TSM 必须管理所有更新才能正常运行。

.yml 配置文件由键值对组成。例如,键 wgserver.domain.username 以用户名作为值。此键定义用于在绑定操作期间向 LDAP 目录进行身份验证的用户名。

有四种不同的 TSM 方法可以设置 yml 键值。此处介绍了这四种方法,同时使用 wgserver.domain.username 键作为示例来阐释不同的方法:

  • 通过运行 tsm configuration set 选项,或通过在 JSON 配置文件的 configKey 实体下加入键来更新 wgserver.domain.username 键。请参见配置文件示例

    用于 configKey 实体的键值对与用于 tsm configuration set 的键值对相同。本主题将这两种方法都称为 configKey。

    与下面描述的 configEntites 和 native tsm 命令不同,系统不会验证 configKey 输入。使用 configKey 设置选项时,您输入的值会以文本字符串形式直接复制到基础 .yml 配置文件。举例来说,如果 truefalse 是给定键的有效输入,则 ConfigEntitis 将允许为该键保存任何任意字符串。在这种情况下,无效值无疑会导致 LDAP 配置错误。

    我们建议仅在不存在选项的情况下使用 configKey 来设置配置,包括下面列出的其他三个选项(configEntites、本机 tsm 命令或 TSM Web UI)。使用 configKey 时,请务必仔细检查您的值,并确保注意区分大小写。

  • configEntites JSON 中传递 username 选项。

    configEntities 选项使用 JSON 文件进行设置,如identityStore 实体中所述。JSON 文件是使用 tsm settings import 命令导入的。可用于 configEntities 的选项是所有 .yml 键值对的子集。

    在保存您作为 configEntites 输入的值之前,会对值进行验证。值区分大小写。

    在此上下文中验证意味着,仅当 JSON 文件中的所有值都是有效的数据类型时,导入命令才会成功。举例来说,如果为仅接受 truefalse 的值输入 no,则您将收到错误,并且不会导入配置。

    只会在初始配置过程中导入 JSON 配置文件。如果需要在导入 JSON 配置文件并初始化 Tableau 服务器后进行 LDAP 更改,请不要尝试重新导入 JSON 文件。而是使用本机 tsm 命令或 tsm configuration set 进行单独的键更改。

  • 使用本机 tsm 命令传递 ldapuser 选项。LDAP 配置是使用本机 tsm 命令 tsm user-identity-store 设置的。与 configEntites 一样,在保存您使用本机 tsm 命令输入的值之前,会对值进行验证。

    可用于本机 tsm 命令的选项是所有 .yml 键值对的子集。

  • 在 Tableau 设置期间运行 TSM GUI - 如果您连接到 Active Directory,并在 GUI 设置期间配置 Tableau 身份存储,则会提示您输入具有 AD 读取访问权限的帐户。wgserver.domain.username 键是在您输入凭据时设置的。

    此方案仅在连接到 Active Directory.时才有效。Tableau Server 不支持在 GUI 设置过程中进行任意 LDAP 配置。

考虑使用 Tableau 身份存储配置工具(Link opens in a new window)来生成 LDAP json 配置文件。Tableau 身份存储配置工具还将生成您可通过运行 tsm configuration set 选项 设置的键/值对的列表。该工具本身不受 Tableau 支持。不过,使用该工具创建的 JSON 文件(而不是手动创建文件)不会改变服务器的受支持状态。

配置 Active Directory

如果要将 Tableau Server 配置为使用 Active Directory,我们将为安装使用 TSM Web UI。TSM Web UI 经过优化,只需最少量必需的输入便可针对 Active Directory 配置 Tableau Sever。请参见配置初始节点设置

配置参考表

configEntities

(选项区分大小写)

本机 tsm 命令 configKey 方案

说明

type 不可用 wgserver.authenticate AD、LDAP、本地

您想要在其中存储用户身份信息的位置。值:localactivedirectory

如果要连接到任何 LDAP 服务器,请输入 activedirectory

sslPort 不可用 wgserver.domain.ssl_port AD、LDAP 使用此选项指定 LDAP 服务器的安全端口。我们建议使用安全 LDAP 进行简单绑定。LDAPS 通常使用端口 636。
port 不可用 wgserver.domain.port AD、LDAP 使用此选项指定 LDAP 服务器的非安全端口。明文通常使用 389。
domain domain wgserver.domain.default AD

在 Active Directory 环境中,指定安装 Tableau Server 所在的域,例如“example.lan”。

对于非 AD LDAP:您为此值输入的字符串显示在用户管理工具的“域”列中。您可以输入任意字符串,但键不能为空。

此键对于 wgserver.domain.fqdn 是冗余的。两个键的值必须相同。

本机 tsm 命令:使用 tsm user-identity-store set-connection [options] 命令。

username ldapusername wgserver.domain.username AD、LDAP

要用于连接到目录服务的用户名。

指定的帐户必须具有查询目录服务的权限。

对于 Active Directory,输入用户名,例如 jsmith

对于 LDAP 服务器,请输入进行连接所要使用的用户可分辨名称 (DN)。例如,"cn=jsmith,dc=example,dc=lan"

本机 tsm 命令:使用 tsm user-identity-store set-connection [options] 命令。

password ldappassword wgserver.domain.password AD、LDAP

将用于连接到 LDAP 服务器的用户帐户的密码。

本机 tsm 命令:使用 tsm user-identity-store set-connection [options] 命令。

directoryServiceType 不可用 wgserver.domain.directoryservice.type AD、LDAP

要连接到的 LDAP 目录服务的类型。值:activedirectoryopenldap

kerberosPrincipal kerbprincipal wgserver.domain.ldap.principal AD、LDAP

Tableau Server 在主计算机上的服务主体名称。密钥表必须具有此主体的权限。不要使用系统的现有密钥表。相反,我们建议您注册一个新的服务主体名称。若要查看给定密钥表中的主体,请运行 klist -k 命令。请参见了解密钥表要求

本机 tsm 命令:使用 tsm user-identity-store set-connection [options] 命令。

hostname hostname wgserver.domain.ldap.hostname AD、LDAP

LDAP 服务器的主机名。您可以为此值输入主机名或 IP 地址。此处指定的主机将用于主域上的用户/组查询。如果用户/组查询位于其他域中,Tableau Server 将查询 DNS 来确定相应的域控制器。

本机 tsm 命令:使用 tsm user-identity-store set-connection [options] 命令。

membersRetrievalPageSize 不可用 wgserver.domain.ldap.members.retrieval.page.size AD、LDAP

此选项确定 LDAP 查询返回的最大结果数。

例如,假设有这样一种场景:Tableau Server 正在导入包含 50,000 名用户的 LDAP 组。尝试在一次操作中导入如此大量的用户不是最佳做法。此选项设置为 1500 时,Tableau Server 会在第一次响应中导入前 1500 名用户。处理了这些用户之后,Tableau Server 将从 LDAP 服务器请求接下来的 1500 名用户,依此类推。

我们建议只有在要适应 LDAP 服务器的需求时才修改此选项。

不可用 不可用 wgserver.domain.ldap.connectionpool.enabled AD、LDAP 此选项设置为 true 时,Tableau Server 将尝试在向 LDAP 服务器发送查询时重用同一连接。此行为可减少在每次发出新请求时必须向 LDAP 服务器重新进行身份验证的开销。连接池仅适用于简单绑定和 TSL/SSL 绑定连接。GSSAPI 绑定连接不支持连接池。
不可用 不可用 wgserver.domain.whitelist AD

允许从 Tableau Server 连接到辅助 Active Directory 域。辅助域是 Tableau Server 连接到以进行用户同步的域,但也是未安装 Tableau Server 的域。为了确保 Tableau Server 可以连接到其他 Active Directory 域,您必须通过使用 TSM 设置 wgserver.domain.whitelist 选项来指定受信任的域。有关详细信息,请参见wgserver.domain.whitelist

kerberosConfig

kerbconfig

无直接映射 AD、LDAP

本地计算机上 Kerberos 配置文件的路径。如果要安装到 Active Directory 目录,我们不建议使用现有 Kerberos 配置文件或联接域的计算机上已有的密钥表文件。请参见身份存储

本机 tsm 命令:使用 tsm user-identity-store set-connection [options] 命令。

kerberosKeytab kerbkeytab 无直接映射 AD、LDAP

本地计算机上 Kerberos 密钥表文件的路径。建议您创建一个包含专门用于 Tableau Server 服务的密钥的密钥表文件,并且不要与计算机上的其他应用程序共享此密钥表文件。

本机 tsm 命令:使用 tsm user-identity-store set-connection [options] 命令。

nickname 不可用 wgserver.domain.nickname AD、LDAP

域的昵称。这在 Windows/Active Directory 环境中也称为 NetBIOS 名称。所有 LDAP 实体都需要 nickname 选项。值不能为空。如果您的组织不需要昵称/NetBIOS,则传递一个空白键,例如:""

不可用 wgserver.domain.ldap.root LDAP 如果不在 LDAP 根中使用 dc 组件,或者要指定更复杂的根,您需要设置 LDAP 根。使用“o=my,u=root”格式。例如,对于域 example.lan,根将为 "o=example,u=lan"
serverSideSorting 不可用 wgserver.domain.ldap.server_side_sorting LDAP 是否为查询结果的服务器端排序配置了 LDAP 服务器。如果您的 LDAP 服务器支持服务器端排序,请将此选项设置为 true。如果不确定您的 LDAP 服务器是否支持此功能,请输入 false,因为配置不正确可能会导致错误。
rangeRetrieval 不可用 wgserver.domain.ldap.range_retrieval LDAP LDAP 服务器是否配置为返回请求查询结果的范围。这意味着将以多个小的集合的形式请求包含多个用户的组,而不是一次请求全部。支持范围检索的 LDAP 服务器执行大型查询的性能更出色。如果您的 LDAP 服务器支持范围检索,请将此选项设置为 true。如果不确定您的 LDAP 服务器是否支持范围检索,请输入 false,因为配置不正确可能会导致错误。
bind 不可用 wgserver.domain.ldap.bind LDAP 要用于保护目录服务通信的方式。除非使用 Kerberos 连接到 LDAP 服务器,否则请为 LDAP 输入 simple。对于 Kerberos,输入 gssapi
不可用 不可用 wgserver.domain.ldap.domain_custom_ports LDAP

注意:此键仅支持用于 Linux 版 Tableau Server。

允许您映射子域及其 LDAP 端口。域和端口由冒号 (:) 分隔,每个域:端口对由逗号 (,) 分隔,使用以下格式:FQDN1:port,FQDN2:port

示例:tsm configuration set -k wgserver.domain.ldap.domain_custom_ports -v childdomain1.lan:3269,childdomain2.lan:3269,childdomain3.lan:389

distinguishedNameAttribute 不可用 wgserver.domain.ldap.dnAttribute LDAP

用于存储用户的可分辨名称的属性。此属性是可选属性,但它大大提高了 LDAP 查询的性能。

重要信息:不要在初始配置过程中设置此选项。仅在验证了整体 LDAP 功能后设置此选项。在设置此键之前,您的组织中必须设置了 dnAttribute。

groupBaseDn 不可用 wgserver.domain.ldap.group.baseDn LDAP

使用此选项为组指定一个替代根。举例来说,如果所有组均存储在一个名为“groups”的基本组织中,则输入 "o=groups"

不可用 classnames wgserver.domain.ldap.group.classnames LDAP

默认情况下,Tableau Server 会查找包含字符串“group”的 LDAP 组对象类。如果您的 LDAP 组对象不适合默认类名,请通过设置此值来覆盖默认值。您可以提供由逗号分隔的多个类名。

如果您的组名称包括逗号,您必须使用反斜杠 (\) 将其转义。举例来说,如果组名称为 groupOfNames, top,则输入 "groupOfNames\, top"

Tableau LDAP 实现将 LDAP 对象解读为用户或组。因此,请确保输入了最具体的类名称。用户和组之间的类名称重叠可能会导致冲突。

本机 tsm 命令:使用 tsm user-identity-store set-group-mappings [options] 命令。

groupBaseFilter basefilter wgserver.domain.ldap.group.baseFilter LDAP

要用于 Tableau Server 用户组的筛选器。您可以指定对象类属性和组织单元属性。例如:

"(&(objectClass=groupofNames)(ou=Group))"

如果 "(&(objectClass=inetOrgPerson)(ou=People))" 在 LDAP 实现中不起作用,请指定适用于 Tableau 用户群的基本筛选器。

这是必需的键。它不能为空。

本机 tsm 命令:使用 tsm user-identity-store set-group-mappings [options] 命令。

groupName groupname wgserver.domain.ldap.group.name LDAP

与 LDAP 服务器上的组名称对应的属性。

本机 tsm 命令:使用 tsm user-identity-store set-group-mappings [options] 命令。

groupEmail groupemail wgserver.domain.ldap.group.email LDAP

与 LDAP 服务器上的组电子邮件地址对应的属性。

本机 tsm 命令:使用 tsm user-identity-store set-group-mappings [options] 命令。

groupDescription 说明 wgserver.domain.ldap.group.description LDAP

与 LDAP 服务器上的组说明对应的属性。

本机 tsm 命令:使用 tsm user-identity-store set-group-mappings [options] 命令。

member member wgserver.domain.ldap.group.member LDAP

指定 LDAP 属性,该属性包含属于该组的用户的可分辨名称的列表。

本机 tsm 命令:使用 tsm user-identity-store set-group-mappings [options] 命令。

不可用 不可用 wgserver.domain.ldap.group.memberURL LDAP 指定用于存储动态组 LDAP 查询的 LDAP 属性的名称。
userBaseDn 不可用 wgserver.domain.ldap.user.baseDn LDAP 使用此选项为用户指定一个替代根。举例来说,如果所有用户均存储在一个名为“users”的基本组织中,则输入 "o=users"
不可用 classnames wgserver.domain.ldap.user.classnames LDAP

默认情况下,Tableau Server 会查找包含字符串“user”和“inetOrgPerson”的 LDAP 用户对象类。如果您的 LDAP 用户对象不使用这些默认类名,请通过设置此值来覆盖默认值。您可以提供由逗号分隔的多个类名。例如:"userclass1, userclass2"

如果您的名称包括逗号,您必须使用反斜杠 (\) 将其转义。举例来说,如果名称为 Names, top,则输入 "Names\, top"

本机 tsm 命令:使用 tsm user-identity-store set-user-mappings [options] 命令。

userBaseFilter basefilter wgserver.domain.ldap.user.baseFilter LDAP

要用于 Tableau Server 用户的筛选器。您可以指定对象类属性和组织单元属性。

例如:

"(&(objectClass=inetOrgPerson)(ou=People))"

本机 tsm 命令:使用 tsm user-identity-store set-user-mappings [options] 命令。

userUsername ldapusername wgserver.domain.ldap.user.username LDAP

与 LDAP 服务器上的用户名对应的属性。

本机 tsm 命令:使用 tsm user-identity-store set-user-mappings [options] 命令。

userDisplayName displayname wgserver.domain.ldap.user.displayname LDAP

与 LDAP 服务器上的用户显示名称对应的属性。

本机 tsm 命令:使用 tsm user-identity-store set-user-mappings [options] 命令。

userEmail email wgserver.domain.ldap.user.email LDAP

与 LDAP 服务器上的用户电子邮件地址对应的属性。

本机 tsm 命令:使用 tsm user-identity-store set-user-mappings [options] 命令。

userCertificate certificate wgserver.domain.ldap.user.usercertificate LDAP

与 LDAP 服务器上的用户证书对应的属性。

本机 tsm 命令:使用 tsm user-identity-store set-user-mappings [options] 命令。

不可用 thumbnail wgserver.domain.ldap.user.thumbnail LDAP

与 LDAP 服务器上的用户缩略图图像对应的属性。

本机 tsm 命令:使用 tsm user-identity-store set-user-mappings [options] 命令。

userJpegPhoto jpegphoto wgserver.domain.ldap.user.jpegphoto LDAP

与 LDAP 服务器上的用户配置文件图像对应的属性。

本机 tsm 命令:使用 tsm user-identity-store set-user-mappings [options] 命令。

memberOf memberof wgserver.domain.ldap.user.memberof LDAP

用户所属的组。

本机 tsm 命令:使用 tsm user-identity-store set-user-mappings [options] 命令。

groupClassNames 不可用 wgserver.domain.ldap.group.classnames LDAP

默认情况下,Tableau Server 会查找包含字符串“group”的 LDAP 组对象类。如果您的 LDAP 组对象不适合默认类名,请通过设置此值来覆盖默认值。

对于 configEntity:此选项采用字符串列表,该列表要求以引号或方括号传递每个 IP 或主机,用逗号(无空格)分隔。例如:["basegroup","othergroup"]

对于 configKey:在双引号内输入以逗号(无空格)分隔的每个类。例如:"basegroup,othergroup”

userClassNames 不可用 wgserver.domain.ldap.user.classnames LDAP

默认情况下,Tableau Server 会查找包含字符串“user”和“inetOrgPerson”的 LDAP 用户对象类。如果您的 LDAP 用户对象不使用这些默认类名,请通过设置此值来覆盖默认值。

对于 configEntity:此选项采用字符串列表,该列表要求以引号或方括号传递每个 IP 或主机,用逗号(无空格)分隔。例如:["userclass1",userclass2”]

对于 configKey:在双引号内输入以逗号(无空格)分隔的每个类。例如:"userclass1,userclass2”

计算所得的 configKey

以下 Kerberos 相关 configKey 是依据多个环境输入计算所得并设置的。同样,必须通过本机 tsm 命令或 configEnties 来设置它们。不要尝试手动设置这些 configKey。

计算所得的 configKey 若要使用本机 TSM 命令,请执行以下操作: 若要使用 configEntity json,请执行以下操作:

wgserver.domain.ldap.kerberos.conf、

cfs.ldap.kerberos.conf

使用 tsm user-identity-store set-connection [options] 命令的 kerbconfig 选项设置 Kerberos 配置文件位置。

使用 kerberosConfig configEntity 选项设置 Kerberos 配置文件位置。

wgserver.domain.ldap.kerberos.keytab、

cfs.ldap.kerberos.keytab

使用 tsm user-identity-store set-connection [options] 命令的 kerbkeytab 选项设置 Kerberos 密钥表文件位置。 使用 kerberosKeytab configEntity 选项设置 Kerberos 密钥表文件位置。

不支持的 configKey

基础 YAML 配置文件中存在一些不支持的 configKey。以下键不能用于标准部署。不要配置这些键:

  • wgserver.domain.ldap.kerberos.login
  • wgserver.domain.ldap.guid
  • wgserver.domain.fqdn:此键对于 wgserver.domain.default 是冗余的。两个键的值必须相同。仅当值与 wgserver.domain.default 不匹配时,才更新 wgserver.domain.fqdn。
感谢您的反馈! 提交反馈时出错。请重试,或向我们发送消息