Admin - Do you create a separate virtual directory for Admin access?
Last updated by Tiago Araújo [SSW] 3 months ago.See historyTo securely manage and provide public access to Reporting Services, configure separate ports for authenticated internal access and anonymous public access, following specific setup steps for both Windows Explorer and IIS Manager.
When going public with Reporting Services, you should have 2 ports:
- A public access port. This allows your public users to access their reports normally on a port which has been configured for anonymous users.
- An admin access port on your web site. This allows authenticated internal users to administer the report server via the Report Manager.
To set this up you need to perform the following:
In Windows Explorer:
- Create a Windows User account for the anonymous reporting services site to run as. e.g. IUSR_ReportViewer
- Open up the ReportingServices directory (C:\Program Files\Microsoft SQL Server\MSSQL.3\Reporting Services)
- Duplicate the ReportServer and the ReportManager folders then rename postfix them with External e.g. ReportServerExternal and ReportManager_External
- Set the file access security on the new folders so that "Everyone" has full permissions.
- Edit the ReportServer_External/rsreportserver.config file. Update the URL node
<UrlRoot><http://xxxx:81/ReportServer></URlRoot>
- the ReportManager_External/RSWebApplication.config file. Update the URL node
<ReportServerUrl>http://xxxx:81/ReportServer</ReportServerUrl>
In IIS Manager:
- Create another website on another port (i.e. port 81)
- Create Virtual Direcoties for ReportServer and Reports then point them to the new folders we just made. Make sure they are setup as applications.
- Change the Authentication of these 2 virtual directorys to use the user we have already created "USR_ReportViewer". Ensure that all other Authenticated access is unchecked.
- In the Reports Virtual Direcotry, make sure that it is running the same version of ASP.NET. Set the Applicaiton to execute Scripts and Executables. Add Home.aspx into the Default Documents.
- In the ReportServer Virtual Directory, make sure that it is running the same version of ASP.NET. Remove all the Application Mappings in the Application Confguration. Then add a wildcard mapping to the executable
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll
In SQL Management Studio
Add the user for these folders to have access in SQL.
In Reporting Services
- Go to http://localhost/reports
- Click Properties -> New Role Assignment
- Enter in IUSR_ReportViewer and click Browser then click OK
Note #1: The default website will be used for internal Admin (secure) use, and a website on a different port (in this example we use port 81) will be used for external anonymous access.
Note #2: Do these steps again every time you install a Reporting Services service pack
Once complete, you should now have authenticated access available on the standard port (80) and public access available on the new port (81).
Note: We think we should have the ability to choose how IIS authenticates clients - read this Reporting Services suggestion.
The process is a little simpler in SQL 2000:
In Windows Explorer
- Open up the ReportingServices directory (typically c:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services)
- Make a copy of the ReportManager folder and call it ReportManagerPublicAccess
- Duplicate the file access security settings on ReportManager in ReportManagerPublicAccess
- Edit the RSWebApplication.config in the ReportManagerPublicAccessfolder to point to
http://server:81/ReportServer
In IIS Manager
- Configure the default website's ReportsServer virtual directory to give access to IUSR_ServerName (for public access)
- Export the Report and ReportServer virtual directory to an XML file
- Create another website on another port (i.e. port 81)
- Add the Report and ReportServer virtual directories using the XML files created in step 2
- Set the Reports virtual directory to point to the ReportsManagerSecure directory instead of just ReportsManager
- Set the directory security on the ReportServer on port 81 to use windows integrated security