实体定义和模板
- 版本 :2022.1 及更高版本
可以将实体定义和模板与 tsm settings import 命令结合使用来配置各种 Tableau Server 设置。
可以将实体定义和模板与 tsm settings import
命令结合使用来配置各种 Tableau Server 设置。
此部分中的其他文章
本文提供了一个完整 JSON 配置文件的示例,其中指定了 gatewaySettings 和 identityStore 实体。此外,配置键将网关超时设置为 900 秒。
您的配置文件看起来将有所不同,具体取决于您需要设置的选项。
安装过程中可能会设置多个 .json 配置文件。若要为 Tableau Server 中的每个文件设置值,请为每个配置文件各运行以下命令一次:
tsm settings import -f path-to-file.json
设置配置文件之后,运行 tsm pending-changes apply,应用您设置的所有 .json 文件中的更改。
{ "configEntities": { "gatewaySettings": { "_type": "gatewaySettingsType", "port": 80, "publicHost": "localhost", "publicPort": 80 }, "identityStore": { "_type": "identityStoreType", "type": "local", "domain": "example.lan", "nickname": "EXAMPLE" } }, "configKeys": { "gateway.timeout": "900" } }
实体与键
如上面的示例中所示,有两类配置参数:configEntities 和 configKeys。
configEntities
某些类型的配置是通过映射到特定方案(例如身份存储和网关配置)的实体集完成的。使用 tsm settings import -f path-to-file.json
命令传递一组 configEntities 时,TSM 将验证配置。如果传递的值无效,TSM 将提供错误。这样,您将能在配置过程中进行更改,而不会在初始化时或运行时间遇到配置故障。
只能通过在 .json 文件中包括 configEntities 块来设置实体。
重要信息:configEntities 中引用的所有文件均必须位于本地计算机上。不要指定 UNC 路径。
configKeys
实体只涵盖可设置的一小部分配置值。还有数百个键与 .yml 文件中存储的参数相对应。Tableau Server 使用这些参数来存储所有服务的所有配置信息。
您可以使用 tsm configuration 命令设置单独的键。但在部署过程中,随 JSON 文件中的其他配置方案(如上所示)一起设置这些键更加方便。
与 configEntities 不同,不会对 configKeys 进行验证。
注意:我们不建议设置 tsm configuration set 选项中未记录的参数。
您必须为 Tableau Server 计算机配置网关设置。
使用下面的配置文件模板创建一个 json 文件。使用适当的值填充各个选项之后,使用以下命令传递 json 文件并应用设置:
tsm settings import -f /path/to/file.json
tsm pending-changes apply
如果待定更改需要重新启动服务器,pending-changes apply
命令将显示一个提示,告知您将进行重新启动。即使服务器已停止,此提示也会显示,但在这种情况下不会重新启动。您可以使用 --ignore-prompt
选项隐藏提示,但这样做不会改变重新启动行为。如果更改不需要重新启动,则会在不提示的情况下应用更改。有关详细信息,请参阅tsm pending-changes apply。
网关设置
以下模板中的网关设置指定 Tableau Server 的 HTTP 设置。我们建议使用 SSL/TLS。Tableau Server 采用硬编码以将端口 443 用于 SSL/TLS。因此,如果启用 SSL,则不需要更新 gatewaySettings 实体。
配置模板
使用此模板配置网关设置。
重要信息:所有实体选项均区分大小写。
有关配置文件、实体和密钥的更多说明,请参见配置文件示例。
{ "configEntities": { "gatewaySettings": { "_type": "gatewaySettingsType", "port": 80, "sslRedirectEnabled": true, "publicHost": "localhost" } } }
配置文件参考
此表包括可随 "gatewaySettings"
实体集一起包括的所有选项。
_type
必需。
值:
"gatewaySettingsType"
请不要更改。
port
指定 HTTP 端口。默认端口为端口 80。
sslRedirectEnabled
选项:
true
或false
。
publicHost
指定 http/s 服务的主机名。
trustedIPs
指定与 Tableau Server 通信的受信任 IP 地址。受信任的 IP 地址包括上游代理服务器,以及用于向 Tableau Server 进行受信任的身份验证的服务器。请参见针对 Tableau Server 配置代理和向 Tableau Server 添加受信任的 IP 地址或主机名称。
如果您在群集中运行 Tableau Server,则群集的所有其他节点将自动包含在该实体更新的相应配置文件中。因此,如果为
trustedIPs
指定新值,则必须在值中包含其他节点的 IP 地址。此选项采用字符串列表,该列表要求以引号或方括号传递每个 IP 或主机,用逗号(无空格)分隔。例如:
["192.168.1.101","192.168.1.102","192.168.1.103"]
或["webserv1","webserv2","webserv3"]
。
trustedHosts
指定与 Tableau Server 通信的受信任 IP 地址。通常,此值包含上游代理服务器的列表。trustedHosts 中的值用于确定客户端请求目标。
如果您在群集中运行 Tableau Server,则群集的所有其他节点将自动包含在该实体更新的相应配置文件中。因此,如果为
trustedIPs
指定新值,则必须在值中包含其他节点的 IP 地址。此选项采用字符串列表,该列表要求以引号或方括号传递每个 IP 或主机,用逗号(无空格)分隔。例如:
["192.168.1.101","192.168.1.102","192.168.1.103"]
或["webserv1","webserv2","webserv3"]
。
Tableau Server 需要身份存储来存储用户和组信息。在首次配置身份存储之前,请查看身份验证和身份存储主题。在 Tableau Server 上安装了身份存储后,如果不重新安装服务器,则无法更改身份存储。
重要信息:所有实体选项均区分大小写。
开始之前
查看以下信息:
如果您将不使用本地身份存储,则将使用某种版本的 LDAP。在这种情况下,请与您的目录/LDAP 管理员一起针对 LDAP 模式配置 Tableau Server 并绑定要求。
Tableau Server 配置已针对 Active Directory 进行优化。如果安装到 Active Directory 中,我们建议使用 配置初始节点设置配置身份存储。
LDAP 绑定与用户身份验证无关。例如,您可以将 Tableau Server 配置为使用简单绑定来向 LDAP 目录进行身份验证,然后将 Tableau Server 配置为在安装后使用 Kerberos 进行用户身份验证。
不要通过不安全的连接使用简单绑定连接到 LDAP。默认情况下,使用简单绑定的 LDAP 以明文发送数据。使用 LDAPS 通过简单绑定加密流量。请参见将加密通道配置为 LDAP 外部身份存储。
若要为具有 Tableau Server 服务的 LDAP 绑定使用 Kerberos 身份验证,您将需要用于 GSSAPI 绑定的密钥表文件,如以上部分所述。另请参见了解密钥表要求。在 Kerberos 的上下文中,您只需在 Tableau Server 的基本安装过程中进行 GSSAPI 绑定。安装服务器之后,您可以随后为用户身份验证配置 Kerberos 以及将 Kerberos 委派给数据源。
在本主题中,我们区分了 LDAP(用于连接到目录服务的协议)和 LDAP 服务器(目录服务的实现)。例如,
slapd
是 OpenLDAP 项目中的 LDAP 服务器。在初始化服务器之前验证 LDAP 配置,请参见配置初始节点设置。
只会在初始配置过程中导入 JSON 配置文件。如果需要在导入 JSON 配置文件并初始化 Tableau 服务器后进行 LDAP 更改,请不要尝试重新导入 JSON 文件。而是使用本机 tsm 命令或
tsm configuration set
进行单独的键更改。请参见外部身份识存储配置参考。
配置模板
此部分中的 JSON 模板用于配置具有不同身份存储方案的 Tableau Server。除非您正在配置本地身份存储,否则需要选择并编辑特定于 LDAP 环境的配置文件模板。
考虑使用 Tableau 身份存储配置工具来帮助生成 LDAP JSON 配置文件。该工具本身不受 Tableau 支持。不过,使用该工具创建的 JSON 文件(而不是手动创建文件)不会改变服务器的受支持状态。
选择身份存储配置模板以编辑:
本地
LDAP - Active Directory
OpenLDAP - GSSAPI 绑定
OpenLDAP - 简单绑定
有关配置文件、实体和密钥的更多说明,请参见配置文件示例。
本地
如果组织还没有用于用户身份验证的 Active Directory 或 LDAP 服务器,请将“本地”配置为身份存储类型。选择“本地”作为身份存储类型时,可以使用 Tableau Server 创建和管理用户。
为本地身份存储配置 Tableau Server 的另一种方法是在安装过程中运行安装程序 GUI 并选择“本地”。请参见配置初始节点设置。
{ "configEntities": { "identityStore": { "_type": "identityStoreType", "type": "local" } } }
重要信息
下面的 LDAP 配置模板是一些示例。所呈现的模板将不会在您的组织中配置 LDAP 连接。您必须与您的目录管理员一起编辑 LDAP 模板值才能成功部署。
此外,configEntities 中引用的所有文件均必须位于本地计算机上。不要指定 UNC 路径。
LDAP - Active Directory
Tableau Server 配置已针对 Active Directory 进行优化。如果安装到 Active Directory 中,请使用 配置初始节点设置配置身份存储。
需要与 Active Directory 的加密连接。请参见将加密通道配置为 LDAP 外部身份存储。
如果由于某种原因无法将身份存储配置为使用 TSM Web 界面与 Active Directory 通信,请使用此 JSON 模板配置 Tableau Server 以连接到 Active Directory。此模板使用 GSSAPI (Kerberos) 绑定向 Active Directory 验证 Tableau Server 服务的身份。Tableau Server 包括对 Active Directory 架构的支持。因此,如果将 "directoryServiceType"
选项设置为 "activedirectory"
,则不需要在 "identityStoreSchemaType"
选项中提供架构信息。
如果将 Linux 版 Tableau Server 安装到 Active Directory,并且您在其中安装 Tableau Server 的计算机已加入域,则计算机可能已经有 Kerberos 配置文件和密钥表文件。严格来说,您可以将这些文件用于 GSSAPI 绑定,但我们不建议使用这些文件。而是要联系您的 Active Directory 管理员,并专门为 Tableau Server 服务请求一个 keytab。
{ "configEntities":{ "identityStore": { "_type": "identityStoreType", "type": "activedirectory", "domain": "your-domain.lan", "nickname": "YOUR-DOMAIN-NICKNAME", "directoryServiceType": "activedirectory", "bind": "gssapi", "kerberosKeytab": "<path to local key tab file>", "kerberosConfig": "/etc/krb5.conf", "kerberosPrincipal": "your-principal@YOUR.DOMAIN" } } }
我们建议您使用 GSSAPI 绑定到 Active Directory。但是,您可以使用简单的绑定和 LDAPS 进行连接。要使用简单绑定进行连接,请将 bind
更改为 simple
,删除三个 Kerberos 实体,并添加 port
/sslPort
、username
和 password
选项。以下示例显示了 Active Directory 以及简单绑定 json。
{ "configEntities":{ "identityStore": { "_type": "identityStoreType", "type": "activedirectory", "domain": "your-domain.lan", "nickname": "YOUR-DOMAIN-NICKNAME", "directoryServiceType": "activedirectory", "hostname": "optional-ldap-server", "sslPort": "636", "bind": "simple", "username": "username", "password": "password" } } }
OpenLDAP - GSSAPI 绑定
使用下面的模板来配置包含 GSSAPI 绑定的 OpenLDAP。如果您的组织正在运行 Active Directory,请不要使用此模板。如果要安装到 Active Directory 中,请使用下面的 LDAP - Active Directory 模板。
大多数情况下,将 OpenLDAP 与 GSSAPI (Kerberos) 配合使用的组织将使用密钥表文件来存储凭据。在以下示例中,keytab 文件用于存储身份验证凭据。
但是,您可以通过 username
和 password
实体提供凭据。
您还可以同时指定密钥表以及用户名和密码对。在这种情况下,Tableau Server 将尝试使用 keytab,但是如果由于任何原因导致身份验证失败,它将回退并使用用户名和密码凭据。
{ "configEntities":{ "identityStore": { "_type": "identityStoreType", "type": "activedirectory", "domain": "your-domain.lan", "nickname": "YOUR-DOMAIN-NICKNAME", "directoryServiceType": "openldap", "bind": "gssapi", "kerberosKeytab": "<path to local key tab file>", "kerberosConfig": "/etc/krb5.conf", "kerberosPrincipal": "your-principal@YOUR.DOMAIN", "identityStoreSchemaType": { "userBaseFilter": "(objectClass=inetOrgPerson)", "userUsername": "user", "userDisplayName": "displayname", "userEmail": "email", "userCertificate": "certificate", "userThumbnail": "thumbnail", "userJpegPhoto": "photo", "groupBaseFilter": "(objectClass=groupofNames)", "groupName": "groupname", "groupEmail": "groupemail", "groupDescription": "groupdescription", "member": "member", "distinguishedNameAttribute": "", "serverSideSorting": "", "rangeRetrieval": "", "userClassNames": ["inetOrgPerson","someClass2"], "groupClassNames": ["groupOfUniqueNames1","groupOfUniqueNames2"] } } } }
OpenLDAP - 简单绑定
{ "configEntities":{ "identityStore": { "_type": "identityStoreType", "type": "activedirectory", "domain": "my.root", "nickname": "", "hostname": "optional-ldap-server", "port": "389", "directoryServiceType": "openldap", "bind": "simple", "username": "cn=username,dc=your,dc=domain", "password": "password", "identityStoreSchemaType": { "userBaseFilter": "(objectClass=inetOrgPerson)", "userUsername": "user", "userDisplayName": "displayname", "userEmail": "email", "userCertificate": "certificate", "userThumbnail": "thumbnail", "userJpegPhoto": "photo", "groupBaseFilter": "(objectClass=groupofNames)", "groupName": "groupname", "groupEmail": "groupemail", "groupDescription": "groupdescription", "member": "member", "distinguishedNameAttribute": "", "serverSideSorting": "", "rangeRetrieval": "", "userClassNames": ["inetOrgPerson","someClass2"], "groupClassNames": ["groupOfUniqueNames1","groupOfUniqueNames2"] } } } }
配置模板参考
共享身份存储选项
type
您想要在其中存储用户身份信息的位置。
local
或activedirectory
。(如果要连接到任何 LDAP 服务器,请选择activedirectory
。)
domain
您在其中安装 Tableau Server 的计算机的域。
nickname
域的昵称。这在 Windows 环境中也称为 NetBIOS 名称。
所有 LDAP 实体都需要
nickname
选项。如果您的组织不需要昵称/NetBIOS,则传递一个空白键,例如:"nickname": ""
。
LDAP GSSAPI 绑定选项
directoryservicetype
要连接到的目录服务的类型。
activedirectory
或openldap
。
kerberosConfig
本地计算机上 Kerberos 配置文件的路径。如果要安装到 Active Directory 目录,我们不建议使用现有 Kerberos 配置文件或联接域的计算机上已有的密钥表文件。请参见身份存储。
kerberosKeytab
本地计算机上 Kerberos 密钥表文件的路径。建议您创建一个包含专门用于 Tableau Server 服务的密钥的密钥表文件,并且不要与计算机上的其他应用程序共享此密钥表文件。例如,在 Linux 上,您可以将 keytab 文件放在
/var/opt/tableau/keytab
目录中。
kerberosPrincipal
Tableau Server 在主计算机上的服务主体名称。密钥表必须具有此主体的权限。不要使用位于
/etc/krb5.keytab
的现有系统密钥表。相反,我们建议您注册一个新的服务主体名称。若要查看给定密钥表中的主体,请运行klist -k
命令。请参见了解密钥表要求。
LDAP 简单绑定选项
directoryservicetype
要连接到的目录服务的类型。
activedirectory
或openldap
。
hostname
LDAP 服务器的主机名。您可以为此值输入主机名或 IP 地址。此处指定的主机将仅用于主域上的用户/组查询。如果用户/组查询在其他域中(不在主域中),Tableau Server 将不会使用此值,而是会查询 DNS 以识别适当的域控制器。
port
使用此选项指定 LDAP 服务器的非安全端口。明文通常使用 389。
sslPort
使用此选项启用 LDAPS。指定 LDAP 服务器的安全端口。LDAPS 通常使用端口 636。若要使用 LDAPS,还必须指定 hostname 选项。请参见将加密通道配置为 LDAP 外部身份存储。
username
要用于连接到目录服务的用户名。指定的帐户必须具有查询目录服务的权限。对于 Active Directory,输入用户名,例如
jsmith
。对于 LDAP 服务器,请输入进行连接所要使用的用户可分辨名称 (DN)。例如,您可能会输入cn=username,dc=your-local-domain,dc=lan
。
password
要用于连接到 LDAP 服务器的用户的密码。
共享 LDAP 选项
可以为通用 LDAP、OpenLDAP 或 Active Directory 实现设置以下选项。
bind
将身份验证通信从 Tableau Server 服务传递到 LDAP 目录服务的所需方式。为 GSSAPI (Kerberos) 输入
gssapi
。
domain
在 Active Directory 环境中,指定安装 Tableau Server 所在的域,例如“example.lan”。
对于非 AD LDAP:您为此值输入的字符串显示在用户管理工具的“域”列中。您可以输入任意字符串,但键不能为空。
仅限 LDAP。不要为 Active Directory 指定。
如果不在 LDAP 根中使用 dc 组件,或者要指定更复杂的根,您需要设置 LDAP 根。使用“o=my,u=root”格式。例如,对于域
example.lan
,根将为"o=example,u=lan"
。
root
membersRetrievalPageSize
此选项确定 LDAP 查询返回的最大结果数。
例如,假设有这样一种场景:Tableau Server 正在导入包含 50,000 名用户的 LDAP 组。尝试在一次操作中导入如此大量的用户不是最佳做法。此选项设置为 1500 时,Tableau Server 会在第一次响应中导入前 1500 名用户。处理了这些用户之后,Tableau Server 将从 LDAP 服务器请求接下来的 1500 名用户,依此类推。
我们建议只有在要适应 LDAP 服务器的需求时才修改此选项。
identityStoreSchemaType
选项
如果配置与 LDAP 服务器的 LDAP 连接,您可以在 identityStoreSchemaType
对象中输入特定于 LDAP 服务器的架构信息。
重要信息:如果连接到 Active Directory ("directoryServiceType": "activedirectory"
),则不要配置这些选项。
userBaseFilter
要用于 Tableau Server 用户的筛选器。例如,您可以指定对象类属性和组织单元属性。
userUsername
与 LDAP 服务器上的用户名对应的属性。
userDisplayName
与 LDAP 服务器上的用户显示名称对应的属性。
userEmail
与 LDAP 服务器上的用户电子邮件地址对应的属性。
userCertificate
与 LDAP 服务器上的用户证书对应的属性。
userThumbnail
与 LDAP 服务器上的用户缩略图图像对应的属性。
userJpegPhoto
与 LDAP 服务器上的用户配置文件图像对应的属性。
groupBaseFilter
要用于 Tableau Server 用户组的筛选器。例如,您可以指定对象类属性和组织单元属性。
groupName
与 LDAP 服务器上的组名称对应的属性。
groupEmail
与 LDAP 服务器上的组电子邮件地址对应的属性。
groupDescription
与 LDAP 服务器上的组说明对应的属性。
member
用于描述组中用户列表的属性。
distinguishedNameAttribute
用于存储用户的可分辨名称的属性。此属性是可选属性,但它大大提高了 LDAP 查询的性能。
serverSideSorting
是否为查询结果的服务器端排序配置了 LDAP 服务器。如果您的 LDAP 服务器支持服务器端排序,请将此选项设置为
true
。如果不确定您的 LDAP 服务器是否支持此功能,请输入false
,因为配置不正确可能会导致错误。
rangeRetrieval
LDAP 服务器是否配置为返回请求查询结果的范围。这意味着将以多个小的集合的形式请求包含多个用户的组,而不是一次请求全部。支持范围检索的 LDAP 服务器执行大型查询的性能更出色。如果您的 LDAP 服务器支持范围检索,请将此选项设置为
true
。如果不确定您的 LDAP 服务器是否支持范围检索,请输入false
,因为配置不正确可能会导致错误。
groupClassNames
默认情况下,Tableau Server 会查找包含字符串“group”的 LDAP 组对象类。如果您的 LDAP 组对象不适合默认类名,请通过设置此值来覆盖默认值。您可以提供由逗号分隔的多个类名。此选项采用字符串列表,该列表要求以引号或方括号传递每个 IP 或主机,用逗号(无空格)分隔。例如:
["basegroup","othergroup"]
。
userClassNames
默认情况下,Tableau Server 会查找包含字符串“user”和“inetOrgPerson”的 LDAP 用户对象类。如果您的 LDAP 用户对象不使用这些默认类名,请通过设置此值来覆盖默认值。您可以提供由逗号分隔的多个类名。此选项采用字符串列表,该列表要求以引号或方括号传递每个 IP 或主机,用逗号(无空格)分隔。例如:
["userclass1",userclass2”]
。
导入 JSON 文件
编辑完 JSON 文件后,请使用以下命令传递 .json 文件并应用设置:
tsm settings import -f path-to-file.json
tsm pending-changes apply
如果待定更改需要重新启动服务器,pending-changes apply
命令将显示一个提示,告知您将进行重新启动。即使服务器已停止,此提示也会显示,但在这种情况下不会重新启动。您可以使用 --ignore-prompt
选项隐藏提示,但这样做不会改变重新启动行为。如果更改不需要重新启动,则会在不提示的情况下应用更改。有关详细信息,请参阅tsm pending-changes apply。
在配置 Kerberos 身份验证之前,请查看Kerberos 要求。
使用下面的配置文件模板创建一个 json 文件。使用适当的值填充各个选项之后,使用以下命令传递 json 文件并应用设置:
tsm settings import -f /path/to/file.json
tsm pending-changes apply
如果待定更改需要重新启动服务器,pending-changes apply
命令将显示一个提示,告知您将进行重新启动。即使服务器已停止,此提示也会显示,但在这种情况下不会重新启动。您可以使用 --ignore-prompt
选项隐藏提示,但这样做不会改变重新启动行为。如果更改不需要重新启动,则会在不提示的情况下应用更改。有关详细信息,请参阅tsm pending-changes apply。
配置模板
使用此模板来配置 Kerberos 设置。
重要信息:所有实体选项均区分大小写。
有关配置文件、实体和密钥的更多说明,请参见配置文件示例。
完成 Kerberos 身份验证的初始配置后,使用tsm authentication kerberos子类别来设置其他值。
{ "configEntities": { "kerberosSettings": { "_type": "kerberosSettingsType", "enabled": "true", "keytabFile": "/path/to/keytab_file" } } }
配置文件参考
以下列表包括可随 "kerberosSettings"
实体集一起包括的所有选项。
选项
值
enabled
选项:
true
或false
。启用 Kerberos 身份验证
keytabFile
必需。
有效 Kerberos keytab 文件的路径。
dBClasses
全局凭据的数据库类的逗号分隔列表。连接到 Cloudera 数据源时可能必需。
在配置相互 SSL 之前,请查看针对与来往 Tableau Server 的外部 HTTP 流量配置 SSL。
mutualSSLSettings
实体将合并 SSL 和相互 SSL 配置。相互 SSL 要求已启用并正确配置外部 SSL。
TSM 实体使用 JSON 和键值对。使用下面的配置文件模板创建一个 .json 文件。为适用于您的环境的相应键指定值,然后使用以下命令将 .json 文件传递到 Tableau Server:
tsm settings import -f
tsm pending-changes apply
如果待定更改需要重新启动服务器,pending-changes apply
命令将显示一个提示,告知您将进行重新启动。即使服务器已停止,此提示也会显示,但在这种情况下不会重新启动。您可以使用 --ignore-prompt
选项隐藏提示,但这样做不会改变重新启动行为。如果更改不需要重新启动,则会在不提示的情况下应用更改。有关详细信息,请参阅tsm pending-changes apply。
配置模板
使用此模板配置相互 SSL 设置。
重要信息:所有实体选项均区分大小写。
有关配置文件、实体和密钥的更多说明,请参见配置文件示例。
{ "configEntities": { "mutualSSLSettings": { "_type": "mutualSSLSettingsType", "sslEnabled": true, "proxyLogin": false, "clientCertRequired": true, "caCertFile": "required", "keyFileName": "required", "keyPassphrase": "", "chainFile": "", "revocationFile": "", "redirect": false, "fallbackToPassword": true, "protocols": "", "cipherSuite": "", "forceHttpsForPublicEmbed": false } } }
配置文件参考
sslEnabled
启用 SSL。这是启用相互 SSL 的先决条件。
clientCertRequired (MutualSSL)
设置为 true 以启用相互 SSL 身份验证。设置为 false 以禁用。
caCertFile (MutualSSL)
必需。
针对双向 SSL 指定 CA 颁发的证书文件。文件路径必须可被 Tableau Server 读取。
certFileName
指定文件,该文件包含构成服务器证书链的一连串 PEM 编码 CA 证书。
或者,为了方便起见而将 CA 证书直接附加到服务器证书时,引用的文件可以与 caCertFile 相同。
keyFileName
如果密钥未与证书合并,请使用此配置密钥指向密钥文件。如果您具有 RSA 和 DSA 私钥,则可以并行配置两者(例如,用于也允许使用 DSA 密码)。
keyPassphrase
可选。证书文件的密码。您输入的密码将在空闲时加密。
注意:如果创建包含密码的证书密钥文件,则无法为 SAML 重用 SSL 证书密钥。
revocationFile
指定 SSL CA 证书吊销列表 (.crl) 文件的文件路径。
重定向
默认值:true。指定 Tableau Server 是否应将 http 请求作为 https 请求重定向到适当的端点。
clientCertMapping (MutualSSL)
指定用于从证书中检索用户名的方法。
接受的值:
ldap
、upn
、cn
对于使用本地身份验证的服务器,默认设置为
upn
(用户主体名称)。如果将 Tableau Server 身份验证配置为使用 Active Directory (AD),则默认值为
ldap
(轻型目录访问协议)。这告诉服务器转到 AD 来验证用户,并忽略证书中的名称。
您可以针对任一身份验证类型设置
cn
,以使用证书中的主题 DN 中的 CN。有关详细信息,请参见在相互身份验证过程中将客户端证书映射到用户。
fallbackToPassword (MutualSSL)
设置为 true,以在相互 SSL 身份验证失败的情况下,可以让用户选择通过其用户名和密码来登录 Tableau Server。设置为 false 可以禁止此后备选项。
协议
列出想要允许或拒绝的传输层安全性 (TLS) 协议版本。
默认值:
"all -SSLv2 -SSLv3"
但是,我们建议您使用以下设置:
"all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1"
有关详细信息,请参见tsm security external-ssl enable。有关一般信息,请参见 Apache 联机文档。
cipherSuite
列出密码以允许或不允许使用 SSL。
默认值:
"HIGH:MEDIUM:!aNULL:!MD5:!RC4:!3DES:!CAMELLIA:!IDEA:!SEED"
请参见 OpenSSL 密码页面,了解密码列表格式。更改此选项时要小心。默认值不允许不再被视为足够安全的密码。
proxyLogin
默认值:false。指明 Tableau Server 仅在登录时使用 SSL 代理。它控制服务器针对登录 API 向 Tableau Desktop 进行报告的协议。
forceHTTPForPublicEmbed
默认值:false。强制嵌入视图的代码使用 SSL。
在配置 OpenID 身份验证之前,请查看使用 OpenID Connect 的要求。
使用下面的配置文件模板创建一个 json 文件。使用适当的值填充各个选项之后,使用以下命令传递 json 文件并应用设置:
tsm settings import -f path-to-file.json
tsm pending-changes apply
如果待定更改需要重新启动服务器,pending-changes apply
命令将显示一个提示,告知您将进行重新启动。即使服务器已停止,此提示也会显示,但在这种情况下不会重新启动。您可以使用 --ignore-prompt
选项隐藏提示,但这样做不会改变重新启动行为。如果更改不需要重新启动,则会在不提示的情况下应用更改。有关详细信息,请参阅tsm pending-changes apply。
配置模板
使用此模板来配置 OpenID 设置。
重要信息:所有实体选项均区分大小写。
有关配置文件、实体和密钥的更多说明,请参见配置文件示例。
完成 OIDC 的初始配置之后,使用 tsm authentication openid 子类来设置其他值。
{ "configEntities": { "openIDSettings": { "_type": "openIDSettingsType", "enabled": true, "clientId": "required", "clientSecret": "required", "configURL": "required if staticFile value is not set", "staticFile": "required if configURL value is not set", "externalURL": "required" } } }
配置文件参考
以下列表包括可随 "openIDSettings"
实体集一起包括的所有选项。
_type
必需。
请不要更改。
enabled
必需。
设置为
true
。
clientId
必需。
指定 IdP 已分配给您的应用程序的提供程序客户端 ID。例如,
“laakjwdlnaoiloadjkwha"
。
clientSecret
必需。
指定提供程序客户端密码。这是 Tableau 用于验证来自 IdP 的响应的真实性的令牌。此值是密文,应妥善保管。
例如,
“fwahfkjaw72123="
。
configURL
必需。
指定提供程序配置 URL。如果不指定配置 URL,则删除此选项,并改为指定
staticFile
的路径和文件名。
staticFile
必需。
指定静态 OIDC 发现 JSON 文档的本地路径。如果不指定静态文件,则删除此选项,并改为指定
configURL
的 URL。
externalURL
必需。
服务器的 URL。这通常是您的服务器的公共名称,例如
http://example.tableau.com
。
connectionTimeout
可选。
指定连接超时范围(以秒为单位)。默认值为
10
。
readTimeout
可选。
指定读取超时范围(以秒为单位)。默认值为
30
。
ignoreDomain
如果满足以下条件,请将此项设置为
true
:您使用电子邮件地址作为 Tableau Server 中的用户名
您在 IdP 中配置了具有多个域名的用户
您想要从 IdP 中忽略
email
声明的域名部分
在继续之前,请检查由于将此选项设置为
true
而使用的用户名。可能会发生用户名冲突。如果发生用户名冲突,信息泄露的风险将很高。请参见使用 OpenID Connect 的要求。
ignoreJWK
如果您的 IdP 不支持 JWK 验证,请将此项设置为
true
。在这种情况下,我们建议使用相互 TLS 或另一种网络层安全协议向 IdP 验证通信的身份。默认值为false
。
customScope
指定可用于查询 IdP 的自定义范围用户相关值。请参见使用 OpenID Connect 的要求。
idClaim
如果您的 IdP 不支持使用
sub
声明在 ID 令牌中唯一标识用户,请更改此值。您指定的 IdP 声明应包含单个唯一的字符串。
usernameClaim
将此值更改为组织将使用的 IdP 声明以与 Tableau Server 中存储的用户名匹配。
clientAuthentication
指定 OpenID Connect 的自定义客户端身份验证方法。
若要将 Tableau Server 配置为使用 Salesforce IdP,请将此值设置为
client_secret_post
。
iFramedIDPEnabled
设置为
true
以允许 IdP 显示在 iFrame 中。IdP 必须禁用单击劫持保护才能允许进行 iFrame 演示。
本文包含模板和参考,用于在 Tableau Server 上配置服务器范围的 SAML,以及将配置文件与 samlSettings
实体的键和值配合使用。此信息用于补充配置服务器范围 SAML中的 SAML 配置步骤。
要创建 SAML 配置模板并将其应用于 Tableau Server,您应完成以下步骤:
查看以下两个部分,这两个部分描述了模板及其构造方式(模板类别和定义以及 samlSettings 配置模板)。
将模板中显示的 JSON 代码粘贴到新的文本文件中,并使用 .json 扩展名进行保存。
使用SAML 配置实体参考来帮助您在需要时提供值。
添加特定于您的环境的可选键/值对。举例来说,如果您的 SAML 证书密钥文件需要密码,您将需要使用 tsm configuration set 命令在
wgserver.saml.key.passphrase
参数中指定密码。
模板类别和定义
模板使用占位符来表示每个键值。这些占位符分类如下:
必需:具有
"required"
值的属性必须替换为有效数据,然后才能运行配置命令。查看有效值的配置文件参考。硬编码:以下划线 (_) 为前缀的属性名称(例如
"_type"
)保存硬编码值。不要更改这些值。默认值:所设置为的值不是
"required"
的属性为默认值。这些是您可以根据您的环境进行更改的必需属性。空集:空值 (
""
) 可以按原样传递,或者您可以为安装提供一个值。
重要信息:所有实体选项均区分大小写。
samlSettings 配置模板
将此代码粘贴到文本文件中,并使用下面的参考为您的环境对其进行自定义。
{ "configEntities": { "samlSettings": { "_type": "samlSettingsType", "enabled": true, "returnUrl": "required", "entityId": "required", "certFile": "required", "keyFile": "required", "idpMetadataFile": "required", "idpDomainAttribute": "", "idpUsernameAttribute": "required" } } }
SAML 配置实体参考
以下列表包括 "samlSettings"
实体集可以包含的所有选项。
idpMetadataFile
必需。由 IdP 生成的 XML 文件的路径和文件名。XML 元数据必须包含用户名属性(断言)。
如果您完成了配置服务器范围 SAML中描述的步骤,则您在此处输入的值为:
/var/opt/tableau/tableau_server/data/saml/
enabled
true | false
必需。指示是否启用 SAML 身份验证。在设置其他必需的 SAML 配置选项之前,不要将此选项设置为
true
。
returnURL
这通常是 Tableau Server 用户在其浏览器中输入的用于访问服务器的外部 URL,例如
https://tableau_server.example.com
。此值用于在配置 IDP 时创建 ACS URL 属性。
entityId
必需。服务提供商(本例中为 Tableau Server)实体 ID 值。
向 IdP 标识您的 Tableau Server 配置。我们建议您输入与
returnURL
选项相同的值。
idpUsernameAttribute
必需。在 IdP 元数据中,查找用于指定用户名值的属性,并输入该属性的名称。默认值为
username
。
certFile
必需。输入适用于 SAML 的 x509 证书文件 (.crt) 的位置和文件名。例如:
/var/opt/tableau/tableau_server/data/saml/
有关详细信息,请参见SAML 要求和配置服务器范围 SAML。
keyFile
必需。指定伴随证书文件的私钥 (.key) 文件的位置。例如:
/var/opt/tableau/tableau_server/data/saml/
注意:如果您使用的是需要密码的 RSA PKCS#8 密钥,则必须使用配置键实体(请参见配置文件示例)或使用 tsm configuration set 设置密码短语。使用这些方法的密码短语的键是
wgserver.saml.key.passphrase
。该值必须是非 null 字符串。
idpDomainAttribute
对于使用 LDAP 或 Active Directory 的组织,此值指定 Tableau Server 将引用哪个 SAML 属性来确定域名。举例来说,如果您的 IdP 在
domain
属性中指定域名,则要为此值指定domain
。注意:对于有用户从多个域登录的组织,此值是必需的。如果没有为此键提供值,则使用的值取决于 Tableau Server 身份存储设置:
对于本地身份存储,将忽略
idpDomainAttribute
值。对于 Active Directory 哐 LDAP 身份存储,Tableau 使用配置设置
wgserver.domain.default
中的 FQDN。若要获取
wgserver.domain.default
的值,您可以运行以下命令:tsm configuration get --key wgserver.domain.default
desktopNoSAML
true | false
可选。当用户从 Tableau Desktop 中登录时,允许用户使用 SAML 身份验证。
默认情况下不设置此选项,因此有效行为相当于将其设置为 false。如果通过 Tableau 客户端应用程序进行单点登录不适用于您的 IdP,您可将此项设置为 true 来禁止通过 Tableau Desktop 进行 SAML 身份验证。
appNoSAML
true | false
可选。允许使用 SAML 从旧版本的 Tableau Mobile 应用登录。运行 Tableau Mobile 应用版本 19.225.1731 及更高版本的设备会忽略此选项。若要禁用运行 Tableau Mobile 应用版本 19.225.1731 及更高版本的设备,请在 Tableau Server 上禁用 SAML 作为客户端登录选项。
logoutEnabled
true | false
可选。为已使用 SAML 登录的用户启用单点注销。默认值为
true
。IdP 配置元数据必须包含具有 POST 绑定的单点注销端点。
此设置仅适用于服务器范围的 SAML
设置为
false
时,Tableau Server 不会尝试单点注销。
logoutUrl
可选。输入用户注销服务器后要重定向到的 URL。设置此选项要求
logoutEnabled
设置为true
。默认情况下,这是 Tableau Server 登录页面。您可以指定绝对或相对 URL。
maxAuthenticationAge
可选。指定用户的 IdP 身份验证与 AuthNResponse 消息处理之间允许的最大秒数。默认值为 7200(2 小时)。
若要优化会话长度,请使用与 IdP 上设置值相同的超时值。
maxAssertionTime
可选。指定自创建后 SAML 断言可用的最大秒数。默认值为 3000(50 分钟)。
sha256Enabled
true | false
可选。Tableau Server 在向 IdP 发送消息时将使用的签名类型。设置为
true
时,Tableau Server 将使用 SHA 256 签名算法对消息进行签名。设置为false
时,Tableau Server 将使用 SHA 1 对消息进行签名。默认值为true
。此选项将签名算法设置为 Tableau Server 签名的以下消息:
AuthnRequest 消息(如果已启用
signRequests
)。LogoutRequest 消息(如果已启用
logoutEnabled
)。
signRequests
true | false
可选。指定 Tableau Server 是否会对发送到 IdP 的 AuthnRequest 进行签名。并非所有 IdP 都需要签名的请求。我们建议在配置 SAML 时对请求进行签名以确保最安全的选项。若要验证 IdP 是否接受已签名的请求,请检查 IdP 元数据:如果
wantAuthnRequestsSigned
设置true
,则 IdP 将接受已签名的请求。默认值为
true
。若要禁用签名的请求,请将此选项设置为false
。
acceptableAuthnContexts
可选。设置
AuthNContextClassRef
SAML 属性。此可选属性强制验证 IdP 启动流程中的某些身份验证“上下文”。为此属性设置逗号分隔的值集。设置此属性后,Tableau Server 将验证 SAML 响应是否至少包含列出的值之一。如果 SAML 响应不包含配置的值之一,则即使用户已成功使用 IdP 进行身份验证,身份验证也将被拒绝。将此选项留空将导致默认行为:任何成功经过身份验证的 SAML 响应都将导致用户在 Tableau Server 中被授予会话。
iFramedIdpEnabled
true | false
可选。默认值为
false
,这意味着当用户选择嵌入视图上的登录按钮时,IdP 的登录表单将在弹出窗口中打开。当您将其设置为 true 时,已经登录的服务器 SAML 用户将导航到具有嵌入视图的网页,用户将无需登录即可查看该视图。
如果 IdP 支持在 iframe 内登录,则可以将其设置为 true。iframe 选项没有使用弹出窗口安全,所以并不是所有 IdP 都支持它。如果 IdP 登录页面实现点击劫持保护,大多数情况下,登录页面无法显示在 iframe 中,并且用户无法登录。
如果您的 IdP 确实支持通过 iframe 登录,您可能需要显式启用它。但是,即使您可以使用此选项,它也会针对 SAML 禁用 Tableau Server 点击劫持保护,因此它仍然有安全风险。
将配置文件传递给 Tableau Server
为配置模板中包含的每个实体提供适当的值后,使用以下命令传递 .json 文件并将设置应用于 Tableau Server。
tsm settings import -f path-to-file.json
tsm pending-changes apply
另请参见
完成初始 SAML 配置后,使用 tsm authentication mutual-ssl 设置其他值。
有关用于配置 SAML 的命令行参考,请参阅tsm authentication saml。
使用 sapHanaSettings 实体来为 SAP HANA 配置 SAML 委派。
继续之前,请查看配置 SAP HANA SSO。
使用下面的配置文件模板创建一个 json 文件。使用适当的值填充各个选项之后,使用以下命令传递 json 文件并应用设置:
tsm settings import -f path-to-file.json
tsm pending-changes apply
如果待定更改需要重新启动服务器,pending-changes apply
命令将显示一个提示,告知您将进行重新启动。即使服务器已停止,此提示也会显示,但在这种情况下不会重新启动。您可以使用 --ignore-prompt
选项隐藏提示,但这样做不会改变重新启动行为。如果更改不需要重新启动,则会在不提示的情况下应用更改。有关详细信息,请参阅tsm pending-changes apply。
SAP HANA SAML 设置
下面模板中的设置指定在包含 SAP HANA 的 SAML 委派方案中 Tableau Server 的设置。
配置模板
使用此模板来配置受信任的身份验证设置。
configEntities 中引用的所有文件均必须位于本地计算机上。不要指定 UNC 路径。
重要信息:所有实体选项均区分大小写。
有关配置文件、实体和密钥的更多说明,请参见配置文件示例。
{ "configEntities": { "sapHanaSettings": { "_type": "sapHanaSettingsType", "enabled": "true", "usernameFormat": "username", "usernameCase": "preserve", "certFile": "path-to-cert_file", "keyFile": "path-to-key_file" } } }
配置文件参考
此表包括可随 "gatewaySettings"
实体集一起包括的所有选项。
enabled
必需。
值:
true
或false
usernameFormat
值:
username
、domain_and_username
或email
指定用户名凭据格式。
usernameCase
值:
lower
、upper
或preserve
指定用户输入名称大小写。
certFile
指定本地计算机上证书文件的文件路径和名称。
例如,
"/var/opt/tableau/tableau_server/data/saml/saml_cert.crt"
。
keyFile
指定本地计算机上证书密钥的文件路径和名称。
例如,
"/var/opt/tableau/tableau_server/data/saml/saml_key.der"
。
在配置此实体之前,请参见产品使用情况数据,更好地了解 Tableau 收集的行为和使用情况数据。(决不会包括您的机密数据库值。)
使用下面的配置文件模板创建一个 json 文件。使用适当的值填充各个选项之后,使用以下命令传递 json 文件并应用设置:
tsm settings import -f /path/to/file.json
tsm pending-changes apply
如果待定更改需要重新启动服务器,pending-changes apply
命令将显示一个提示,告知您将进行重新启动。即使服务器已停止,此提示也会显示,但在这种情况下不会重新启动。您可以使用 --ignore-prompt
选项隐藏提示,但这样做不会改变重新启动行为。如果更改不需要重新启动,则会在不提示的情况下应用更改。有关详细信息,请参阅tsm pending-changes apply。
配置模板
使用此模板配置产品使用情况数据设置。
重要信息:所有实体选项均区分大小写。
有关配置文件、实体和密钥的更多说明,请参见配置文件示例。
{ "configEntities": { "shareProductUsageDataSettings": { "_type": "shareProductUsageDataSettingsType", "enabled": "true" } } }
配置文件参考
以下列表包括可随 "shareProductUsageDataSettings"
实体集一起包括的所有选项:
_type
必需值:
shareProductUsageDataSettingsType
enabled
选项:
true
或false
默认值
true
将您的服务器中的产品使用情况数据与 Tableau 共享。
在配置受信任的身份验证之前,请查看受信任的身份验证。
使用下面的配置文件模板创建一个 json 文件。使用适当的值填充各个选项之后,使用以下命令传递 json 文件并应用设置:
tsm settings import -f /path/to/file.json
tsm pending-changes apply
如果待定更改需要重新启动服务器,pending-changes apply
命令将显示一个提示,告知您将进行重新启动。即使服务器已停止,此提示也会显示,但在这种情况下不会重新启动。您可以使用 --ignore-prompt
选项隐藏提示,但这样做不会改变重新启动行为。如果更改不需要重新启动,则会在不提示的情况下应用更改。有关详细信息,请参阅tsm pending-changes apply。
配置模板
使用此模板来配置受信任的身份验证设置。
重要信息:所有实体选项均区分大小写。
有关配置文件、实体和密钥的更多说明,请参见配置文件示例。
完成受信任的身份验证的初始配置后,使用 tsm authentication trusted 子类别来设置其他值。
{ "configEntities": { "trustedAuthenticationSettings": { "_type": "trustedAuthenticationSettingsType", "trustedHosts": ["webserv1","webserv2","webserv3"] } } }
配置文件参考
以下列表包括可随 "trustedAuthenticationSettings"
实体集一起包括的所有选项。
trustedHosts
必需。
从 Tableau Server 请求受信任票证的 Web 服务器的 IP 地址或主机名。
此选项采用字符串列表,该列表要求以引号或方括号传递每个 IP 或主机,用逗号(无空格)分隔。例如:
["192.168.1.101","192.168.1.102","192.168.1.103"]
或["webserv1","webserv2","webserv3"]
。您指定的值将覆盖以前的设置。因此,您必须在配置此值时包括主机的完整列表。
tokenLength
可选。
该值可设置为 9 和 255(包括 9 和 255)之间的任意整数。
确定每个受信任票证中的字符数量。默认设置(
24
个字符)提供 144 位随机性。除非useV2Tickets
设置为true
(不是推荐的最佳做法),否则将忽略此选项。
logLevel
可选。
all
|debug
|info
|warn
|error
|fatal
|off
默认值:
info
指定与创建和兑换受信任的票证相关的进程日志记录级别。请参见更改日志记录级别。
timeoutInSeconds
可选。
默认值:
180
指定在受信任的票证创建之后使其失效所需的时间长度(以秒为单位)。
tryCount
可选。
整数。
默认值:
10
指定尝试创建受信任的票证条目的次数。
use9DigitToken
可选。
true
|false
默认值:
false
设置为
true
时,票证的长度是 9 位数(在版本 8.0 和更低版本中),并忽略tokenLength
选项。此选项用于为旧代码提供暂时支持。警告:将此选项设置为
true
会对受信任票证身份验证的安全强度产生严重的负面影响。
useV2Tickets
可选。
true
|false
默认值:
false
指定 Tableau Server 是否应为受信任的票证请求返回旧 URL 格式。旧 URL 格式包括一个由 24 个字符组成的 Base64 编码字符串。从 Tableau Server 10.3 开始,返回的 URL 已更新,并包括一个 Base64 编码的 UUID,以及一个 24 字符的安全随机字符串。如果您部署的受信任票证包含需要旧 URL 格式的自定义代码,请仅将此选项设置为
true
。我们建议改为将自定义代码更新为接受新 URL 格式。
此实体用于管理 Web 数据连接器 (WDC) 设置。若要了解有关在 Tableau Server 中使用 WDC 的详细信息,请参见 Tableau Server 中的 Web 数据连接器和tsm data-access。
使用下面的配置文件模板创建一个 .json 文件。在使用适当的值填充选项后,请使用以下命令传递 .json 文件并应用设置:
tsm settings import -f /path/to/file.json
tsm pending-changes apply
如果待定更改需要重新启动服务器,pending-changes apply
命令将显示一个提示,告知您将进行重新启动。即使服务器已停止,此提示也会显示,但在这种情况下不会重新启动。您可以使用 --ignore-prompt
选项隐藏提示,但这样做不会改变重新启动行为。如果更改不需要重新启动,则会在不提示的情况下应用更改。有关详细信息,请参阅tsm pending-changes apply。
Web 数据连接器设置
下面模板中的 Web 数据连接器 (WDC) 设置指定是否启用 WDC、是否启用 WDC 刷新,以及主安全列表和辅助安全列表。允许列表指明哪些 WDC URL 已获批准可在 Tableau Server 安装中使用,以及连接器可向其发送请求和从中接收请求的域或 URL。
配置模板
使用此模板配置 WDC 设置。
重要信息:所有实体选项均区分大小写。
有关配置文件、实体和密钥的更多说明,请参见配置文件示例。
{ "configEntities": { "web-data-connector-settings": { "_type": "webDataConnectorSettingsType", "refreshEnabled": true, "whitelist": { "https://www.example.com:443/wdc/": { "secondaryWhitelist": [ "https://www.example.com/.*", "https://www.coolapi.com/.*" ] } }, "enabled": true } } }
配置文件参考
此表包括可随 web-data-connector-settings
实体集一起包括的所有选项。
_type
必需。
值:
webDataConnectorSettingsType
请不要更改。
refreshEnabled
设置为
false
以禁用 WDC 刷新。默认为true
。
whitelist
必需。
可包含一个或多个匹配的安全列表和辅助安全列表集(每个 WDC 一个集)。提供的第一个 URL 是安全列表,您可以在其中指定 WDC URL 和端口,格式如下:
对于多个 WDC,
值为 443(即 HTTPS 的默认端口),但您可以通过在 Tableau Server 或 Tableau Online 上查看数据源详细信息来检查适用于您的连接器的值。
secondaryWhitelist
必需。
指定连接器可向其发送请求和从中接收请求的域或 URL,例如 JavaScript 库、REST API 或本地文件。若要将整个域添加到辅助安全列表,您可以在 URL 结尾使用通配符表达式
.*
,如下例所示:https://www.example.com/.*
enabled
设置为
false
以禁止使用 WDC。默认为true
。