web-dev-qa-db-ja.com

SSRS-ReportServerデータベーステーブルを介してレポートのアクセス許可を決定しますか?

特定のSSRSレポートにアクセスする権限を持つログイン/ユーザーをプログラムで決定するにはどうすればよいですか?

特定のレポートへのアクセス権を持つユーザーを確認したいマネージャー向けのレポートを作成するために、データマートを作成します。現在、Active Directoryグループにアクセス許可を割り当て、SQL ServerとSSRSがアクセス許可を決定するために使用しています。 SSRSのメタデータ内に、レポートへのアクセス許可の割り当て方法を追跡するテーブルがあるかどうかを知りたいです。

20
Emre Motan

これは、ほとんどのことを実行するスクリプトです。ニーズに合わせて調整できます。

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でスクリプトを実行できます

29
AndrewBay

上記のスクリプトは機能しますが、削除されたユーザー(つまり、Active Directoryに存在しなくなったために混乱を招く可能性があるユーザー)も表示されることに注意してください。

また、MicrosoftはReportServerデータベースに対するクエリを公式にサポートしていません。

1
Paul Shiryaev