SSRS 2016克隆后部分用户Report Builder权限异常求助
SSRS 2016原生环境克隆后Report Builder权限异常问题
近期将一套SSRS 2016原生部署环境从原应用及数据库服务器克隆至新服务器,已备份并重新应用原安装的密钥,恢复了所有加密数据的访问权限。现有用户可通过SSRS门户网站访问并运行报表,但部分用户使用连接至新环境的Report Builder运行同一报表时失败,报错信息如下:
Microsoft Report Builder: Failed to preview report. The permissions granted to user 'mydomain\abc' are insufficient for performing this operation. ---> Microsoft.ReportingServices.Diagnostics.Utilities.AccessDeniedException: The permissions granted to user 'mydomain\abc' are insufficient for performing this operation
示例用户mydomain\abc已在根目录、文件夹及报表级别被分配Content Manager和Report Builder角色,且该用户在原环境中通过Report Builder打开同一报表可正常运行,新旧环境权限配置一致。
环境信息
SSRS 2016 Native deployment OS: Windows 2016 Server DB: SQL Server Enterprise Edition 2016
排查及解决步骤
1. 补全系统级角色权限
除了内容级(根目录、文件夹、报表)的角色分配,必须确保用户被添加到系统级Report Builder角色:
- 登录SSRS门户网站,点击右上角
设置 > 站点设置 > 安全性; - 点击
添加角色分配,输入用户账户mydomain\abc,勾选Report Builder系统角色后保存。
2. 修正Report Builder连接方式
- 让用户避免打开本地缓存的报表文件,直接通过Report Builder的
文件 > 打开 > 报表服务器路径,输入新环境的SSRS门户完整URL,重新定位并打开报表后尝试预览; - 若用户使用旧版Report Builder(如2013及更早),卸载后安装Report Builder 2016,确保版本与SSRS服务器兼容。
3. 重置加密密钥与服务账户权限
- 打开
报表服务配置管理器,切换到服务账户页面,确认服务运行账户具备:- ReportServer、ReportServerTempDB数据库的
db_owner权限; - 本地服务器的
Log on as a service权限;
- ReportServer、ReportServerTempDB数据库的
- 切换到
加密密钥页面,先备份当前密钥,点击删除加密内容,随后重新导入原备份的密钥,最后重启SSRS服务。此操作会重置加密的数据源凭据,需后续重新配置正确的连接信息。
4. 配置Kerberos与网络规则
- 若环境使用Kerberos身份验证,在Active Directory中为新SSRS服务器注册SPN:
setspn -S HTTP/<SSRS服务器FQDN> <SSRS服务账户> setspn -S HTTP/<SSRS服务器NetBIOS名称> <SSRS服务账户> - 确认新服务器Windows防火墙已开放SSRS服务端口(默认80),允许Report Builder客户端的入站/出站请求。
内容的提问来源于stack exchange,提问作者pmn
相关产品推荐
相关产品推荐

