Подтвердить что ты не робот

SSRS. Определить разрешения отчетов через таблицы базы данных ReportServer?

Как программно определить логины/пользователи, имеющие разрешение на доступ к определенным отчетам SSRS?

Я хочу создать datamart, чтобы заполнить отчеты для менеджеров, которые хотят видеть, кто имеет доступ к определенным отчетам. В настоящее время мы назначаем разрешения для групп Active Directory, которые затем используются SQL Server и SSRS для определения разрешений. Я хочу знать, есть ли таблица в метаданных SSRS, которая отслеживает, как разрешения назначаются отчетам.

4b9b3361

Ответ 1

Это script, который делает большую часть того, что вы хотите, вы можете настроить его на свои нужды:

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   

вы можете запустить script в SSRS SQL ReportServer

Ответ 2

Вышеупомянутый script будет работать, но имейте в виду, что он также отображает удаленных пользователей, то есть пользователей, которые больше не находятся в Active Directory, которые иногда могут сбивать с толку.

Кроме того, Microsoft официально не поддерживает любые запросы к своей базе данных ReportServer.

Ответ 3

Как бы вы пошли дальше и выяснили, какие пользователи AD входят в какие группы AD?