Sql SSRS 2016本机双跳Windows身份验证
我和另一位管理员一直在尝试解决新报表服务器上的双跳身份验证问题(其中报表作为经过身份验证的用户运行,但无法委托给数据源并返回“NT Authority\Anonymous”身份验证错误),我们似乎遇到了死胡同。这里有一点关于我们的设置 我们在一台服务器上安装了SSRS 2016,报告的数据源在另一台服务器上。我们已经完成了以下步骤来尝试启用身份验证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
- http/NetBIOS:80域\服务名
- http/FQDN.contoso.com:80域\服务名
- mssqlsvc/FQDN.contoso.com:1433 domain\servicename
数据源需要在服务帐户下运行,还是可以在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服务。但是工作了,谢谢