How to Create a Non-Privileged IIS User for Report Server and Service Agent
Environment
Product | Progress® Telerik® Report Server |
Version | 10.1.24.514+ |
Description
This tutorial will show you how to change the Report Server's IIS application pool and service agent to use an identity with limited permissions.
Solution
-
Create a new Windows user with limited permissions, for example,
RSUser
.For more help, see Microsoft Docs - Manage User Accounts in Windows.
-
Go to Telerik Report Server's installation directory (
C:\Program Files (x86)\Progress\Telerik Report Server
) and giveRSUser
full access permissions to theTelerik.ReportServer.Web
andServices
sub-folders.- Ensure the user does not have read or write permissions to any other folders.
- You can use any username you prefer, the
RSUser
recommended here applies the semantic naming practices. - For more help, see Microsoft Q&A - How do I set up user account and manage permissions.
Open Internet Information Services (IIS) Manager by selecting
Windows Key
+R
to open the Run window, and then enterinetmgr
.-
In the left column, expand the machine's node and select Application Pools. Right-click on the
TelerikReportServer
application pool and select Advanced Settings from the context menu. -
Select the Identity item and click the ellipsis button.
-
Select Custom account, click Set…, and enter the name of the newly created user (for example,
RSUser
) and its password: Right-click the
TelerikReportServer
application pool and select Recycle... from the context menu.- Open the Report Server Manager application in the web browser to confirm it is working with the new user identity.
- Open Windows's Services app by selecting
Windows Key
+R
to open the Run window, and then enterservices.msc
. -
Scroll to the
Telerik.ReportServer.ServiceAgent
service instance: Double-click to show the service's Properties panel. Select the Log On tab.
-
Click This account and enter the new user name (for example,
.\RSUser
) and its password: Right-click
Telerik.ReportServer.ServiceAgent
and select Restart to restart the service with the new user.-
Ensure it is working by running a scheduled task or a data alert from the Report Server Manager web UI, or on the URL
http://{MachineNameHere}:82/ReportServer/ServiceAgent?wsdl
:If the Report Server Manager cannot connect to the Telerik.ReportServer.ServiceAgent, most probably the WCF service doesn't have a reservation for the corresponding port (the default one is
82
). Ensure reserving the port by running the proper Netsh command as an Administrator in the command prompt or terminal. Here is a sample command that reserves port82
forReportServer/ServiceAgent/
running under userRSUser
:netsh http add urlacl url=http://+:82/ReportServer/ServiceAgent/ user=RSUser
If the default port
82
is already reserved by another application, you may change the port and reserve the new port as above, or release port82
with thedelete urlacl
command and then reserve it with the above command. Here is a sample code releasing port82
from the Telerik.ReportServer.ServiceAgent:netsh http delete urlacl url=http://+:82/ReportServer/ServiceAgent/
Additional Actions: Consider adding the local user to databases used by Report Server data connections that utilize Windows Credentials login permissions.