How can one programmatically determine logins/users that have permission to access specific SSRS reports?
I want to create a datamart in order to populate reports for managers who want to see who has access to specific reports. We currently assign permissions to Active Directory groups which are then used by SQL Server and SSRS to determine permissions. I want to know if there is a table within SSRS's metadata which tracks how permissions are assigned to reports.
3条答案
按热度按时间wa7juj8i1#
This is a script that does most of what you want, you can tweak it to your needs:
you can run the script on the SSRS SQL ReportServer
zz2j4svz2#
The above script will work but keep in mind that it will also display deleted users - i.e. users that are no longer in Active Directory which may be confusing sometimes.
Also, Microsoft does not officially support any queries against their ReportServer database.
xlpyo6sf3#
Here is a query I came up with which only shows the unique permissions (root folder and wherever folder security inheritance is broken) instead of listing out every report catalog item. This layout is easier to read for things like access reviews if you have a lot of reports. Tested with SQL 2014.
Note: as mentioned by Paul this will show what is assigned in SSRS but isn't aware of if an Active Directory account is disabled or has been deleted.