You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SSRS ReportServer与Portal访问返回401错误求助

SSRS 401身份验证错误及Windows 11运行身份问题排查

问题现象

  • 访问ReportServer和Portal URL时均返回401 HTTP错误,弹出Windows身份验证窗口,输入账号密码后仍返回401,此前功能正常
  • Windows 11中域账号通过SSO连接工作域,无法访问SSRS;且无法执行Run As Different User操作,执行该操作直接报错

已尝试的解决方案

  • 为IUSRS组、管理员账号及应用池用户授予文件夹权限
  • 检查IIS中无授权规则阻止访问
  • 确认用户已存在于ReportServer数据库中
  • 将匿名身份验证凭据从IUSR改为应用程序池标识
  • 重新安装SSRS

环境信息

  • SSRS服务账号设置为Network Service,未指定Execution Account
  • SSRS日志未记录任何错误
  • RsReportServer.config中的URL预留配置:
<URLReservations>
    <Application>
        <Name>ReportServerWebService</Name>
        <VirtualDirectory>ReportServer</VirtualDirectory>
        <URLs>
            <URL>
                <UrlString>http://+:80</UrlString>
                <AccountSid>S-1-5-80-4050220999-2730734961-1537482082-519850261-379003301</AccountSid>
                <AccountName>NT SERVICE\SQLServerReportingServices</AccountName>
            </URL>
            <URL>
                <UrlString>https://Performa-PC:443</UrlString>
                <AccountSid>S-1-5-80-4050220999-2730734961-1537482082-519850261-379003301</AccountSid>
                <AccountName>NT SERVICE\SQLServerReportingServices</AccountName>
            </URL>
        </URLs>
    </Application>
    <Application>
        <Name>ReportServerWebApp</Name>
        <VirtualDirectory>Reports</VirtualDirectory>
        <URLs>
            <URL>
                <UrlString>http://+:80</UrlString>
                <AccountSid>S-1-5-80-4050220999-2730734961-1537482082-519850261-379003301</AccountSid>
                <AccountName>NT SERVICE\SQLServerReportingServices</AccountName>
            </URL>
            <URL>
                <UrlString>https://Performa-PC:443</UrlString>
                <AccountSid>S-1-5-80-4050220999-2730734961-1537482082-519850261-379003301</AccountSid>
                <AccountName>NT SERVICE\SQLServerReportingServices</AccountName>
            </URL>
        </URLs>
    </Application>
</URLReservations>

可能的原因分析

1. Kerberos身份验证配置缺失

SSRS使用Network Service账号运行时,必须为服务注册正确的SPN(服务主体名称)才能支持Kerberos身份验证。Windows 11的SSO依赖Kerberos,若SPN未注册或不正确,会导致身份验证回退到NTLM,而NTLM可能因本地/域信任问题无法通过,即使输入账号密码也会返回401。

  • 需检查是否注册了以下格式的SPN:
    HTTP/<服务器完整域名> NT SERVICE\SQLServerReportingServices
    HTTP/<服务器NetBIOS名称> NT SERVICE\SQLServerReportingServices

2. URL预留权限不匹配

从配置可见,URL预留的授权账号是NT SERVICE\SQLServerReportingServices,但SSRS实际运行在Network Service账号下,两者权限不匹配可能导致访问被拒绝。

  • 用netsh http show urlacl命令查看当前URL预留的权限列表,确认Network Service账号对http://+:80和https://Performa-PC:443拥有访问权限。

3. Windows 11的Run As Different User限制

Windows 11对该操作有更严格的安全限制,尤其是在账号处于SSO状态时:

  • 检查本地组策略:计算机配置>Windows设置>安全设置>本地策略>安全选项>用户账户控制:管理员批准模式中管理员的提升权限提示行为,确保未设置为"拒绝提升"
  • 检查UAC设置是否过高,过高的UAC级别可能阻止身份切换操作。

4. ReportServer数据库角色权限变更

虽然确认用户存在于ReportServer数据库,但可能用户的系统角色或内容角色权限被意外移除:

  • 登录ReportServer数据库,检查用户是否拥有系统管理员、内容管理员等必要角色权限,确保权限配置完整。

5. HTTPS证书问题

配置了HTTPS访问的情况下,若SSL证书的主体名称与服务器FQDN不匹配,或证书未被本地计算机信任,会中断身份验证流程:

  • 检查SSL证书的有效性,确认证书主体名称与服务器域名一致,且已添加到本地计算机的"受信任的根证书颁发机构"存储中。

内容的提问来源于stack exchange,提问作者user3167162

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 00:07:04