admin管理员组

文章数量:1122833

I'm using SSRS 2019. I 200+ reports and multiple users, with varying access levels. I am familiar with granting access to reports, subscriptions etc. but I am looking to interrogate the source of these access records. Ideally, I would like to create a single output: For each SSRS report on the server, generate a list of named users and their access level.

Many Thanks.

I'm using SSRS 2019. I 200+ reports and multiple users, with varying access levels. I am familiar with granting access to reports, subscriptions etc. but I am looking to interrogate the source of these access records. Ideally, I would like to create a single output: For each SSRS report on the server, generate a list of named users and their access level.

Many Thanks.

Share Improve this question asked yesterday pseudonympseudonym 11 bronze badge
Add a comment  | 

1 Answer 1

Reset to default 0

You can query what User has what Role for which Report from the SSRS database somewhat like so:

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

You could use R.TaskMask to output all the individual permissions, but it's a 16-bit mask and I'm not gonna figure it out right now. Should be easy, though, just a little tedious.

本文标签: reporting servicesSSRS Report Access by userStack Overflow