Search

Shared data source (.rsds) requires SharePoint View Items list permission for report consumer. by Qixcle

Active

1
0
Sign in
to vote
Type: Bug
ID: 775649
Opened: 1/2/2013 4:24:16 PM
Access Restriction: Public
0
Workaround(s)
0
User(s) can reproduce this bug
According to product documentation, "Permissions to view or manage a shared data source is different from report viewing permissions; you can view a report that uses a .rsds file without having view permission on the .rsds file itself." -- http://msdn.microsoft.com/en-us/library/bb326286.aspx#permissionDataSources

Based on our own testing, the documented behavior cannot be reproduced in the following environment:

Web Server - SharePoint 2010 SP1 (w/June 2011 CU [refresh]) - Foundation & Server Standard
Web Server - SQL Server 2012 RS Add-in for SharePoint (11.1.3000.0)
Database Server - SQL 2012 Enterprise SP1 (11.1.3000.0)

SharePoint Farm - SQL 2012 SP1 Reporting Services Shared Service Application

Both the application server and database server are guest operating systems on VMware ESX 4.1

The steps to reproduce include the expected behavior when following the expectations set forth in the documentation. There is also a workaround that is included in the steps to reproduce, but the results do not match the documented behavior entirely. First, the workaround specifically introduces additional permissions to the shared data source item. The custom permission will grant the user the ability to enumerate the contents of the Connections document library without granting the ability to assign the shared data source to a new Report Builder Report document. Attempts to create datasets will raise access denied exceptions.

While the workaround appears to succeed in preventing unauthorized users from creating new report definitions from the shared data source, it does not prevent information disclosure. As near as I can tell, this may be the result of Report Builder 3.0 executing a WCF call to ListChildren method of the ReportingServices2010.asmx endpoint. That method demands the ViewListItems (SPBasePermissions) when browsing the Connections document library.
Details (expand)

Product Language

English

Version

SQL Server 2012 - Enterprise Edition

Category

Reporting Services

Operating System

Windows Server 2008 R2 Standard

Operating System Language

English

Steps to Reproduce

[UserA, full control]

_Create "SSRS View" permission level
- List (View Items & View Application Pages)
- Site (View Pages, Browse User Information, Use Remote Interfaces, Use Client Integration Features, & Open)

_Create "SSRS Restrict" permission level
- List (View Items)
- Site (View Pages & Open)

_Create a document library
- Add document library, Connections
- Set document library to manage content types
- Add "Report Builder Model" & "Report Data Source" content types to library
- Break permission inheritance
- Assign "SSRS View" to UserB (Report Designer)

_Create a document library
- Add document library, Report Definitions
- Set document library to manage content types
- Add "Report Builder Report" content type to library
- Break permission inheritance
- Assign Contribute (default SharePoint permission level) to UserB
- Assign "SSRS View" to UserC

_Create a shared data source
- Add new source to the Connections library
- Verify that "Enable this data source" is checked

As [UserB, Report Designer]
_Create a new report builder report
- Open a new document (.rdl)
- Add a new data source
- Browse the Connections library and select the shared data source UserA created earlier.
- Change text box expression for the title to "Shared Data"
- Save the document to the Report Definitions document library
- Render the report and verify that the report displays successfully.

As [UserC, Report Consumer]
_Test expected behavior (as documented)
- Navigate to the Report Definitions document library
- Render the report and verify that the report fails.

As [UserA, Admin user - with SharePoint full control default permission level]
_Attempt to work around unexpected behavior
- Assign "SSRS Restrict" to UserC

As [UserC, Report Consumer]
_Test expected behavior (via workaround)
- Browse the Report Definitions document library
- Render the report and verify that the report renders successfully

Actual Results

- Report designer can select a shared data source for use in a report.
- Report consumer cannot view the report created by the report designer without assigning additional permissions to the report consumer to the referenced report item.

Expected Results

- Report designer can select a shared data source for use in a report.
- Report consumer can view a report created by the report designer without having explicit permissions to the shared data source referenced by the report.

Platform

X64

Virtualization

Other (e.g. VM Ware, specify in Description)
File Attachments
0 attachments
Sign in to post a comment.
Sign in to post a workaround.