如何以编程方式确定有权访问特定SSRS报告的登录/用户?
我想创建一个数据集市,以便为想要查看谁有权访问特定报告的经理填充报告。我们当前为Active Directory组分配权限,然后SQL Server和SSRS使用这些权限来确定权限。我想知道SSRS的元数据中是否有一个表跟踪如何为报告分配权限。
答案 0 :(得分:27)
这是一个可以完成您想要的大部分内容的脚本,您可以根据需要进行调整:
select C.UserName, D.RoleName, D.Description, E.Path, E.Name
from dbo.PolicyUserRole A
inner join dbo.Policies B on A.PolicyID = B.PolicyID
inner join dbo.Users C on A.UserID = C.UserID
inner join dbo.Roles D on A.RoleID = D.RoleID
inner join dbo.Catalog E on A.PolicyID = E.PolicyID
order by C.UserName
您可以在SSRS SQL ReportServer上运行脚本
答案 1 :(得分:1)
上述脚本可以正常工作,但请记住,它还会显示已删除的用户 - 即不再位于Active Directory中的用户,有时可能会造成混淆。
此外,Microsoft并未正式支持对其ReportServer数据库的任何查询。