---
schema_version: "1"
id: 7b5121d391c021beef3f5eb856be1c54ae64ffc62aff18e7fbce08cf9a74f9f6
title: samlSettings 实体
collection: tableau
version: current
locale: zh-cn
portal_url: https://docs.salesforce.com/tableau/current/zh-cn/server-linux/entity_saml.md
canonical_url: https://help.tableau.com/current/server-linux/zh-cn/entity_saml.htm
source_site: help.tableau.com
content_type: documentation
content_hash: d44e9f5f8bb1740e24dbf127cba0a27f107cafbf9db7d470a20c16d6b00cdfbf
description: Reference for the samlSettings entity to configure server-wide SAML via a JSON file.
---
[跳转到主要内容](#main-content)

# samlSettings 实体

本文包含模板和参考，用于在 Tableau Server 上配置服务器范围的 SAML，以及将配置文件与 `samlSettings` 实体的键和值配合使用。此信息用于补充[配置服务器范围 SAML](https://help.tableau.com/current/server-linux/zh-cn/config_saml.htm)中的 SAML 配置步骤。

要创建 SAML 配置模板并将其应用于 Tableau Server，您应完成以下步骤：

1. 查看以下两个部分，这两个部分描述了模板及其构造方式（[模板类别和定义](#value-categories)以及 [samlSettings 配置模板](#saml-config-template)）。
2. 将模板中显示的 JSON 代码粘贴到新的文本文件中，并使用 .json 扩展名进行保存。
3. 使用[SAML 配置实体参考](#saml-config-entity-reference)来帮助您在需要时提供值。
4. 添加特定于您的环境的可选键/值对。举例来说，如果您的 SAML 证书密钥文件需要密码，您将需要使用 [tsm configuration set](https://help.tableau.com/current/server-linux/zh-cn/cli_configuration_tsm.htm#TSMSet) 命令在 `wgserver.saml.key.passphrase` 参数中指定密码。
5. [将配置文件传递给 Tableau Server](#apply-config-template)。

## 模板类别和定义

模板使用占位符来表示每个键值。这些占位符分类如下：

- **必需：**具有 `"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](https://help.tableau.com/current/server-linux/zh-cn/config_saml.htm)中描述的步骤，则您在此处输入的值为：

`/var/opt/tableau/tableau_server/data/saml/<metadata-file.xml>`

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/<file.crt>`

有关详细信息，请参见[SAML 要求](https://help.tableau.com/current/server-linux/zh-cn/saml_requ.htm)和[配置服务器范围 SAML](https://help.tableau.com/current/server-linux/zh-cn/config_saml.htm)。

keyFile

必需。指定伴随证书文件的私钥 (.key) 文件的位置。例如：

`/var/opt/tableau/tableau_server/data/saml/<file.key>`

**注意**：如果您使用的是需要密码的 RSA PKCS#8 密钥，则必须使用配置键实体（请参见[配置文件示例](https://help.tableau.com/current/server-linux/zh-cn/config_file_example.htm)）或使用 [tsm configuration set](https://help.tableau.com/current/server-linux/zh-cn/cli_configuration_tsm.htm#TSMSet) 设置密码短语。使用这些方法的密码短语的键是 `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 消息处理之间允许的最大秒数。默认值为 -1，这意味着默认情况下 maxAuthenticationAge 未设置或被忽略。在 2022 年 2 月之前，默认值为 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 <commands>](https://help.tableau.com/current/server-linux/zh-cn/cli_authentication_tsm.htm#TSMMutualSSL) 设置其他值。

有关用于配置 SAML 的命令行参考，请参阅[tsm authentication saml <commands>](https://help.tableau.com/current/server-linux/zh-cn/cli_authentication_tsm.htm#TSMsaml)。