SAML 疑难解答

本主题提供相关信息,帮助解决在配置 SAML 身份验证时可能发生的问题。

SAML 和启用自动登录

如果您使用 SAML 且 Tableau Server 还配置为使用 Active Directory,请不要同时选择“启用自动登录”“启用自动登录”和 SAML 不能同时在同一服务器安装上使用。

配置 SAML 时出现 HTTP 状态 500 错误

在某些情况下,启用 SAML 并在浏览器中导航到 Tableau Server URL 之后,您可能会收到 HTTP 状态 500 错误并看到以下错误:

org.opensaml.saml2.metadata.provider.MetadataProviderException: User specified binding is not supported by the Identity Provider using profile urn:oasis:names:tc:SAML:2.0:profiles:SSO:browser

为了帮助解决此错误,请确保以下各项:

  • 在“SAML”选项卡中指定的 SSO 配置文件的 IdP URL 正确无误。

  • 在 IdP 中创建服务提供程序时提供的 SSO 配置文件的 IdP URL 正确无误。

  • IdP 配置为使用 HTTP-POST 请求。(不支持重定向和 SOAP。)

如果任何这些设置不正确,请进行适当的更新,然后再次执行 SAML 配置步骤,从通过 Tableau Server 生成和导出 XML 元数据文档开始。

如果这些设置正确无误,但您仍然看到错误,请检查 Tableau Server 和 IdP 生成的元数据 XML,如 SAML 要求中所述。

从命令行登录

当您使用 tabcmdTableau 数据提取命令行实用程序(链接在新窗口中打开)(Tableau Desktop 随附)登录到 Tableau Server 时,SAML 不用于进行身份验证,即使将 Tableau Server 配置为使用 SAML 也不例外。这些工具要求在最初安装 Tableau Server 时配置身份验证(本地身份验证或 AD)。

登录失败:未能找到用户

登录失败,并出现以下消息:

>Login failure: Identity Provider authentication successful for user <username from IdP>. Failed to find the user in Tableau Server.

此错误通常意味着 Tableau Server 中存储的用户名与 IdP 提供的用户名之间存在不匹配。若要修复此错误,请确保这些用户名匹配。例如,如果史珍妮的用户名在 IdP 中存储为 jsmith,那么它在 Tableau Server 中也必须存储为 jsmith

登录失败:SSL 卸载

登录失败,并出现以下消息:

Unable to Sign In - Invalid username or password.

此外,vizportal 日志(设置为 debug 模式)包含以下消息:

DEBUG com.tableau.core.util.RemoteIP - Found header null in X-FORWARDED-PROTO

注意:若要记录 SAML 相关事件,vizportal.log.level 必须设置为 debug。有关详细信息,请参见更改日志记录级别

这种消息组合指明将连接 SSL 卸载到 Tableau Server 的外部代理服务器的配置不正确。若要解决此问题,请参见知识库文章升级后 SAML 出现“Unable to Sign In”和“Invalid username or password”错误(链接在新窗口中打开)

SAML 错误日志

SAML 身份验证在 Tableau Server 外部进行,因此,排查身份验证问题可能很困难。但是,Tableau Server 会记录登录尝试。可以创建日志文件的快照,并使用它们来排查问题。有关详细信息,请参见日志文件快照(将日志存档)

注意:若要记录 SAML 相关事件,vizportal.log.level 必须设置为 debug。有关详细信息,请参见更改日志记录级别

在未解压的日志文件快照内的以下文件中,检查 SAML 错误:

\vizportal\vizportal-<n>.log

应用程序进程 (vizportal.exe) 处理身份验证,因此 SAML 响应由该进程记录。

末尾斜杠

在“SAML”选项卡上,确认“Tableau Server 返回 URL”的末尾没有斜杠

正确:http://tableau_server

错误:http://tableau_server/

确认连接

确认您配置的 Tableau Server 具有可路由的 IP 地址,或者在防火墙上具有允许直接与服务器双向通信的 NAT。

若要测试连接,可以在 Tableau Server 上运行 telnet,并尝试与 SAML IdP 进行连接。例如:C:\telnet 12.360.325.10 80

以上测试应连接到 IdP 上的 HTTP 端口 (80),而且您应收到 HTTP 标头。

多个域

在“SAML”选项卡上,确认 Tableau Server属性将检测 SAML 断言中 domain\username 格式的域,方法是将其留空。

正确:<空>

不正确:yourdomain.com

感谢您的反馈!您的反馈已成功提交。谢谢!