Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql SSRS 2016本机双跳Windows身份验证_Sql_Authentication_Reporting Services_Sql Server 2016_Kerberos Delegation - Fatal编程技术网

Sql SSRS 2016本机双跳Windows身份验证

Sql SSRS 2016本机双跳Windows身份验证,sql,authentication,reporting-services,sql-server-2016,kerberos-delegation,Sql,Authentication,Reporting Services,Sql Server 2016,Kerberos Delegation,我和另一位管理员一直在尝试解决新报表服务器上的双跳身份验证问题(其中报表作为经过身份验证的用户运行,但无法委托给数据源并返回“NT Authority\Anonymous”身份验证错误),我们似乎遇到了死胡同。这里有一点关于我们的设置 我们在一台服务器上安装了SSRS 2016,报告的数据源在另一台服务器上。我们已经完成了以下步骤来尝试启用身份验证 在报表服务器上设置组策略以启用凭据委派 确保报表服务器上的SSR和MSSQLsrv为运行这两个服务的服务帐户设置了正确的SPN: http/Net

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

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

  • 在报表服务器上设置组策略以启用凭据委派
  • 确保报表服务器上的SSR和MSSQLsrv为运行这两个服务的服务帐户设置了正确的SPN:
    • http/NetBIOS:80域\服务名
    • http/FQDN.contoso.com:80域\服务名
    • mssqlsvc/FQDN.contoso.com:1433 domain\servicename
  • 在服务帐户上启用Kerberos委派,并确保未选中“帐户敏感且无法委派”框
  • 在RSReportServer.config文件中将标记切换为
  • 重新启动服务
  • 我们在尝试连接报表服务器上的数据源时仍然收到错误,甚至在通过浏览器连接到网页时出现问题。奇怪的是,我们尝试在报表服务器上设置一个链接服务器,将安全性配置为在执行命令的用户下运行,并且能够成功地在链接服务器上进行双跳,但仍然无法从SSR进行


    数据源需要在服务帐户下运行,还是可以在SQL的本地服务帐户下运行?服务帐户是否需要向服务器所在的OU授予授权?我还可能遗漏哪些项目?

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

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

    我们错误地认为,此委派是为了指定需要允许报表服务器上的哪些服务传递Kerberos票证,而不是允许此服务帐户代表用户向哪些服务器发送这些服务


    因此,我们了解到,只要数据源sql server具有正确的SPN和OU委派与此类型的Kerberos委派无关,那么它运行的是哪个服务帐户并不重要。

    我们必须从运行sql引擎的服务帐户中选择MSSQLSvc服务,然后重新启动SSRS服务。但是工作了,谢谢