我正在使用 SSRS 2019。我有 200 多个报告和多个用户,具有不同的访问级别。我熟悉授予对报告、订阅等的访问权限,但我希望询问这些访问记录的来源。理想情况下,我想创建一个输出:对于服务器上的每个 SSRS 报告,生成指定用户及其访问级别的列表。
非常感谢。
您可以从 SSRS 数据库查询哪个用户具有哪个报告的哪个角色,有点像这样:
select Report = C.[Path]
, [User] = U.UserName
, [Role] = R.RoleName
from [Catalog] C
inner join PolicyUserRole PUR on PUR.PolicyID = C.PolicyID
inner join Roles R on R.RoleID = PUR.RoleID
inner join Users U on U.UserID = PUR.UserID
where C.[Type] = 2 -- report
您可以使用
R.TaskMask
输出所有单独的权限,但它是一个 16 位掩码,我现在不会弄清楚。不过应该很容易,只是有点乏味。