
Connections Used in a Reporting Services Deployment
When planning a Reporting Services deployment, there are three types of connections that you must configure and maintain. First, you must consider how users will connect to the report server. Second, you must consider how the report server connects to the report server database. Third, you must consider how report authors and content managers will define connections to external data sources that provide data to reports.
The following diagram illustrates the connections in a default native mode installation. This diagram provides an introduction to the types of connections that you must define or manage.
For information about SharePoint integrated mode, see Security Overview for Reporting Services in SharePoint Integrated Mode.
The following table provides detailed information about each type of connection.
|
|
Connection
|
Description
|
|---|
|
1
|
User connects to the report server
|
Users and applications connect to a report server through HTTP requests that are directed to a URL that is reserved for and registered to a report server instance. You can configure URLs for SSL connections so that users access the report server over an encrypted channel.
The request is authenticated by the Report Server Web service. By default, users are authenticated using their Windows domain credentials and integrated security, but you can also configure a report server to use basic authentication. Or you can create and deploy a custom authentication extension or HTTP module to replace the default Windows Authentication type with forms authentication or a single sign-on technology. In SharePoint integrated mode, you can also use trusted mode. If the report server uses custom forms authentication, the user connects to the report server through a login that is valid for that authentication extension.
Note:
As a best practice, you should use Secure Sockets Layer (SSL) whenever you use Basic authentication, a custom authentication type, or trusted mode,
After the user is authenticated, the report server checks for permissions that authorize access to report server content and operations. Permissions are defined in role assignments that describe which tasks a user can perform. Each user who connects to a report server must have role assignments defined on the account that he or she uses to connect to the report server. For more information, see Granting Permissions on a Native Mode Report Server, How to: Set Permissions for Report Server Items on a SharePoint Site (Reporting Services in SharePoint Integrated Mode), and Comparing Roles and Tasks in Reporting Services to SharePoint Groups and Permissions. For more information about SSL, see Configuring a Report Server for Secure Sockets Layer (SSL) Connections.
|
|
2
|
Report Server connects to report server database
|
A report server databases provide internal storage to the report server. The report server connects to the report server databases to store and retrieve content, server state, and metadata. In native mode, reports that are published to the report server are stored in the report server databases. In SharePoint integrated mode, master copies of reports, data sources, and models are stored in the SharePoint content databases. Users and other applications do not connect to the report server database. Only the report server connects to the database.
To create the database and configure the connection, you can either install the report server in the default configuration or use the Database page in the Reporting Services Configuration tool. When you configure the report server database connection, the end result is a database login, permissions that are granted to the account, and the ability to connect to the report server database from the report server service.
The report server can connect to its database using any of the following account types:
-
Use the service account. This is the default.
-
Use a domain account.
-
Use a SQL Server login.
For more information, see Creating a Report Server Database and Configuring a Report Server Database Connection.
|
|
3
|
Report server connects to external data sources
|
Reports contain or reference data source connection information and queries that are processed when the report runs. Report models also reference data sources.
To retrieve data used in a report, a report server must connect to other servers that host the external data sources. When the report or model runs, the report server opens a connection to the server or computer, provides the query, waits for the dataset that is returned, and then closes the connection before continuing to the next processing step.
Connections to external data sources are first defined in the report and then managed independently of the report after the report is published. At run time, these connections are made by the report server on behalf of the user who is running the report. The report server passes credentials to specific data sources. For any given data source connection, the report server can get credentials in one of the following ways:
-
Impersonate or use the delegated credentials of the user who is running the report. Configuring a report data source to use Windows Authentication requires that the report server also be configured to use the default Windows security extension. If the report server uses forms authentication or basic authentication, you cannot configure report data sources to use impersonated or delegated credentials.
-
Prompt the user to type credentials.
-
Retrieve stored credentials from the report server database. The report server can treat these credentials as Windows credentials and impersonates them before running a query against the data source.
-
Use no credentials. This option is available only when you configure the unattended execution account.
Network topology, domain restrictions, and data source type determine how connections are made and the authentication providers you can use. For example, to open a data source connection using the Windows Integrated security context of the user requesting the report, the following requirements must be met:
-
The data source itself must support Windows integrated security and the user must have a login and access permissions on the database server.
-
Domain security policies must support Kerberos network authentication, with impersonation and delegation enabled.
-
The data source properties defined in the report or shared data source must be set to Windows integrated security.
The report server does not validate connection or credentials when they are created. To verify whether connection properties are valid, you must run the report. For more information about setting data source connection properties, see How to: Configure Data Source Properties for a Report (Report Manager). For more information about how to connect to an external data source, see Connecting to a Data Source (Reporting Services) and Specifying Credential and Connection Information for Report Data Sources.
|
|
4
|
Unattended execution account
|
This account is sometimes referred to as the unattended report processing account or execution account.
When you provide credentials for the unattended execution account, this account is used to run reports and to retrieve images from URLs in report definitions.
You can select this option if the data source does not use credentials (for example, if the data is in an XML document). To connect to a computer that hosts a data source, the report server uses the unattended execution account. You can use the Reporting Services Configuration tool to configure the account. For more information, see Configuring the Unattended Execution Account.
|
|
5
|
Report server connects to delivery targets
|
The report server uses a delivery extension to gather the credentials that are used to connect to delivery targets, such as a file share. The delivery extension uses these credentials to connect to the delivery target.
|