3

我自己和另一位管理员一直在尝试解决我们新报告服务器上的双跳身份验证问题(报告以经过身份验证的用户身份运行,但无法委托给数据源并返回“NT Authority\Anonymous”身份验证错误)和我们似乎走到了死胡同。这里有一点关于我们的设置。

我们在一台服务器上安装了 SSRS 2016,而我们的报告数据源在另一台服务器上。我们已完成以下步骤来尝试启用身份验证

  1. 在报告服务器上设置组策略以启用凭据委派
  2. 确保报表服务器上的 SSRS 和 MSSQLsrv 为运行这两种服务的服务帐户设置了正确的 SPN:
    • http/NetBIOS:80 域\服务名
    • http/FQDN.contoso.com:80 域\服务名
    • mssqlsvc/FQDN.contoso.com:1433 域\服务名
  3. 在 Service 帐户上启用 Kerberos 委派,并确保“帐户敏感且无法委派”。框未选中
  4. RSWindowsNegotiate/在 RSReportServer.config 文件中将 Tag 切换为 < >
  5. 重新启动服务

尝试连接报表服务器上的数据源时,我们仍然收到错误消息,甚至出现通过浏览器连接到网页的问题。奇怪的是,我们尝试在报表服务器上设置链接服务器,将安全性配置为在执行命令的用户下运行,并且能够成功地在链接服务器上进行双跳,但仍然不是来自 SSRS。

数据源是否需要在服务帐户下运行,还是可以在 SQL 的本地服务帐户下运行?服务帐户是否需要对服务器所在的 OU 授予权限?我还可能缺少哪些其他物品?

4

1 回答 1

5

6个多月后,我们终于解决了这个问题。

为 SSRS 服务帐户设置 SPN(您只需要 http/NetBIOS:80 domain\servicename 和 http/FQDN.contoso.com:80 domain\servicename)后,您需要在 SSRS 服务帐户上设置“委派”选项卡以包含“信任此用户以委托任何服务”或“信任此用户以仅委托给指定服务...”从您尝试查询的数据源中选择 MSSQLSRV 服务。

我们错误地认为该委托是为了指定需要允许报表服务器上的哪些服务通过 Kerberos 票证,而不是允许该服务帐户代表用户将它们发送到哪些服务器。

结果得知,数据源 sql server 运行的服务帐户无关紧要,只要它具有正确的 SPN 并且 OU 委派与这种类型的 Kerberos 委派无关。

于 2017-01-30T03:00:29.343 回答