如何在Reporting Services 2008 r2环境中管理Kerberos身份验证问题

时间:2012-01-04 15:19:57

标签: sql-server-2008 ssrs-2008 reportingservices-2005 reporting-services

我的ssrs 2008报告很少。我创建了一组用户,并为该组提供了所有必需的权限。

现在,当我运行这些报告时,我发现了一些奇怪的错误。

用户'NT AUTHORITY \ ANONYMOUS LOGON'登录失败

我不知道它来自哪里。

我得到了一个与Kerberos身份验证相关的问题的建议。请有人知道如何解决这个让我知道。

或者有人知道要解决这个kerberos问题,如果可能的话也会分步告诉我。

由于

维克

1 个答案:

答案 0 :(得分:0)

您的报告是使用传递集成身份验证,定义用户集成身份验证还是sql用户身份验证?我怀疑是第一个,在这种情况下,你正在处理假冒和委托之间的区别。

使用集成身份验证连接到Web服务器时,您实际上在使用NTLM或Kerberos。两者都允许运行Web服务器的进程像您一样运行。 NTLM通过安全令牌进行模拟可以防止服务器连接到另一个服务器,就像你(也就是数据库服务器)那样,再次扮演你的角色 - 这就是“双跳”问题。 Kerberos使用委托,传递票证,每个服务器都可以检查有效性并允许。

要使Kerberos正常工作,有几个要求。

  • 如果您使用其主DNS名称以外的名称连接到Web服务器(使用别名),则必须将别名注册为对具有SetSPN的计算机有效。即使没有这个,您也可能遇到SPN(服务主体名称)问题。仔细检查服务器上的SPN,看它是否符合您的预期。
  • 您最初连接的服务器必须在您的域策略中“受信任以进行委派”。
  • 您的Web服务器运行的用户也必须“信任委托”。

您可以通过使报告存储某种类型的凭据而不是使用传递身份验证来解决所有这些问题。

dev和test之间的区别可能是IIS用户或数据源。

现在,我假设您没有使用SharePoint,只是在进行正常的SSRS Web安装。所以,如果这不正确,请说出来。