2013-06-04 14 views
5

Có cách nào tôi có thể liệt kê (hoặc sử dụng báo cáo SSRS hoặc truy vấn qua mã SQL), bảo mật Username hoặc Group đã được gán cho thư mục gốc, thư mục con hoặc báo cáo?SQL Server Reporting Services 2008 R2 - Bảo mật thư mục và báo cáo

Tôi đã được yêu cầu xác định là kiểm toán, trong đó AD nhóm có quyền truy cập vào tất cả thư mục gốc và thư mục con trong thư mục gốc đó hoặc thậm chí xuống cấp báo cáo riêng lẻ - của người có quyền truy cập!

Làm cách nào để hoàn thành yêu cầu này?

Trả lời

11

Bạn có thể truy vấn cơ sở dữ liệu ReportServer để biết thông tin này, ví dụ:

SELECT 
    CASE [Catalog].[Type] 
     WHEN 1 THEN 'Folder' 
     WHEN 2 THEN 'Report' 
     WHEN 3 THEN 'Resource' 
     WHEN 4 THEN 'Linked Report' 
     WHEN 5 THEN 'Data Source' 
     WHEN 6 THEN 'Report Model' 
     WHEN 8 THEN 'Shared Dataset' 
     WHEN 9 THEN 'Report Part'  
    END AS CatalogType, 
    [Catalog].[Type] 
    --, [Catalog].ItemID 
    ,[Catalog].Name 
    , Roles.RoleName 
    , Users.UserName 
FROM PolicyUserRole 
INNER JOIN Roles ON PolicyUserRole.RoleID = Roles.RoleID 
INNER JOIN Policies ON PolicyUserRole.PolicyID = Policies.PolicyID 
INNER JOIN Users ON PolicyUserRole.UserID = Users.UserID 
INNER JOIN [Catalog] ON PolicyUserRole.PolicyID = [Catalog].PolicyID 
ORDER BY 
    1 
    , [Catalog].ItemID 
    , [Catalog].Name 
    , Roles.RoleName 
    , Users.UserName 
+0

Thật tuyệt vời, cảm ơn bạn! : D Rất hữu ích! – Learner74

+1

Tôi không chắc chắn 100% loại Catalog 3 đại diện cho - Tôi nghĩ rằng nó có thể được sử dụng cho bất kỳ tài nguyên nào khác không được liệt kê, ví dụ: các tệp đã tải lên. Có rất ít tài liệu về điều này. Cũng lưu ý rằng truy vấn cơ sở dữ liệu ReportServer trực tiếp không được Microsoft hỗ trợ và lược đồ và/hoặc ý nghĩa của các giá trị này có thể thay đổi trong các phiên bản sau. – Nathan

+0

Tuyệt vời - cảm ơn bạn @Nathan! – hurleystylee