Skip Headers

Oracle Application Server Reports Services Publishing Reports to the Web
10g (9.0.4)

Part Number B10314-01
Go To Documentation Library
Home
Go To Product List
Solution Area
Go To Table Of Contents
Contents
Go To Index
Index

Go to previous page Go to next page

9
Securing OracleAS Reports Services

The celebrated openness of the Internet brings with it concerns about controlling who has access to what confidential company information. OracleAS Reports Services provides a number of security options that enable you to ensure that the appropriate users are getting important data in a secure fashion. This chapter provides an overview of the available security options.

9.1 About OracleAS Reports Services Security

This section describes how OracleAS Reports Services security operates to secure access to your reports and the data they include.

9.1.1 Resources Protected

OracleAS Reports Services encompasses functionality for three main areas of security:

9.1.1.1 Application Security

Typically, users must log on to an application or site from which they can access and run their reports. This launcher application is typically protected by some sort of login facility, such as OracleAS Single Sign-On. Once they successfully gain entry into the launcher application, resource security takes over and determines which reports and destinations a given user or group may request.

For application security, OracleAS Single Sign-On provides a single point of user login and, optionally, data source security. In a typical configuration, the user would log on through OracleAS Single Sign-On to gain access to a report application, where they would access and run their reports.

Oracle Internet Directory stores user and group privilege information which is used by OracleAS Single Sign-On. Oracle Internet Directory also stores data source security information on a per user basis. Oracle Delegated Administration Services edits the information stored in Oracle Internet Directory. Oracle Delegated Administration Services can be accessed from within OracleAS Portal or separately, as a standalone component.

Alternatively, you might have your own application for launching reports with its own login mechanism and user/group repository. In this case, OracleAS Reports Services provides interfaces that allow you to integrate it with these non-Oracle components.

See Also:

Configuring OracleAS Reports Services Security

For more information on these interfaces.

9.1.1.2 Resource Security

Resource security ensures that only authorized users or groups execute a specific report. It also keeps users or groups from accessing particular printers or Reports Servers for the execution of the report. You might well imagine a situation where certain printers and servers might be reserved for a particular group of users. Alternatively, some printers and servers may simply be inaccessible during certain times for maintenance activities.

Once it is determined that a user has the necessary privileges to execute a given report via the specified Reports Server to the specified destination, then the user's privileges to the data source accessed by the report must be ascertained.

OracleAS Portal provides resource security for reports, printers, calendars, and Reports Servers out of the box. In a typical configuration, the administrator or developer could specify which users and groups could access which reports, Reports Servers, and printers from OracleAS Portal.

As with application security, you might have your own mechanism for protecting resources. In this case, OracleAS Reports Services provides interfaces that allow you to integrate it with these non-Oracle components.

See Also:

Configuring OracleAS Reports Services Security

For more information on these interfaces.

9.1.1.3 Data Source Security

Data source security defines the users or roles that can access the data within the given data source. A report might access multiple data sources and the current user must have privileges on all of the data sources accessed by the report in order to run it and view the output. The data source administrator (typically a DBA) grants access to data sources. Data source security must be established and in place prior to configuring your reports environment.

You can provide for data source security in two different ways with OracleAS Reports Services:

As with the other security areas, you might have your own mechanism for protecting data sources. In this case, OracleAS Reports Services provides interfaces that allow you to integrate it with these non-Oracle components.

See Also:

Configuring OracleAS Reports Services Security

For more information on these interfaces.

9.1.2 Authorization and Access Enforcement

Access control for report requests can be maintained with or without OracleAS Single Sign-On.

9.1.2.1 Handling Report Requests with OracleAS Single Sign-On

OracleAS Single Sign-On makes use of an encrypted cookie to track authenticated application users. When rwservlet receives a request to execute a report on a secured Reports Server, it queries the Oracle HTTP Server (via the getRemoteUser call) to determine whether the user has already logged on through OracleAS Single Sign-On (i.e., a Single Sign-On cookie exists for the user):

9.1.2.1.1 Report Request Flow with Single Sign-On

In this scenario, a report request is sent to a secured Reports Server with Single Sign-On enabled.

  1. If the report is to be run from within OracleAS Portal, the user must be logged into OracleAS Portal and, consequently, OracleAS Single Sign-On. As part of its security, OracleAS Portal validates that the user has the required security permissions to see the report object. For example, if the report object is on a page, the user must have appropriate privileges to see the page and the reports object. Otherwise, OracleAS Portal will not display the page or the report object to the user.

    If the report is not to be run from within OracleAS Portal, the user must somehow have gained access to the URL that launches the report request (e.g., via a link on a Web page or a bookmark).

  2. The report request is made via one of the following methods:

  3. The URL redirects the user to either rwservlet or the JSP depending upon whether this report has been set to execute via rwservlet or a JSP.

  4. If you used SSOCONN in your URL, rwservlet checks the Single Sign-On key against the Oracle Internet Directory to see if it already has been mapped to a data source connection string (e.g., scott/tiger@my_or_db).

  5. If you used SSOCONN and the Oracle Internet Directory already has a connection string associated with the key, then rwservlet uses that connection string for the data source connection of the report. If you used SSOCONN but Oracle Internet Directory does not already contain a connection string for the key, the Oracle Delegated Administration Services Create Resource page is displayed and the user must enter their data source connection string. See Figure 9-1. Oracle Delegated Administration Services stores the string in Oracle Internet Directory for future use and rwservlet uses the newly entered connection string for the data source connection string of the report.


    Note:

    Because of this feature, many users can use the same report URL even if they all use different data source connection strings.


Figure 9-1 Oracle Delegated Administration Services Create Resource

Text description of sec_sso_das.gif follows.

Text description of the illustration sec_sso_das.gif

  1. rwservlet constructs a command line from the URL (and Oracle Internet Directory information if you used SSOCONN) and passes it to the Reports Server.

  2. The Reports Server validates the user credentials against the Oracle Internet Directory server. The Reports Server checks whether the user has the necessary privileges to run the report on the specified server at the specified time to the specified destination. If the validation check fails for any reason, then an error condition is returned to the user and the process terminates.

  3. The Reports Server delegates the job to a Reports Engine that accesses the data source, retrieves the data, and formats the report.

  4. The completed output is sent to the specified destination. Depending upon the destination, the output may be sent to a printer, served back to the browser, or stored in a file for future reference.

9.1.2.2 Handling Report Requests without OracleAS Single Sign-On

If Single Sign-On is not being used, then any user accessing a secured instance of the Reports Server is challenged to identify themselves by rwservlet via its own authentication mechanism (identical to the behavior of Oracle Reports6i). Because the HTTP 1.0 protocol is stateless (i.e., each call to the server is effectively independent of all others), users might need to authenticate themselves for each report request unless a cookie is maintained. To allow users to authenticate themselves only once per session, rwservlet has its own client-side cookie, the authid cookie, in which it stores the required authentication information for the current session. Once the user is authenticated, an encrypted cookie is created in the browser to enable the user to submit multiple report jobs without re-authenticating for each request.


Note:

If you want to force users to authenticate themselves for a specific report, you can use the SHOWAUTH command line option. Alternatively, you can include a %S in the corresponding report entry in the key map file. This file is usually called cgicmd.dat and is located in ORACLE_HOME\reports\conf. %S forces users to enter their username and password each time the report is called.


The authid cookies are terminated when the user closes their browser session, but you should not rely strictly on this method of terminating the cookie. You should limit the lifetime of the cookie within a given session. For example, a user might log on and then go to lunch, leaving the browser session open. To minimize the potential for a security breach in this situation, the administrator may specify the COOKIEEXPIRE parameter in the rwservlet.properties file. When rwservlet receives a job request, it compares the time saved in the cookie with the current system time. If the time is longer than the number of minutes defined in the environment variable (e.g., 30 minutes), the cookie is rejected and the user is challenged to provide authentication information.

See Also:

Configuring the Reports Servlet

For more information about the COOKIEEXPIRE parameter and the rwservlet.properties file.

9.1.2.2.1 Report Request Flow without OracleAS Single Sign-On

In this scenario, the report request is sent to a secured Reports Server with Single Sign-On disabled. In this case, rwservlet or a JSP report might be called through the use of a bookmark or from an OracleAS Portal component.

  1. The user must somehow gain access to the URL that launches the report request (e.g., via a link on a Web page or a bookmark), and choose the URL.

  2. rwservlet checks for the AUTHID parameter on the URL or an existing Oracle Reports Authid Cookie. If it finds the AUTHID parameter, it uses that to authenticate the user. If it does not find the AUTHID parameter, it looks for an existing Reports Authid Cookie. (If the report is launched from OracleAS Portal, AUTHID is added to the URL automatically.) If neither AUTHID nor a Reports Authid Cookie is found, rwservlet displays the System Authentication screen, where the user must supply their Single Sign-On username and password. This information is subsequently stored in the Reports Authid Cookie.

  3. If only partial data source credentials are provided on the URL (e.g., USERID=scott@orqa), the Database Authentication page is displayed with the partial credentials priming the fields. The user must supply the remainder of the data source credentials before proceeding further. Note that you can control which Database Authentication page is used via the DBAUTH parameter in the rwservlet.properties file. If no data source credentials at all are provided, the Database Authentication page is not displayed and it is assumed the report does not require a data source.

    See Also:

    Configuring the Reports Servlet

    For more information about the DBAUTH parameter and the rwservlet.properties file.

  4. rwservlet constructs a command line with the necessary information from the previous steps and passes it to the Reports Server.

  5. The Reports Server validates the user credentials against the Oracle Internet Directory. It also checks whether the user has the necessary privileges to run the report on the specified server at the specified time to the specified destination. If the validation check fails for any reason, then an error condition is returned to the user and the process terminates.

  6. The data source credentials are stored in a Reports Userid Cookie for possible future reference. Note that Pluggable Data Source credentials are not stored in the Reports Userid Cookies.

  7. The Reports Server delegates the job to a Reports Engine that accesses the data source, retrieves the data, and formats the report.

  8. The completed output is sent to the specified destination. Depending upon the destination, the output may be sent to a printer, served back to the browser, or stored in a file for future reference.

9.1.3 Leveraging Oracle Identity Management Infrastructure

OracleAS Reports Services can take advantage of the capabilities in OracleAS Single Sign-On, which is part of the Oracle Identity Management infrastructure.

9.1.3.1 OracleAS Single Sign-On

With the increasing number of Web-based, e-business applications that companies deploy for use by their employees, customers, and partners, many businesses must now consider Single Sign-On functionality. Single Sign-On refers to the ability to log on to a single security system once, rather than logging on separately to multiple security systems. With Single Sign-On, each user maintains a single identity and password for all data and associated resources to which they need access.

Within a given Web application, OracleAS Reports Services eases the user's experience with OracleAS Single Sign-On. OracleAS Single Sign-On ensures that each user authenticates only once.

9.1.3.1.1 Single Sign-On Components

Figure 9-2 provides an overview of the Single Sign-On component architecture.

Figure 9-2 SSO Architecture

Text description of sec_ssoarch.gif follows.

Text description of the illustration sec_ssoarch.gif

The components of the Single Sign-On environment include:

For more information, refer to Chapter 10, "Configuring and Administering OracleAS Single Sign-On".

9.2 Configuring OracleAS Reports Services Security

This section provides an overview of configuration considerations for OracleAS Reports Services.

9.2.1 Configuring OracleAS Reports Services Security Options

The out-of-the-box implementation of OracleAS Reports Services security includes all of the Oracle components described in Resources Protected pre configured to work with your OracleAS Reports Services installation. If you choose to implement your own security configuration, you can follow the steps in Chapter 10, "Configuring and Administering OracleAS Single Sign-On" and Chapter 11, "Deploying Reports in OracleAS Portal" to use all or only some of these components. For example, you can choose to use OracleAS Single Sign-On without implementing data source security or OracleAS Portal. In another configuration, you might choose to use a different Internet directory to store user and group information. If you prefer to implement none of the above security components, you can still configure a secured Reports Server, which provides security similar to that available in Oracle Reports6i.


Note:

At the highest level, all communication to and from Oracle HTTP Server may be configured to use SSL. The Oracle HTTP Server incorporates an OpenSSL module to provide support for Secure Sockets Layer (SSL) and HTTP Secure Sockets Layer (HTTPS). Once this is set up in the Oracle HTTP Server (see Oracle HTTP Server Administrator's Guide), rwservlet automatically detects the SSL port number.


9.2.1.1 OracleAS Portal

OracleAS Portal provides a number of security features available to OracleAS Reports Services that enable you to ensure that the appropriate users are getting important data in a secure fashion. With OracleAS Portal security features in place, your users see only the data they're supposed to see.

Use OracleAS Portal to control:

OracleAS Portal is a browser-based, data publishing and developing solution that offers Web-based tools for publishing information on the Web and building Web-based, data-driven applications.

OracleAS Portal is tightly integrated with OracleAS Reports Services to create a robust and secure data publishing environment. OracleAS Portal provides easy-to-use wizards for setting up OracleAS Reports Services security. These include wizards for defining user access to reports, Reports Servers, printers, output formats, and report parameters.

Once you define access control information, it's stored in the OracleAS Portal repository. As an OracleAS Portal user, you can then, optionally, publish registered RDFs and JSPs to an OracleAS Portal page. As with all OracleAS Portal functionality, using Portal to deliver your reports is not required. You can deliver reports through command lines, as you may always have, and still benefit from the access control features available to you through OracleAS Portal.

Access to OracleAS Reports Services' security features is not dependent on whether you also use Portal to publish report links or report content. Even if you don't publish via Portal, you can still take advantage of the OracleAS Reports Services' security features available in OracleAS Portal to control user access to all of your reports.

When you expose a report as a portlet through OracleAS Portal, OracleAS Reports Services leverages the Single Sign-On feature. Single Sign-On eliminates the need for users to enter multiple logins, first to the portal then to each of the reports exposed through portlets within the portal. With OracleAS Single Sign-On, when you log in, OracleAS Portal automatically logs you into all registered portlet providers and subsystems.

See Also:

OracleAS Portal

For a detailed description of report request flow within OracleAS Portal.

Refer to the Oracle Application Server 10g Security Guide for more information about OracleAS Single Sign-On and OracleAS Portal. You'll find this and other related documentation on the Oracle Technology Network, (http://otn.oracle.com).

For more information, refer to Chapter 11, "Deploying Reports in OracleAS Portal"

9.2.1.2 Security Interfaces

The Security API of the Reports Software Development Kit (RSDK) allows you to integrate your own security model with the Reports Server. OracleAS Reports Services enables you to plug in any security you wish, using the provided API.

The Security API can control:

The RSDK includes a tutorial that shows you how to integrate your own security using an XML file to store the authorization information. At the end of this tutorial, you will be able to:

The tutorial and further information on the RSDK can be found on the Oracle Technology Network.


Go to previous page Go to next page
Oracle
Copyright © 2003 Oracle Corporation.

All Rights Reserved.
Go To Documentation Library
Home
Go To Product List
Solution Area
Go To Table Of Contents
Contents
Go To Index
Index