外部身份识存储配置参考

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 键作为示例来阐释不同的方法:

  • ConfigKey 键值对 — 您可以通过更新运行 tsm configuration set 选项wgserver.domain.username 键,或者通过在 configKey 实体下的 JSON 配置文件中包含该键来更新 .yml 配置文件键。请参见配置文件示例

    JSON 配置文件中的 configKey 键值对与用于 tsm configuration set 键值对相同,但设置方式不同。本主题将这两种方法都称为 configKey。

    与使用下面描述的 configEntities 和本地 tsm 命令时不同,系统不会验证 configKey 输入。使用 configKey 设置选项时,您输入的值会以文本字符串形式直接复制到基础 .yml 配置文件。例如,对于 truefalse 为有效输入的键,当您使用 configKey 键值对配置键时,您可以输入任意字符串值,系统将为键保存该值。在这种情况下,无效值无疑会导致 LDAP 配置错误。

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

  • configEntities JSON — 您可以通过在 configEntities JSON 中传递 username 选项来更新 .yml 配置文件。

    当您在 JSON 文件中使用 configEntities 选项配置值时,在保存这些值之前会对其进行验证。值区分大小写。有关如何使用 configEntities 配置值的详细信息,请参见identityStore 实体示例。JSON 文件是使用 tsm settings import 命令导入的。可用于 configEntities 的选项是所有 .yml 键值对的子集。

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

    您只能在初始配置过程中导入 JSON 配置文件。如果需要在导入 JSON 配置文件并初始化 Tableau Server 后进行 LDAP 更改,请不要尝试重新导入 JSON 文件。而是使用本地 tsm 命令(如果可用)或使用 configKeys 和 tsm configuration set 进行单独的键更改。

  • 本机 tsm 命令 — 您可以通过使用本地 tsm 命令 tsm user-identity-store 传递 ldapuser 选项来更新 .yml 配置文件。与 configEntities 一样,在保存您使用本机 tsm 命令输入的值之前,会对值进行验证。

    并非 .yml 文件中的所有键值对都可以使用本机 tsm 命令设置。

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

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

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

配置 Active Directory

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

配置参考表

configEntities 选项

(选项区分大小写)

本机 tsm 命令

configKey

(与 tsm configuration set 命令一起使用,或在 JSON 文件的 configKeys 部分中使用)

方案

说明

type不可用wgserver.authenticateAD、LDAP、本地您想要在其中存储用户身份信息的位置。值:localactivedirectory

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

sslPort不可用wgserver.domain.ssl_portAD、LDAP使用此选项指定 LDAP 服务器的安全端口。我们建议使用安全 LDAP 进行简单绑定。LDAPS 通常使用端口 636。
不可用不可用wgserver.domain.ldap.starttls.enabledAD、LDAP

值:truefalse

从版本 2021.2 开始,将 Tableau Server 配置为连接到 Active Directory 时,此键默认情况下设置为 true。因此,当 Tableau 密钥存储中存在有效的 SSL/TLS 证书时,将对与 LDAP 目录的简单绑定进行加密。有关详细信息,请参见将加密通道配置为 LDAP 外部身份存储

This key is set to false by default when Tableau Server is configured to connect to a an arbitrary (but not Active Directory) LDAP server.

此键是版本 2021.1 中引入(但未设置)的。

port不可用wgserver.domain.portAD、LDAP使用此选项指定 LDAP 服务器的非安全端口。明文通常使用 389。
domaindomainwgserver.domain.defaultAD在 Active Directory 环境中,指定安装 Tableau Server 所在的域,例如“example.lan”。

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

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

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

usernameldapusernamewgserver.domain.usernameAD、LDAP要用于连接到目录服务的用户名。

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

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

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

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

passwordldappasswordwgserver.domain.passwordAD、LDAP将用于连接到 LDAP 服务器的用户帐户的密码。

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

directoryServiceType不可用wgserver.domain.directoryservice.typeAD、LDAP要连接到的 LDAP 目录服务的类型。值:activedirectoryopenldap
kerberosPrincipalkerbprincipalwgserver.domain.ldap.principalAD、LDAPTableau Server 在主计算机上的服务主体名称。密钥表必须具有此主体的权限。不要使用位于 /etc/krb5.keytab 的现有系统密钥表。相反,我们建议您注册一个新的服务主体名称。若要查看给定密钥表中的主体,请运行 klist -k 命令。请参见了解密钥表要求

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

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

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

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

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

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

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

不可用不可用wgserver.domain.ldap.connectionpool.enabledAD、LDAP此选项设置为 true 时,Tableau Server 将尝试在向 LDAP 服务器发送查询时重用同一连接。此行为可减少在每次发出新请求时必须向 LDAP 服务器重新进行身份验证的开销。连接池仅适用于简单绑定和 TSL/SSL 绑定连接。GSSAPI 绑定连接不支持连接池。
不可用不可用wgserver.domain.accept_listAD允许从 Tableau Server 连接到辅助 Active Directory 域。辅助域是 Tableau Server 连接到以进行用户同步的域,但也是未安装 Tableau Server 的域。为了确保 Tableau Server 可以连接到其他 Active Directory 域,您必须通过使用 TSM 设置 wgserver.domain.accept_list 选项来指定受信任的域。有关详细信息,请参见wgserver.domain.accept_list
不可用不可用

wgserver.domain.whitelist

AD

重要信息:自版本 2020.4.0 起已弃用。改为使用 wgserver.domain.accept_list。

允许从 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] 命令。

kerberosKeytabkerbkeytab无直接映射AD、LDAP

本地计算机上 Kerberos 密钥表文件的路径。建议您创建一个包含专门用于 Tableau Server 服务的密钥的密钥表文件,并且不要与计算机上的其他应用程序共享此密钥表文件。例如,在 Linux 上,您可以将 keytab 文件放在 /var/opt/tableau/keytab 目录中。

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

nickname不可用wgserver.domain.nicknameAD、LDAP

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

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

注意:此键仅支持用于 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.dnAttributeLDAP

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

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

groupBaseDn不可用wgserver.domain.ldap.group.baseDnLDAP

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

不可用classnameswgserver.domain.ldap.group.classnamesLDAP

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

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

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

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

groupBaseFilterbasefilterwgserver.domain.ldap.group.baseFilterLDAP

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

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

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

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

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

groupNamegroupnamewgserver.domain.ldap.group.nameLDAP

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

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

groupEmailgroupemailwgserver.domain.ldap.group.emailLDAP

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

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

groupDescription描述wgserver.domain.ldap.group.descriptionLDAP

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

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

membermemberwgserver.domain.ldap.group.memberLDAP

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

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

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

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

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

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

userBaseFilterbasefilterwgserver.domain.ldap.user.baseFilterLDAP

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

例如:

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

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

userUsernameldapusernamewgserver.domain.ldap.user.usernameLDAP

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

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

userDisplayNamedisplaynamewgserver.domain.ldap.user.displaynameLDAP

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

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

userEmailemailwgserver.domain.ldap.user.emailLDAP

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

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

userCertificatecertificatewgserver.domain.ldap.user.usercertificateLDAP

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

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

不可用thumbnailwgserver.domain.ldap.user.thumbnailLDAP

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

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

userJpegPhotojpegphotowgserver.domain.ldap.user.jpegphotoLDAP

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

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

memberOfmemberofwgserver.domain.ldap.user.memberofLDAP

用户所属的组。

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

groupClassNames不可用wgserver.domain.ldap.group.classnamesLDAP

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

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

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

userClassNames不可用wgserver.domain.ldap.user.classnamesLDAP

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

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

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

计算所得的 configKey

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

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

  • wgserver.domain.ldap.kerberos.login
  • wgserver.domain.ldap.guid
  • wgserver.domain.fqdn:此键对于 wgserver.domain.default 是冗余的。两个键的值必须相同。仅当值与 wgserver.domain.default 不匹配时,才更新 wgserver.domain.fqdn。
感谢您的反馈!您的反馈已成功提交。谢谢!