SSRS 2020报表服务器HTTP 503错误:除授本地管理员权限外有无更优解?
SSRS 503错误权限配置最佳实践
授予本地管理员权限绝对不是最优方案,生产环境给服务账号授予过高权限会带来极大的安全风险,完全可以通过细粒度权限分配解决问题。
SSRS服务账号的最小必要权限
本地服务器权限
- 对SSRS安装目录(默认路径
C:\Program Files\Microsoft SQL Server Reporting Services\SSRS)拥有读取、执行权限 - 对SSRS日志目录(默认路径
C:\Program Files\Microsoft SQL Server Reporting Services\SSRS\LogFiles)拥有读取、写入、修改权限 - 对SSRS临时文件目录(默认路径
C:\Program Files\Microsoft SQL Server Reporting Services\SSRS\TempFiles)拥有读取、写入、修改、删除权限 - 拥有「以服务身份登录」本地安全策略权限
- 拥有HTTP.sys的URL预留命名空间访问权限,对应配置可以通过SSRS配置管理器的「Web服务URL」「Web门户URL」选项卡自动注册,也可以手动用
netsh http add urlacl命令配置 - 若启用了报表订阅本地文件交付,需要对目标交付目录拥有写入权限
SQL Server数据库权限
SSRS服务账号需要对ReportServer、ReportServerTempDB两个数据库拥有以下权限:
RSExecRole数据库角色成员身份(默认配置会自动分配,迁移或手动配置时需要重点检查)- 不需要sysadmin等服务器级高权限
问题根因修复步骤
授予管理员权限后问题解决,大概率是权限缺失导致服务无法读取配置、写入日志或绑定HTTP端口,不需要保留管理员权限,按以下步骤排查修复即可:
注意操作前先撤销服务账号的本地管理员权限,避免遗留安全风险
- 打开SSRS配置管理器,检查Web服务URL、Web门户URL的预留状态是否为「已预留」,若未预留直接点击「应用」重新注册即可
- 核对前文列出的本地目录权限,确保服务账号拥有对应路径的访问权限
- 打开本地安全策略编辑器(运行
secpol.msc),在「本地策略-用户权限分配-作为服务登录」中确认SSRS服务账号已被加入列表 - 连接SQL Server实例,检查SSRS服务账号在ReportServer、ReportServerTempDB中是否已分配
RSExecRole角色
内容的提问来源于stack exchange,提问作者WallyCode
相关产品推荐
相关产品推荐

