I've got a SharePoint 2010 Enterprise multi-tenant setup integrated with a new SSRS 2008 R2 instance in SharePoint-Integrated mode and have FINALLY managed to get everything working. However, there seems to be a major limitation I'm hoping someone here could figure a (better) workaround for.
I use BIDS to publish all of my reports to the sites, (it errors during publishing but uploads the reports anyways), I get this error trying to access any of them on the SharePoint site:
Report Server has encountered a SharePoint error. ---> Microsoft.ReportingServices.Diagnostics.Utilities.SharePointException: Report Server has encountered a SharePoint error. ---> Microsoft.SharePoint.SPException: Access denied.
You do not have permission to perform this action or access this resource. ---> System.Exception: For more information about this error navigate to the report server on the local server machine, or enable remote errors
This is because I've set the UserAccountDirectoryPath so that the client can only see people from their OU. Since the SSRS service account isn't in that client's OU it doesn't see the account as being valid and gives an access denied error.
Here's my temporary hack:
- Move the reporting service account into the tenant's OU.
- Load a report or the data source from SharePoint...everything works!
- Remove the reporting service account from the tenant's OU and it still works!
My second hack:
- Remove the UserAccountDirectoryPath.
- Load a report or data source definition from SharePoint.
- Add the UserAccountDirectoryPath back in.
There must be someone out there who uses SSRS with the UserAccountDirectoryPath attribute.
How do you get the site to recognize the SSRS service account, why does it need to in the first place, and why does it still work after adding the OU path restriction back in??
UPDATE: I've decided to just remove the UserAccountDirectoryPath. We are managing the user accounts anyways so it's just causing more problems than it's worth.