Epm 11.1.2.3 System Security Configuration Guide
Epm 11.1.2.3 System Security Configuration Guide
Epm 11.1.2.3 System Security Configuration Guide
System
Security Configuration Guide
Release 11.1.2.3
Updated: July 2014
Contents
Documentation Accessibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Documentation Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Chapter 1. About EPM System Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
About EPM System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Assumed Knowledge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Security Infrastructure Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
User Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Authentication Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Default EPM System Single Sign-on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Single Sign-on from Access Management Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Provisioning (Role-Based Authorization) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Roles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Launching Shared Services Console . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Chapter 2. SSL-Enabling EPM System Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Information Sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Location References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
About SSL-Enabling EPM System Products . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Supported SSL Scenarios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Required Certificates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Terminating SSL at the SSL Offloader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Deployment Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Configuring EPM System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Testing the Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Full SSL Deployment of EPM System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Deployment Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Contents
iii
Contents
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
Support Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Kerberos SSO with WebLogic Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
WebLogic Server Procedures to Support Kerberos Authentication . . . . . . . . . . . . . . . 68
Configuring the EPM System for SSO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
Single Sign-on Options for Smart View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Chapter 4. Configuring User Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
User Directories in EPM System Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Operations Related to User Directory Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Oracle Identity Manager and EPM System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Active Directory Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
DNS Lookup and Host Name Lookup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Global Catalog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Configuring OID, Active Directory, and Other LDAP-based User Directories . . . . . . . . . . 85
Configuring Relational Databases as User Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Testing User Directory Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Editing User Directory Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Deleting User Directory Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Managing the User Directory Search Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Adding a User Directory to the Search Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Removing a Search Order Assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Changing the Search Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Setting Security Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Regenerating Encryption Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
Using Special Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Chapter 5. Using a Custom Authentication Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Use-Case Examples and Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Design and Coding Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Search Order . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
User Directories and Custom Authentication Module . . . . . . . . . . . . . . . . . . . . . . . 115
CSSCustomAuthenticationIF Java Interface . . . . . . . . . . . . . . . . . . . . . . . . . 116
Deploying the Custom Authentication Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Overview of Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Updating Settings in Shared Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Testing Your Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Contents
vi
Contents
Documentation Accessibility
For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at
http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.
Documentation Accessibility
Documentation Feedback
10
Documentation Feedback
1
In This Chapter
Oracle Essbase
For information about the products and components in each of these product families, see Oracle
Enterprise Performance Management System Installation Start Here.
Assumed Knowledge
This guide is for system administrators who configure, secure, and manage EPM System
components. It assumes the following knowledge:
l
Directory servers; for example, Oracle Internet Directory, Sun Java System Directory
Server, and Microsoft Active Directory
Use of Secure Socket Layer (SSL) to secure communication channels
About EPM System
11
Access Management Systems, for example, Oracle Access Manager, and SiteMinder
Knowledge of EPM System security concepts that are relevant to your organization
An optional access management system; for example, Oracle Access Manager to provide
SSO access to EPM System components
Use of an integrated SSO infrastructure; for example, Kerberos.
You can use Kerberos authentication with the access management system (SiteMinder) to
ensure that Windows users can transparently log in to SiteMinder and EPM System
components.
Use of Secure Socket Layer (SSL) to secure communication channels among EPM System
components and clients
User Authentication
User authentication enables single sign-on (SSO) functionality across EPM System components
by validating the login information of each user to determine authenticated users. User
authentication, along with component-specific authorization, grants the user access to EPM
System components. The process of granting authorization is called provisioning.
Authentication Components
The following sections describe the components that support SSO:
l
Native Directory
Native Directory refers to the relational database that Oracle Hyperion Shared Services uses to
support provisioning and to store seed data such as default user accounts.
Native Directory functions:
l
12
Native Directory is accessed and managed using Oracle Hyperion Shared Services Console. See
Managing Native Directory in the Oracle Enterprise Performance Management System User
Security Administration Guide.
User Authentication
13
1. Through a browser, users access an EPM System component login screen and enter a user
name and password.
The EPM System component queries the configured user directories (including Native
Directory) to verify user credentials. Upon finding the matching user account in a user
directory, the search is terminated, and the user's information is returned to the EPM System
component.
Access is denied if no user account is found in any configured user directory.
2. Using the retrieved user information, the EPM System component queries Native Directory
to obtain provisioning details for the user.
3. EPM System component checks the Access Control List (ACL) in the component to
determine the application artifacts that the user can access.
Upon receiving provisioning information from Native Directory, the EPM System component
is made available to the user. At this point, SSO is enabled for all EPM System components for
which the user is provisioned.
14
SSO from access management systems is supported by accepting authenticated user credentials
through an acceptable SSO mechanism. See Supported SSO Methods on page 49. The access
management system authenticates users and passes the login name to EPM System. EPM System
verifies the login name against configured user directories.
See these topics.
l
management system.
The access management system intercepts the request and presents a login screen. Users
enter a user name and password, which are validated against configured user directories in
the access management system to verify user authenticity. EPM System components are also
configured to work with these user directories.
Information about the authenticated user is passed to the EPM System component, which
accepts the information as valid.
User Authentication
15
The access management system passes the user's login name (value of Login Attribute)
to the EPM System component using an acceptable SSO mechanism. See Supported SSO
Methods on page 49.
2. To verify user credentials, the EPM System component tries to locate the user in a user
directory. If a matching user account is found, then user information is returned to the EPM
System component. EPM System security sets the SSO token that enables SSO across EPM
System components.
3. Using the retrieved user information, the EPM System component queries Native Directory
to obtain provisioning details for the user.
Upon receiving user provisioning information, the EPM System component is made
available to the user. SSO is enabled for all EPM System components for which the user is
provisioned.
16
1. After a user is authenticated, EPM System component queries user directories to determine
the user's groups.
2. The EPM System component uses group and user information to retrieve the user's
provisioning data from Shared Services. The component uses this data to determine which
resources a user can access.
Product-specific provisioning tasks, such as setting product-specific access control, are
completed for each product. This data is combined with provisioning data to determine the
product access for users.
Role-based provisioning of EPM System products uses these concepts.
Roles
A role is a construct (similar to an access control list) that defines the access permissions granted
to users and groups to perform functions on EPM System resources. A role is a combination of
resource or resource types (what users can access, for example, a report) and actions that users
can perform on the resource (for example, view and edit).
Access to EPM System application resources is restricted. Users can access them only after a role
that provides access is assigned to the user or to the group to which the user belongs. Access
restrictions based on roles enable administrators to control and manage application access.
Global Roles
Global roles, which are Shared Services roles that span multiple products, enable users to perform
certain tasks across EPM System products. For example, the Shared Services Administrator can
provision users for all EPM System applications.
17
Predefined Roles
Predefined roles are built-in roles in EPM System products. You cannot delete them. Each
application instance belonging to an EPM System product inherits the predefined roles of the
product. These roles, for each application, are registered with Shared Services when you create
the application.
Aggregated Roles
Aggregated roles, also known as custom roles, aggregate multiple predefined roles belonging to
an application. An aggregated role can contain other aggregated roles. For example, a Shared
Services Administrator or Provisioning Manager can create an aggregated role that combines
the Planner and View User roles of a Planning application. Aggregating roles can simplify the
administration of applications that has several granular roles. Global Shared Services roles can
be included in aggregated roles. You cannot create an aggregated role that spans applications or
products.
Users
User directories store information about the users who can access EPM System products. Both
the authentication and the authorization processes use user information. You can create and
manage Native Directory users only from Shared Services Console.
Users from all configured user directories are visible from Shared Services Console. These users
can be individually provisioned to grant access rights on the EPM System applications registered
with Shared Services. Oracle does not recommend provisioning individual users.
18
Configure the corporate directory as an external user directory. See Chapter 4, Configuring
User Directories.
Create a System Administrator account by provisioning a corporate Information
Technology expert with the Shared Services Administrator role. See Provisioning Users
and Groups in the Oracle Enterprise Performance Management System User Security
Administration Guide.
System Administrator
The System Administrator is typically a corporate Information Technology expert who has read,
write, and execute access rights to all servers involved in an EPM System deployment.
Generally, the System Administrator performs these tasks:
l
Set the security configuration for EPM System using the Shared Services Console.
Configure the corporate directory as an external user directory. See Chapter 4, Configuring
User Directories.
Provision a user or group with the required roles to create a Functional Administrator. See
Provisioning Users and Groups in the Oracle Enterprise Performance Management System
User Security Administration Guide.
The Functional Administrator must be provisioned with these roles:
m
Functional Administrators
The Functional Administrator is a corporate user who is an EPM System expert. Typically, this
user is defined in the corporate directory that is configured in Shared Services as an external user
directory.
Functional Administrator performs EPM System administration tasks such as creating other
Functional Administrators, setting up delegated administration, creating and provisioning
applications and artifacts, and setting up EPM System auditing. The tasks that Functional
Administrators perform are described in the Oracle Enterprise Performance Management System
User Security Administration Guide.
Groups
Groups are containers for users or other groups. You can create and manage Native Directory
groups from Shared Services Console. Groups from all configured user directories are displayed
in Shared Services Console. You can provision these groups to grant permissions for EPM System
products registered with Shared Services.
19
Go to:
http://web_server_name:port_number/workspace
In the URL, web_server_name indicates the name of the computer where the web server
used by Foundation Services is running, and port_number indicates the web server port;
for example, http://myWebserver:19000/workspace.
Note: If you are accessing EPM Workspace in secure environments, use https (not http)
as the protocol and the secure web server port number. For example, use a URL such
as: https://myWebserver:19043/workspace.
Initially, the only user who can access Shared Services Console is the EPM System
Administrator whose user name and password were specified during the deployment
process.
20
2
In This Chapter
Assumptions................................................................................................21
Information Sources .......................................................................................21
Location References .......................................................................................22
About SSL-Enabling EPM System Products .............................................................22
Supported SSL Scenarios .................................................................................23
Required Certificates ......................................................................................23
Terminating SSL at the SSL Offloader....................................................................24
Full SSL Deployment of EPM System ....................................................................26
Terminating SSL at the Web Server ......................................................................37
Enabling Encryption for Financial Reporting Studio.....................................................39
SSL for Essbase ............................................................................................39
Assumptions
l
You have determined the deployment topology and identified the communication links that
are to be secured using SSL.
You have obtained the required certificates from a Certificate Authority (CA), either a wellknown CA or your own, or created self-signed certificates. See Required Certificates on
page 23.
You are familiar with SSL concepts and procedures such as importing certificates.
See Information Sources on page 21 for a list of reference documents.
Information Sources
SSL-enabling EPM System requires that you prepare components such as the application server,
web server, databases, and user directories to communicate using SSL. This document assumes
that you are familiar with the tasks involved in SSL-enabling these components.
l
Oracle WebLogic Server: See Configuring SSL in the Securing WebLogic Server Guide.
Oracle HTTP Server: See the following topics in the Oracle HTTP Server Administrator's
Guide:
m
Managing Security
Assumptions
21
User Directories: See the documentation from the user directory vendor. Useful links:
m
Location References
This document refers to the following installation and deployment locations:
l
22
Selecting SSL settings during the deployment process does not automatically configure your
environment for SSL. It only sets a flag in the Oracle Hyperion Shared Services Registry to
indicate that all EPM System components that use the Shared Services Registry must use the
secure protocol (HTTPS) for server-to-server communication. You must complete additional
procedures to SSL-enable your environment. These procedures are discussed in this document.
SSL termination at the SSL offloader. See Terminating SSL at the SSL Offloader on page
24.
Full SSL deployment. See Full SSL Deployment of EPM System on page 26.
Note: This document assumes that you are using WebLogic Server to host Java web applications.
If you are using WebSphere, refer to WebSphere documentation for information on SSLenabling WebSphere application server and IBM HTTP Server plug-in.
Required Certificates
SSL communication uses certificates to establish trust between components. Oracle
recommends that you use certificates from well-known third-party CAs to SSL-enable EPM
System in a production environment.
Note: EPM System supports the use of wildcard certificates, which can secure multiple
subdomains with one SSL certificate. Using a wildcard certificate can reduce management
time and cost.
If you are using wildcard certificates to encrypt communication, you must disable hostname verification in WebLogic Server.
You require the following certificates for each server that hosts EPM System components:
l
A root CA certificate
Note: You need not install a root CA certificate in the Java keystore if you are using
23
Deployment Architecture
Assumptions
Configuring EPM System
Testing the Deployment
Deployment Architecture
In this scenario, SSL is used to secure the communication link between EPM System clients (for
example, a browser) and an SSL Offloader. The illustrated concept:
24
Assumptions
Subtopics
l
l
Virtual Hosts
SSL terminated at SSL offloader configuration uses two server aliases; for example,
epm.myCompany.com and empinternal.myCompany.com, on the SSL offloader/load
balancer, one for external communication between the offloader and browsers, and the other
for internal communication among EPM System servers. Ensure that the server aliases point to
the IP address of the machine, and that they are resolvable through DNS.
A signed certificate to support external communication between the offloader and browsers
(through epm.myCompany.com) must be installed on the offloader/load balancer.
25
Deployment Architecture
Assumptions
Configuring EPM System for Full SSL
Deployment Architecture
In full SSL mode, communication across all securable channels is secured using SSL. This EPM
System deployment scenario is the most secure.
The illustrated concept:
Note: Not all EPM System components can be SSL-enabled. Typically, back-end serversfor
example, Oracle Hyperion Strategic Finance Server, and Financial Management Server
cannot be SSL-enabled.
26
Assumptions
Subtopics
l
l
l
Databases
EPM System
SSL Offloader and Load Balancer
Databases
The database servers and clients are SSL-enabled. See your database documentation for
information on SSL-enabling the database server and client.
EPM System
EPM System components, including WebLogic Server and Oracle HTTP Server, are installed
and deployed. Further, your EPM System environment has been tested to ensure that everything
is working in non-SSL mode. See the following information sources:
l
If you plan to SSL-enable the database connections, during the configuration process, you must
select the Advanced Options link on each database configuration screen, and then specify the
required settings, which include the following:
l
Select Use secure connection to the database (SSL) and enter a secure database URL; for
example, jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCPS)
(HOST=myDBhost)(PORT=1529)(CONNECT_DATA=(SERVICE
NAME=myDBhost.myCompany.com)))
Trusted Keystore
27
See the Oracle Enterprise Performance Management System Installation and Configuration
Guide for details.
28
On Select the EPM Oracle Instance to which the configuration will be applied, complete these steps:
a. In EPM Oracle instance name, enter the instance name that you used while originally
configuring EPM System components.
b. Click Next.
Before selecting the settings to use SSL to communicate with the email server,
ensure that the email server is configured for SSL.
29
a. Select Use SSL for Java web application server communication (requires manual
configuration) to specify that EPM System should use SSL for communication.
b. Optional: Enter information in Mail Server Host and Port. To support SSL
communication, you must specify the secure port used by the SMTP mail server.
c. Optional: To support SSL communication with the SMTP mail server, select Use SSL
to communicate with mail server.
d. Select or enter settings in the remaining fields.
e. Click Next.
When the deployment process is complete, the Summary screen is displayed. Click Finish.
Copy the root CA certificate into a local directory on the machine where WebLogic Server is installed.
30
Execute a keytool command such as the following to install the signed certificate into the Sun JVM
keystore:
keytool -import -alias ALIAS -file CA_CERT_FILE -keystore KEYSTORE -storepass
KEYSTORE_PASSWORD -trustcacerts
For example, you can use the following command to add a certificate CAcert.crt stored
in the current directory into the Sun JVM keystore with Blister as the certificate alias in
the keystore. A default storepass (changeit) is assumed.
keytool -import -alias Blister -file CAcert.crt -keystore ../lib/security/cacerts
-storepass changeit -trustcacerts
Note: The preceding command and example use some of the syntax for importing
certificates using keytool. See keytool documentation for a complete list of import
syntax.
Execute a command such as the following to install the root CA certificate into the JRockit JVM keystore:
keytool -import -alias ALIAS -file CERT_FILE -keystore KEYSTORE -storepass
KEYSTORE_PASSWORD -trustcacerts
For example, you can use the following command to add a certificate CAcert.crt stored
in the current directory into the JRockit JVM keystore with Blister as the certificate alias.
A default storepass (changeit) is assumed.
keytool -import -alias Blister -file CAcert.crt -keystore MIDDLEWARE_HOME/
jrockit_160_37/jre/lib/security/cacerts -storepass changeit -trustcacerts
Note: Ensure that you replace MIDDLEWARE_HOME with the directory path.
Execute a keytool command such as the following to create the custom keystore (identified by the keystore directive in the command) in an existing directory:
keytool -genkey -dname "cn=myserver, ou=EPM, o=myCompany, c=US" -alias
epm_ssl -keypass password -keystore C:\oracle\Middleware\EPMSystem11R1\ssl
\keystore -storepass password -validity 365 -keyalg RSA
Note: The common name (cn) that you set must match the server name. If you use fully
qualified domain name (FQDN) as the cn, you must use the FQDN while deploying
web components.
31
startWebLogic.cmd (Windows)
startWebLogic.sh (UNIX)
Launch the WebLogic Server Administration Console by accessing the following URL:
http://SERVER_NAME:Port/console
For example, to access the WebLogic Server console deployed to the default port on
myServer, you should use http://myServer:7001/console.
On the Welcome screen, enter the WebLogic Server administrator user name and password that you
specified in EPM System Configurator.
In the left pane of the console, expand Environment, and then select Servers.
In the Summary of Servers screen, click the name of the server that you want to SSL-enable.
For example, to SSL-enable Foundation Services components, you work with the
EPMServer0 server.
In SSL Listen Port, enter the SSL listen port where this server should listen for requests.
10 To specify the identity and trust keystores to use, select Keystores to open the Keystores tab.
11 Click Change.
12 Select an option:
l
32
Custom Identity and Custom Trust if you are not using a server certificate from a wellknown third-party CA
Custom Identity and Java Standard Trust if you are using a server certificate from a wellknown third-party CA
13 Click Save.
14 In Custom Identity Keystore, enter the path of the keystore where the signed WebLogic Server certificate
is installed.
18 Click Save.
19 Specify SSL settings.
a. Select SSL.
b. In Private Key Alias, enter the alias that you specified while importing the signed
WebLogic Server certificate.
c. In Private Key Passphrase and Confirm Private Key Passphrase, enter the password to be
used to retrieve the private key.
d. Click Save.
20 Complete step 6 through step 19 for each managed server belonging to this host.
21 In Change Center, click Activate Changes.
On each machine that hosts Oracle HTTP Server, launch the Wallet Manager.
33
Windows: Select Start, then All Programs, Oracle-OHxxxxxx, then Integrated Management
Tools, and then Wallet Manager.
xxxxxx is the Oracle HTTP Server instance number.
Optional: If you are not using a CA that is known to Oracle HTTP Server, import the root CA certificate
into the Wallet.
a. In Oracle Wallet Manager, right-click Trusted Certificates and select Import Trusted
Certificate.
b. Browse and select the root CA certificate.
c. Select Open.
a. In Oracle Wallet Manager, right-click Certificate: [Empty] and select Add Certificate
Request.
b. In Create Certificate Request, enter the required information.
For the common name, enter the fully qualified server alias; for example,
epm.myCompany.com or epminternal.myCompany.com, available in the hosts file
on your system.
c. Click OK.
d. In the confirmation dialog box, click OK.
e. Right-click the certificate request that you created, and then select Export Certificate
Request.
f.
Using the certificate request files, obtain signed certificates from the CA.
a. In Oracle Wallet Manager, right-click the certificate request that was used to obtain the
signed certificate, and then select Import User Certificate.
34
Reconfigure the web server on each Oracle HTTP Server host machine in your deployment.
ii.
Expand Hyperion Foundation task group, and then select Configure Web Server.
Update the configuration settings of each Oracle HTTP Server in your deployment.
35
If you used epm.myCompany.com as the server alias for external communication and
4443 as the SSL port, the EPM Workspace URL is
https://epm.myCompany.com:4443/workspace/index.jsp
Verify that you can securely access the deployed EPM System components.
Assumptions
Import the Root CA Certificate
Configure External User Directories
Assumptions
l
The external user directories that you plan to configure in Shared Services Console are SSLenabled.
If you did not use a certificate from a well-known third-party CA to SSL-enable the user
directory, you have a copy of the root certificate of the CA that signed the server certificate.
36
The keystore used by the JVM on each EPM System component host machine. By default,
EPM System components use the following keystore:
MIDDLEWARE_HOME/jdk160_35/jre/lib/security/cacerts
Deployment Architecture
Assumptions
Configuring EPM System
Testing the Deployment
Deployment Architecture
In this scenario, SSL is used to secure the communication link between EPM System clients (for
example, a browser) and Oracle HTTP Server. The illustrated concept:
37
Assumptions
This configuration uses two server aliases; for example, epm.myCompany.com and
empinternal.myCompany.com, on the web server, one for external communication between
the web server and browsers, and the other for internal communication among EPM System
servers. Ensure that the server aliases point to the IP address of the machine, and that they are
resolvable through DNS.
A signed certificate to support external communication with browsers (for example, through
epm.myCompany.com) must be installed on the web server (where the virtual host that supports
secure external communication is defined). This virtual host should terminate SSL and forward
HTTP requests to the Oracle HTTP Server.
38
Replace TRUSTSTORE_LOCATION with the absolute location of the keystore where you installed
the CA root certificate.
The registry location for adding this parameter for Financial Reporting Studio on a Windows
server is HKEY_LOCAL_MACHINE\SOFTWARE\Hyperion Solutions\Hyperion Reports
\HReports\JVM.
The location for adding JVM parameters for Financial Reporting is HKEY_LOCAL_MACHINE
\SOFTWARE\Hyperion Solutions\FinancialReporting0\HyS9FRReports.
Overview
Default Deployment
Required Certificates and Their Location
Essbase and SSL-Enabled EPM System
Installing and Deploying Essbase Components
Using Trusted Third-Party CA Certificates for Essbase
Establishing a Per-Session SSL Connection
Overview
Essbase supports one-way SSL only, in which the Essbase instance (server and agent) is secured
using certificates.
39
This section explains the procedures for replacing the default certificates that are used to secure
communication between an Essbase instance and components such as MaxL, Oracle Essbase
Administration Services Server, Oracle Essbase Studio Server, Oracle Hyperion Provider
Services, Foundation Services, Planning, Financial Management, and Shared Services Registry.
Default Deployment
Essbase can be deployed to work in SSL and non-SSL modes. Essbase Agent listens on a nonsecure port; it also can be configured to listen on a secure port. All connections accessing the
secure port are treated as SSL connections. If a client connects to the Essbase Agent on the nonSSL port, the connection is treated as a non-SSL connection. Components can establish
concurrent non-SSL and SSL connections to an Essbase Agent.
You can control SSL on a per-session basis by specifying the secure protocol and port when you
log in. See Establishing a Per-Session SSL Connection on page 47.
If SSL is enabled, all communication within an Essbase instance is encrypted to ensure data
security.
Default deployments of Essbase components in secure mode uses self-signed certificates to
enable SSL communication, mainly for testing purposes. Oracle recommends that you use
certificates from well-known third-party CAs to SSL-enable Essbase in production
environments.
40
Typically, an Oracle Wallet stores the certificate that enables SSL communication with clients
that use Essbase RTC (C APIs) and a Java keystore stores the certificate that enables SSL
communication with components that utilize JAPI for communication. To establish SSL
communication, Essbase clients and tools store the root certificate of the CA that signed the
Essbase Server and Agent certificates. See Required Certificates and Their Location on page
41.
with one SSL certificate. Using a wildcard certificate can reduce management time and
cost.
Wildcard certificates cannot be used if host-name check is enabled.
You require the following certificates:
l
A root CA certificate.
Components that use Essbase RTC (C APIs) to establish a connection to Essbase require
that the root CA certificate be stored in Oracle Wallet. Components that use JAPI to establish
a connection require that the root CA certificate be stored in a Java keystore. The required
certificates and their locations are indicated in the following table.
Note: You may not need to install root CA certificate if you are using certificates from a
Table 1
Component1
Keystore
Certificate2
MaxL
Oracle Wallet
Root CA certificate
Oracle Wallet
Root CA certificate
Provider Services
Oracle Wallet
Root CA certificate
Oracle Wallet
Root CA certificate
Java Keystore
Root CA certificate
Planning
Oracle Wallet
Java Keystore
Financial Management
Java Keystore
Root CA certificate
Root CA certificate
41
Component1
Keystore
Certificate2
Oracle Wallet
Root CA certificate
Java Keystore
need only one instance of the keystore to support multiple components that use similar keystore.
components can use a root certificate installed in a keystore.
3Certificates must be installed in the default Oracle Wallet and in the Java keystore.
2Multiple
42
Oracle Wallet
Refer to Table 1, Required Certificates and Their Locations for a list of components that require
the CA root certificate in an Oracle Wallet. You can create a wallet or install the certificate in
the demo wallet where the default self-signed certificate is installed.
See Oracle Wallet Manager documentation for detailed procedures to create wallets and to
import the root CA certificate.
43
Java Keystore
Refer to Table 1, Required Certificates and Their Locations for a list of components that require
the root CA certificate in an Java keystore. You can add the certificate into the keystore where
the default self-signed certificate is installed or create a keystore for storing the certificate.
Note: The root CA certificates of many well-known third-party CAs are already installed in the
Java keystore.
Refer to the documentation of the tool that you are using for detailed instructions. If you are
using keytool, use a command, such as the following, to import the root certificate:
keytool -import -alias blister_CA -file c:/certs/CA.crt -keypass
password -trustcacerts -keystore C:\Oracle\Middleware\EPMSystem11R1\Essbase_ssl
\keystore -storepass password
If you are using keytool, use a command, such as the following, to import the certificate:
keytool -import -alias essbase_ssl -file C:/certs/essbase_ssl_crt -keypass password
-keystore
C:\Oracle\Middleware\EPMSystem11R1\Essbase_ssl\keystore -storepass password
You customize the SSL settings for components that use C APIs (Essbase Server and clients) by
specifying their value in essbase.cfg.
You customize Essbase Server SSL settings by specifying their value in essbase.cfg.
44
Secure port
Cipher suites
To update essbase.cfg:
1
Enter settings as needed. Default Essbase settings are implied. If you need to change the default
behavior, add the settings for the custom behavior in essbase.cfg. For example,
EnableClearMode is enforced by default, by which Essbase Server is enabled to communicate over
nonencrypted channel. To turn off Essbase Server's ability to communicate over unencrypted channel,
you should specify EnableClearMode FALSE in essbase.cfg. See Table 2.
Table 2
Setting
Description1
EnableClearMode2
Enables unencrypted communication between Essbase applications and Essbase Agent. If this
property is set to FALSE, Essbase does not handle non-SSL requests.
Default: EnableClearMode TRUE
Example: EnableClearMode FALSE
EnableSecureMode
Enables SSL encrypted communication between Essbase clients and Essbase Agent. This property
must be set to TRUE to support SSL.
Default: FALSE
Example: EnableSecureMode TRUE
SSLCipherSuites
A list of cipher suites, in order of preference, to use for SSL communication. See Available Cipher
Suites for Components that Use Essbase C APIs on page 47. Essbase Agent uses one of these
cipher suites for SSL communication. The first cipher suite in the list is accorded the highest priority
when the agent chooses a cipher suit.
Default: SSL_RSA_WITH_RC4_128_MD5
Example: SSLCipherSuites SSL_RSA_WITH_AES_256_CBC_SHA, SSL_RSA_WITH_DES_
CBC_SHA
AgentSecurePort
45
Setting
Description1
WalletPath
Location of the Oracle Wallet (fewer than 1,024 characters) that stores the root CA certificate and
signed certificate.
Default: ARBORPATH/bin/wallet
Example: WalletPath/usr/local/wallet
ClientPreferredMode3
The mode (Secure or Clear) for the client session. If this property is set to Secure, SSL mode is used
for all sessions.
If this property is set to Clear, transport is chosen based on whether the client login request contains
the secure transport keyword. See Establishing a Per-Session SSL Connection on page 47.
Default: CLEAR
Example: ClientPreferredMode SECURE
1The
2Essbase
3Clients
use this setting to determine whether they should establish a secure or nonsecure connection with Essbase.
Update properties as needed. See Table 3 for description of customizable JAPI client properties.
Property
Description
olap.server.ssl.
alwaysSecure
Sets the mode that clients should use against all Essbase instances. Change this property value
to true to enforce SSL mode.
Default: false
olap.server.ssl.
securityHandler
Package name for handling the protocol. You can change this value to indicate another handler.
olap.server.ssl.
securityProvider
Oracle uses the Sun SSL protocol implementation. You can change this value to indicate another
provider.
Default: java.protocol.handler.pkgs
Default: com.sun.net.ssl.internal.www.protocol
46
Property
Description
olap.server.ssl.
supportedCiphers
A comma-separated list of additional ciphers to be enabled for secure communication. You must
specify only ciphers that Essbase supports. See Available Cipher Suites for Components that
Use Essbase C APIs on page 47.
Example: SSL_RSA_WITH_AES_256_CBC_SHA,SSL_RSA_WITH_AES_128_CBC_SHA
olap.server.ssl.
trustManagerClass
The TrustManager class to use to validate the SSL certificate by verifying the signature and
checking the certificate expiration date.
By default, this property is not set to enforce all verification checks.
To not enforce verification checks, set the value of this parameter to com.essbase.
services.olap.security.EssDefaultTrustManager, which is the default
TrustManager class that allows all validation checks to succeed.
To implement a custom TrustManager, specify a fully qualified class name of the TrustManager
class that implements javax.net.ssl.X509TrustManager interface.
Example:com.essbase.services.olap.security.EssDefaultTrustManager
SSL_RSA_WITH_AES_256_CBC_SHA
SSL_RSA_WITH_AES_128_CBC_SHA
SSL_RSA_WITH_3DES_EDE_CBC_SHA
SSL_RSA_WITH_DES_CBC_SHA
SSL_RSA_WITH_RC4_128_SHA
SSL_RSA_WITH_RC4_128_MD5
47
48
3
In This Chapter
HTTP Header
Custom Login Class
HTTP Authorization Header
Get Remote User from HTTP Request
SSO requires that the web identity management solution pass the login name of authenticated
users to EPM System products. You can use the following standard EPM System methods to
integrate EPM System with commercial and custom web-based SSO solutions.
l
Caution!
49
HTTP Header
If you are using Oracle Single Sign-on (OSSO), SiteMinder, or Oracle Access Manager as the
web identity management solution, EPM System security automatically selects Custom HTTP
header to pass the login name of authenticated users to EPM System components.
The login name of an EPM System product user is determined by the Login Attribute that
is specified while configuring user directories in Shared Services. See Configuring OID, Active
Directory, and Other LDAP-Based User Directories in the Oracle Enterprise Performance
Management System User Security Administration Guide for a brief description of the Login
Attribute.
The HTTP header must contain the value of the attribute that is set as the Login Attribute.
For example, if uid is the Login Attribute value, the HTTP header must carry the value of
the uid attribute.
See your web identity management solution documentation for detailed information on defining
and issuing custom HTTP headers.
EPM System security parses the HTTP header and validates the login name that it carries against
the user directories configured on Shared Services.
and password (optional). If the interface returns a null password, security authentication treats
the provider as trusted and verifies the existence of the user in configured providers. If the
interface returns a non-null value for the password, EPM System attempts to authenticate the
request using the user name and password returned by this implementation.
CSSSecurityAgentIF comprises two methods: getUserName and getPassword.
50
getUserName Method
This method returns the user name for authentication.
java.lang.String getUserName(
javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse res)
throws java.lang.Exception
The req parameter identifies the HTTP request that carries the information that is used to
determine the user name. The res parameter is not used (preset for backward compatibility).
getPassword Method
This method returns clear-text password for authentication. Password retrieval is optional.
java.lang.String getPassword(
javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse res)
throws java.lang.Exception
The req parameter identifies the HTTP request that carries the information that is used to
determine the password. The res parameter is not used (preset for backward compatibility).
51
EPM System uses the value of the login attribute to authenticate the user against a configured
user directory (in this case, the user directory against which Oracle Access Manager authenticates
users) and then generates an EPM SSO token that enables SSO across EPM System. Provisioning
information of the user is checked in Native Directory to authorize the user to EPM System
resources.
Note: Administration Services console, which is a thick client, does not support SSO from Oracle
Access Manager.
Information about configuring Oracle Access Manager and performing tasks such as setting up
the HTTP header and policy domains is available in the Oracle Access Manager documentation.
This guide assumes a working Oracle Access Manager deployment where you have completed
the following tasks:
l
Protected the EPM System resources listed in Resources to Protect on page 59. Requests
to access protected resources are challenged by Oracle Access Manager.
Unprotected the EPM System resources listed in Resources to Unprotect on page 60.
Requests to access unprotected resources are not challenged by Oracle Access Manager.
Add the user directory that Oracle Access Manager uses to authenticate users as an external user
directory in EPM System. See Configuring OID, Active Directory, and Other LDAP-Based User Directories
in the Oracle Enterprise Performance Management System User Security Administration Guide.
Note: Ensure that the Trusted check box in the Connection Information screen is selected
Configure EPM System for SSO. See Configuring the EPM System for SSO on page 80.
Select Oracle Access Manager from the SSO Provider or Agent list. If the HTTP header from
Oracle Access Manager uses a name other than HYPLOGIN, enter the name of the custom
header in the text box next to the SSO Mechanism list.
52
Process Flow
53
4. The EPM System component verifies that the user whose identity is retrieved from ProxyRemote-User is present in OID. For this process to work, the OID that is configured with
the OSSO Server should be configured as an external user directory in Shared Services.
Prerequisites
1. A fully functional Oracle Application Server Infrastructure.
To establish an Oracle Application Server Infrastructure, install and configure Oracle
Identity Management Infrastructure 10.1.4. Ensure that OSSO is enabled. Oracle Identity
Management Infrastructure 10.1.4 installation includes the following components to
support OSSO.
l
An OID, which the OSSO Server uses to validate credentials. See the following guides:
Oracle HTTP Server as a frontend to the OSSO Server. This installation includes
mod_osso, which allows you to define partner applications for OSSO.
Note: This Oracle HTTP Server instance is a part of the OSSO infrastructure; it is not
54
This section assumes that you have a fully configured OSSO infrastructure. See the Oracle
Application Server Administrator's Guide.
Open a console on the server that hosts the Oracle HTTP Server that front-ends the OSSO Server and
navigate to ORACLE_HOME/sso/bin directory of Oracle HTTP Server, for example to C:/
OraHome_1/sso/bin (Windows).
The following explans the parameters used in this command. In this description, partner
application refers to the Oracle HTTP Server that is used as the EPM System web server.
l
-site_name identifies the web site of the partner application; for example,
epm.myCompany.com.
-mod_osso_url indicates the partner application URL, in PROTOCOL://
HOST_NAME:PORT format. This is the URL at which the EPM System web server accepts
incoming client requests; for example, http://epm.myCompany.com:19000.
-config_mod_osso identifies that the partner application uses mod_osso. You must
include the config_mod_osso parameter to generate osso.conf.
55
-update_mode indicates the update mode. Use CREATE, the default, to generate a new
record.
l
-remote_midtier specifies that the mod_osso partner application is at a remote midtier. Use this option when the partner application is at a different ORACLE_HOME than
-virtualhost indicates that the partner application URL is a virtual host. Do not use
Add a definition similar to the following. This definition assumes that the web server is running on the
virtual server epm.myCompany.com at port epm.myCompany.com:19400. Modify the settings
to suit your requirements.
NameVirtualHost epm.myCompany.com:19400
Listen 19400
<VirtualHost epm.myCompany.com:19400>
DocumentRoot "C:/Oracle/Middleware/user_projects/epmsystem1/httpConfig/ohs
/config/OHS/ohs_component/private-docs"
include "${ORACLE_INSTANCE}/config/${COMPONENT_TYPE}
/${COMPONENT_NAME}/mod_osso.conf"
</VirtualHost>
Creating mod_osso.conf
Create mod_osso.conf on the Oracle HTTP Server that front-ends the EPM System web server.
To create mod_osso.conf:
1
Copy the following content into the file and modify it for your environment.
LoadModule osso_module C:/Oracle/Middleware/ohs/ohs/modules/mod_osso.so
<IfModule mod_osso.c>
OssoIpCheck off
OssoIdleTimeout off
OssoSecureCookies off
56
OssoConfigFile C:/Oracle/Middleware/user_projects/epmsystem1/httpConfig/
ohs/config/OHS/ohs_component/osso/osso.conf
Within the <IfModule mod_osso.c definition, include location definitions similar to the following
to identify each resource that you plan to protect using OSSO.
<Location /interop/>
require valid user
AuthType Osso
</Location>
</IfModule>
Relocating osso.conf
The process of registering EPM System web server as a partner application (see Registering
EPM System Web Server as a Partner Application on page 55) creates an obfuscated
osso.conf file in the location identified by the -config_file directive.
To relocate osso.conf:
1
Locate the osso.conf that was created when you registered EPM System web server as a partner
application (see Registering EPM System Web Server as a Partner Application on page 55.
Copy osso.conf into the directory (on Oracle HTTP Server that front-ends the OSSO Server) identified
by the OssoConifgFile property defined in mod_osso.conf (see Creating
mod_osso.conf on page 56).
Append the following directives for Reporting and Analysis cache management:
<Location /WebAnalysis/>
OssoSendCacheHeaders off
</Location>
<Location /workspace/>
OssoSendCacheHeaders off
</Location>
<Location /hr/>
OssoSendCacheHeaders off
</Location>
<Location /HReports/>
OssoSendCacheHeaders off
</Location>
57
Configure the OID that the OSSO solution uses as an external user directory. See "Configuring OID,
Active Directory, and Other LDAP-Based User Directories in the Oracle Enterprise Performance
Management System User Security Administration Guide.
Enable SSO in the EPM System. Configuring the EPM System for SSO on page 80
Note: To configure OSSO as the identity management solution, you must choose Other in
SSO Provider or Agent, Custom HTTP Header in SSO Mechanism, and enter ProxyRemote-User as the name of the custom HTTP header.
Restart EPM System products and custom applications that use the Shared Services security APIs.
Note: Ensure that the OID configured with Shared Services is running before starting EPM
System products.
58
Resources to Protect
Resources to Unprotect
You must protect EPM System resources so that SSO requests from users are redirected to the
security agent (OAM, OSSO, or SiteMinder).
Oracle HTTP Server uses mod_osso to redirect users to the OSSO server. Users are redirected
only if the URLs that they request are configured in mod_osso to be protected. See Managing
Security in the Oracle HTTP Server Administrator's Guide.
For information on protecting resources for SiteMinder SSO, see SiteMinder documentation.
Resources to Protect
Table 4 lists the contexts that must be protected. The syntax for protecting a resource (using
interop as an example) for OSSO:
<Location /interop>
Require valid-user
AuthType Basic
order deny,allow
deny from all
allow from myServer.myCompany.com
satisfy any
</Location>
The allow from parameter specifies servers from which the protection of the context can be
bypassed.
For EPM Workspace, Financial Reporting, and Web Analysis, you need to set only the parameters
indicated in the following example:
<Location /workspace>
Require valid-user
AuthType Basic
</Location>
Table 4
Context to Protect
Shared Services
/interop
59
Context to Protect
/raframework
/biplus_webservices
EPM Workspace
/workspace
Financial Reporting
/hr
Web Analysis
/WebAnalysis
/awb
Planning
/HyperionPlanning
/HPSWebReports
/HPSAlerter
/HSFWebServices
/interlace
Financial Management
/hfmadf
/hfmofficeprovider
/hfmsmartviewprovider
/drm-web-client
Administration Services
/hbrlauncher
/HyperionFDM
/calcmgr
/aps
/profitability
/arm
/fcc
/mappingtool
/aif
1Full certificates chain (starting from root certificate) is required on the client machine to support the use of Disclosure Management client with
Resources to Unprotect
Table 5 lists the contexts that must be unprotected. The syntax for unprotecting a resource
(using /interop/framework(.*) as an example) for OSSO:
<LocationMatch /interop/framework(.*)>
Require valid-user
60
AuthType Basic
allow from all
satisfy any
</LocationMatch>
Table 5
Contexts to Unprotect
Shared Services
/interop/framework(.*)1
/interop/Audit(.*)
/interop/taskflow*2
/interop/WorkflowEngine/*3
/interop/TaskReceiver4
/framework/lcm/HSSMigration
/awb/ces.executeAction.do
/awb/lcm.executeAction.do
/awb/appmanager.deployStatusUpdate.do
/awb/jobstask.updateJobStatus.do
/hyperion-bpma-server
/awb/integration.updateApplicationDeployStatus.do/**
/workspace/browse/listXML*
/epmstatic* 6
/HyperionPlanning/Smartview
/HyperionPlanning/faces/PlanningCentral
/HyperionPlanning/servlet/HspLCMServlet
/HyperionPlanning/servlet/PlanningDMEAdapter
/raframework/wsrp4j(.*)
/raframework/ResourceProxy(.*)
/InsightInstaller* 7
/WebAnalysis/wsrp4j(.*)
/WebAnalysis/ResourceProxy(.*)
/hr/common/HRLogon.jsp
/hr/wsrp4j(.*)
/hr/ResourceProxy(.*)
/hr/services/*
/hr/modules/com/hyperion/reporting/web/reportViewer/HRStaticReport.jsp
EPM Workspace
Planning
/drm-migration-client
61
Contexts to Unprotect
Administration Services
/eas
/easconsole
/easdocs
/hfm/EIE/EIEListener.asp
/hfmapplicationservice
/oracle-epm-fm-webservices
/hfmlcmservice
/HPSWebReports/wsrp4j(.*)
/HPSWebReports/ResourceProxy(.*)
/HPSWebReports/action/lcmCallBack
Financial Management
/DataSync/services*
/HSFWebServices/HSFWebService.asmx
/HSFWebServices/HSFEntityWebService.asmx
/interlace/services/(.*)
/interlace/anteros/(.*)
/interlace/interlace/(.*)
/interlace/WebHelp/(.*)
/interlace/html/(.*)
/interlace/email-book/(.*)
/profitability/cesagent
/profitability/lcm
/profitability/control
/profitability/HPMApplicationListener
/aif/services/FDMRuleService
/aif/services/RuleService
/discmanwebservices
/mappingtool/MappingToolWS
integration only.
6Unprotect this resource if you are using Oracle Access Manager
7Unprotect this resource if you are using Oracle Access Manager
62
SiteMinder SSO
Subtopics
l
l
l
l
l
l
l
Process Flow
Special Considerations
Prerequisites
Enabling SiteMinder Web Agent
Configuring the SiteMinder Policy Server
Configuring SiteMinder Web Server to Forward Requests to the EPM System Web Server
Enabling SiteMinder in EPM System
SiteMinder is a web-only solution. Desktop applications and their add-ins (for example,
Microsoft Excel and Report Designer) cannot use authentication through SiteMinder. However,
Oracle Smart View for Office can use SiteMinder authentication.
Process Flow
Illustrated overview of SiteMinder-enabled SSO:
SiteMinder SSO
63
http://WebAgent_Web_Server_Name:WebAgent_Web_ServerPort/interop/
index.jsp.
2. The web server redirects users to the policy server, which challenges users for credentials.
After verifying credentials against configured user directories, the policy server passes the
credentials to the web server that hosts the SiteMinder Web Agent.
3. The web server that hosts the SiteMinder Web Agent redirects the request to the Oracle
HTTP Server that front-ends EPM System. Oracle HTTP Server redirects users to the
requested application deployed on WebLogic Server or IIS Server.
4. The EPM System component checks provisioning information and serves up content. For
this process to work, the user directories that SiteMinder uses to authenticate users must be
configured as external user directories in the EPM System. These directories must be
configured as trusted.
Special Considerations
SiteMinder is a web-only solution. Desktop applications and their add-ins (for example,
Microsoft Excel and Report Designer) cannot use authentication through SiteMinder. However,
Smart View can use SiteMinder authentication.
Prerequisites
1. A fully functional SiteMinder installation comprising the following components:
l
SiteMinder Policy Server on which policies and agent objects are defined
SiteMinder Web Agent installed on the web server that front-ends the SiteMinder Policy
Server
64
SiteMinder supports SSO across EPM System products running on heterogeneous web server
platforms. If EPM System products use different web servers, you must ensure that the
SiteMinder cookie can be passed among web servers within the same domain. You do so by
specifying the appropriate EPM System application domain as the value of the
Cookiedomain property in the WebAgent.conf file of each web server.
See the Configuring Web Agents in the Netegrity SiteMinder Agent Guide.
Note: Because Shared Services uses basic authentication to protect its content, the web server
that intercepts requests to Shared Services should enable basic authentication to support
SSO with SiteMinder.
You configure the web Agent by running the SiteMinder Web Agent Configuration wizard (by
executing WEBAGENT_HOME/install_config_info/nete-wa-config; for example, C:
\netegrity\webagent\install_config_info\nete-wa-config.exe on Windows).
The configuration process creates a WebAgent.conf for the SiteMinder web server.
Using a text editor, open WebAgent.conf. The location of this file depends on the web server that
you are using. If you are configuring the an IIS Server as the SiteMinder web server, the location of
WebAgent.conf is WEB_AGENT_HOME/bin/IIS; for example, C:\SiteMinder\webagent
\bin\iis\WebAgent.conf.
Creating a SiteMinder Web Agent and adding configuration objects appropriate for the
SiteMinder web server
Creating a realm for each EPM System resource that should be protected and adding the
web agent to the realm. See Resources to Protect on page 59
Within the realm that was created for protected EPM System resources, create realms for
unprotected resources. See Resources to Unprotect on page 60
Creating HTTP header reference. The header should provide the value of Login
Attribute to EPM System applications. See Configuring OID, Active Directory, and
Other LDAP-Based User Directories in the Oracle Enterprise Performance Management
System User Security Administration Guide for a brief description of Login Attribute.
Creating rules within the realms with Get, Post, and Put as web agent actions
SiteMinder SSO
65
In this directive, replace EPM_WEB_SERVER and EPM_WEB_SERVER_PORT with the actual values
for your environment.
Overview
Support Limitations
Assumptions
Kerberos SSO with WebLogic Server
WebLogic Server Procedures to Support Kerberos Authentication
Overview
EPM System products support Kerberos SSO if the application server that hosts EPM System
products is set up for Kerberos authentication.
Kerberos is a trusted authentication service in which each Kerberos client trusts the identities of
other Kerberos clients (users, network services, and so on) to be valid.
66
Support Limitations
Kerberos SSO is supported for all EPM System products, with the following exceptions:
l
Kerberos SSO is not supported for thick clients other than Smart View.
Smart View supports Kerberos integration for Oracle Essbase, Planning, and Financial
Management providers only
Kerberos SSO support for IIS-embedded EPM System products (for example, Financial
Management) is available only through EPM Workspace. SSO access to Oracle Hyperion
Financial Data Quality Management is provided through Financial Management.
Assumptions
This document, which contains application-level Kerberos configuration steps, assumes
knowledge of Kerberos configuration at the system level. Before you start these procedures,
confirm that the prerequisites for these tasks arecompleted.
This document assumes that you are working in a fully functional Kerberos-enabled network
environment in which Windows client machines are configured for Kerberos authentication.
l
The corporate Active Directory is configured for Kerberos authentication. See Microsoft
Windows Server documentation.
Browsers used to access EPM System products are configured to negotiate using Kerberos
tickets.
m
Firefox: https://access.redhat.com/knowledge/docs/en-US/
Red_Hat_Enterprise_Linux/5/html/Deployment_Guide/sso-config-firefox.html
Internet Explorer: http://docs.oracle.com/cd/E12839_01/web.1111/e13707/
sso.htm#i1102444
Time synchronization with no more than a five-minute skew between KDC and client
machines. See Authentication Errors are Caused by Unsynchronized Clocks at http://
technet.microsoft.com/en-us/library/cc780011(WS.10).aspx.
67
Firefox) to access the EPM System products running on WebLogic Server. WebLogic
Server can run on a UNIX or Windows platform.
Using the user ID derived from the authentication process, the EPM System product
authorization process checks for provisioning data. Access to EPM System product is restricted
based on provisioning data.
See Configuring Single Sign-On with Microsoft Clients in the Oracle Fusion Middleware
Securing Oracle WebLogic Server guide.
68
Create the WebLogic domain for EPM System. See Creating the WebLogic Domain for
EPM System on page 69.
Create an authentication provider. See Creating an LDAP Authentication Provider in
WebLogic Server on page 69.
Create a Negotiate Identity Asserter. See Creating a Negotiate Identity Asserter on page
69.
Create a Kerberos identification. See Creating Kerberos Identification for WebLogic
Server on page 70.
Update the JVM options for Kerberos. See Updating JVM Options for Kerberos on page
71.
Configure authorization policies. See Configuring Authorization Policies on page 72.
Deploy and use SSODiag to verify that WebLogic Server is ready to support Kerberos SSO
for EPM System. See Using SSODiag to Test the Kerberos Environment on page 72.
Foundation Services deployment creates the default EPM System WebLogic domain.
Log in to the Shared Services Console to verify that Foundation Services deployment was successful.
See Launching Shared Services Console on page 20.
69
While creating the Negotiate Identity Assertion provider, set the JAAS Control Flag option to
OPTIONAL for all authenticators. See Set the JAAS control flag in Oracle Fusion Middleware
Oracle WebLogic Server Administration Console Online Help.
On the Active Directory domain controller machine, create a user account; for example, epmHost, for
the computer that hosts the WebLogic Server domain and IIS used by EPM System components.
Note: Create the identification as a user object, not as a machine.
Use the simple name of the computer; for example, use epmHost if the host is named
epmHost.example.com.
Record the password you use while creating the user object. You will need it to create
SPNs.
Do not select any password options, especially the User must change password
at next logon option.
Modify the user object to comply with the Kerberos protocol. The account must require Kerberos preauthentication.
l
On the computer that hosts the Active Directory domain Controller, open a command prompt window
and navigate to the directory where Active Directory support tools are installed.
a. Use a command similar to the following to verify that the SPNs are associated with the
user object (epmHost) that you created in step 1.
setspn -L epmHost
b. Using a command such as the following, configure the SPN for WebLogic Server in
Active Directory Domain Services (AD DS) and generate a keytab file that contains the
shared secret key.
70
Create a keytab file on the computer that hosts the WebLogic Server.
d. When prompted for a password, enter the password that you set while creating the user
in step 1.
Copy the keytab file into the startup directory within the WebLogic domain; for example, into C:
\Oracle\Middleware\user_projects\domains\EPMSystem.
In this command, account-name indicates the Kerberos principal; for example, HTTP/
[email protected]. The output from this command should be similar
to the following:
New ticket is stored in cache file C:\Documents and Settings\Username\krb5cc_MachineB
Select My Computer, then HKEY_LOCAL_MACHINE, then Software, then Hyperion Solutions, then
EPMServer0, and then HyS9EPMServer_epmsystem1.
Table 6
Name
Type
Data
JVMOption44
REG_SZ
JVMOption45
REG_SZ
71
Name
Type
Data
JVMOption46
REG_SZ
JVMOption47
REG_SZ
-Djavax.security.auth.useSubjectCredsOnly=false
Update the value of JVMOptionCount DWord to reflect the added JVMOptions (add 4 to the current
decimal value).
Deploying SSODiag
Configuring Oracle HTTP Server for SSODiag
Creating Policies for SSODiag
Using SSODiag to Test WebLogic Server Configuration for Kerberos Authentication
SSODiag is a diagnostic web application that tests whether the WebLogic Server in your Kerberos
environment is ready to support EPM System.
Deploying SSODiag
Use the WebLogic Server administrator credentials (default user name is epm_admin) that you
specified while deploying Foundation Services to deploy SSODiag.
Log on to the WebLogic Server Administration Console for EPM System domain.
Click Next.
In Choose targeting style, ensure that Install this deployment as an application is selected, and then
click Next.
72
In Select Deployment Targets, select the following, and then click Next.
l
EPMServer
In Optional Settings, select Custom Roles and Policies: Use only roles and Policies that are defined
in the Administration Console as the security model.
73
10 Click Next.
11 On the review screen, select No, I will review the configuration later.
12 Click Finish.
13 In Change Center, select Activate Changes.
In the preceding sample, myServer denotes the Foundation Services host machine, and
28080 represents the port at which Shared Services listens for requests.
74
In this sample, OHS_HOST_NAME indicates the name of the server that hosts Oracle HTTP Server
and PORT indicates the port where Oracle HTTP Server listens for requests.
In the Change Center in WebLogic Server Administration Console for EPM System domain, select Lock
& Edit.
/index.jsp
a. From the list of URL patterns in Stand-Alone Web Application URL Patterns, open the
pattern (/) that you created by clicking it.
b. Select Add Conditions.
c. In Predicate List, select User.
d. Select Next.
e. In User Argument Name, enter the Active Directory user whose account is used to access
a client desktop configured for Kerberos authentication; for example, krbuser1, and
select Add. krbuser1 is an Active Directory or Windows desktop user.
f.
Select Finish.
Select Save.
Caution!
75
Using WebLogic Server Administration Console, start the SSODiag web application to service all
requests.
Log on to a client machine configured for Kerberos authentication using valid Active Directory credentials.
In this sample, OHS_HOST_NAME indicates the name of the server that hosts Oracle HTTP
Server, and PORT indicates the port where Oracle HTTP Server listens for requests.
If Kerberos authentication works properly, SSODiag displays the following information:
Retrieving Kerberos User principal name... Success.
Kerberos principal name retrieved... SOME_USER_NAME
If Kerberos authentication does not work properly, SSODiag displays the following
information:
Retrieving Kerberos User principal name... failed.
AnalyticProviderServices0
CalcMgr0
DisclosureManagement0
EpmaDataSync0
EpmaWebReports0
ErpIntegrator0
EssbaseAdminServer0
FinancialReporting0
FMWebServices0
FoundationServices0
HpsAlerter0
HpsWebReports0
hsfweb0
Planning0
76
Profitability0
RaFramework0
WebAnalysis0
If EPM System web applications are deployed in the compact deployment mode, you need to
update the startup JVM options of EPMSystem0 managed server only. If you have multiple
compact managed servers, you must update the startup JVM options for all managed servers.
See Using Startup Arguments for Kerberos Authentication with WebLogic Server in the Oracle
Fusion Middleware Securing Oracle WebLogic Server guide.
Note: The following procedure describes how to set the startup JVM options for the
FoundationServices managed server. You must perform this task for each WebLogic
managed server in the deployment.
For detailed procedures to configure JVM options in WebLogic Server startup scripts, see
Updating JVM Options for Kerberos on page 71.
AIF
APS
CALC
DISCLOSUREMANAGEMENT
EAS
EPMADATASYNCHRONIZER
EPMAWEBTIER
FINANCIALREPORTING
HPSAlerter
HPSWebReports
HSFWEB
PLANNING
77
PROFITABILITY
RAFRAMEWORK
SHAREDSERVICES
WEBANALYSIS
WORKSPACE
In the app-deployment definition of each EPM System component, set the value of <security-ddmodel> to CustomRolesAndPolicies as shown in the following example:
<app-deployment>
<name>SHAREDSERVICES#11.1.2.0</name>
<target>EPMServer</target>
<module-type>ear</module-type>
<source-path>C:\Oracle\Middleware\EPMSystem11R1/products/Foundation/AppServer/
InstallableApps/common/interop.ear</source-path>
<security-dd-model>CustomRolesAndPolicies</security-dd-model>
<staging-mode>nostage</staging-mode>
</app-deployment>
In the Change Center in WebLogic Server Administration Console for EPM System domain, click Lock
& Edit.
Click Deployments.
Expand an EPM System enterprise application (for example PLANNING) in your deployment and then
click its web application (for example HyperionPlanning). See Changing Default Security Model
of EPM System Components on page 77 for a list of EPM System components.
Note: Some enterprise applications; for example Oracle Essbase Administration Services,
comprise multiple web applications for which URL patters must be defined.
78
g. Specify the arguments that pertain to the predicate you chose. For example, if you chose
Group in the preceding step, you should complete the following steps:
i.
In Group Argument Name, enter the name of the group that contains the users who
should be allowed to access the web application. The name that you enter must
exactly match an Active Directory group name.
ii.
Click Add.
iii.
h. Click Finish.
WebLogic Server displays an error message if it cannot locate the group in Active
Directory. You must resolve this error before before proceeding.
i.
Select Save.
Repeat step 3 and step 4 for the other EPM System components in your deployment.
Right click an EPM System component's website; for example, hfm for Financial Management, and then
select Properties.
79
Right click the application pool of the EPM System component for which you changed authentication
and access control methods in the preceding steps, and then click Properties. For example, if you
modified the authentication and access control method of hfm website, right-click hfmAppPool, and
then select Properties.
a. In User name, enter the service principal you created (see Creating Kerberos
Identification for WebLogic Server on page 70).
b. In Password, enter the password of the service principal.
c. Click OK.
Repeat step 3 through step 8 to configure Kerberos authentication for remaining websites and
application pools.
10 Restart IIS.
In an SSO-enabled environment, the EPM System product that is first accessed by the user parses
the SSO mechanism to retrieve the authenticated user ID contained in it. The EPM System
product checks the user ID against the user directories configured in Shared Services to
determine that the user is a valid EPM System user. It also issues a token that enables SSO across
EPM System products.
The configuration specified in Shared Services enables SSO and determines the authentication
mechanism to accept for SSO for all EPM System products.
Launch the Shared Services Console as a Shared Services Administrator. See Launching Shared
Services Console on page 20.
Verify that the user directories used by the web identity management solution are configured as external
user directories in Shared Services.
For example, to enable Kerberos SSO, you must configure the Active Directory that is
configured for Kerberos authentication as an external user directory.
See Chapter 4, Configuring User Directories.
80
In Single Sign-on Configuration in the Defined User Directories screen, perform the following steps:
select the SSO Mechanism that you want to use in SSO Mechanism.
Table 7
OSSO
SiteMinder
Kerberos
1The
default HTTP Header name is HYPLOGIN. If you are using a custom HTTP Header, replace the name.
Click OK.
SSO mechanisms are supported for shared connections only. SSO mechanisms are not
supported with private connections, which are used primarily for backward compatibility.
If Smart View is launched from an existing browser session that is connected to an EPM
System component, users must sign into Smart View again, because it does not share the
cookie from the existing session.
If you are using a custom html based login form instead of the default Oracle Access Manager
login form, ensure that the source of the custom form includes the string loginform. This
is required to allow Smart View integration with Oracle Access Manager to work.
81
82
In This Chapter
User Directories in EPM System Security ................................................................83
Operations Related to User Directory Configuration ....................................................84
Oracle Identity Manager and EPM System...............................................................84
Active Directory Information...............................................................................85
Configuring OID, Active Directory, and Other LDAP-based User Directories ..........................85
Configuring Relational Databases as User Directories .................................................96
Testing User Directory Connections ......................................................................99
Editing User Directory Settings............................................................................99
Deleting User Directory Configurations................................................................. 100
Managing the User Directory Search Order ............................................................ 100
Setting Security Options................................................................................. 102
Regenerating Encryption Keys .......................................................................... 104
Using Special Characters................................................................................ 106
83
Configuring OID, Active Directory, and Other LDAP-based User Directories on page
85
Configuring Relational Databases as User Directories on page 96
84
Ensure that members (users and groups) of Oracle Identity Manager enterprise roles that
are to be used for EPM System provisioning are defined in an LDAP-enabled user directory;
for example OID or Active Directory.
Configure the LDAP-enabled user directory where members of the enterprise roles are
defined as an external user directory in EPM System. See Configuring OID, Active
Directory, and Other LDAP-based User Directories on page 85.
Global Catalog
A global catalog is a domain controller that stores a copy of all Active Directory objects in a
forest. It stores a complete copy of all objects in the directory for its host domain and a partial
copy of all objects for all other domains in the forest, which are used in typical user search
operations. See Microsoft documentation for information on setting up a global catalog.
If your organization is using a global catalog, use one of these methods to configure Active
Directory:
l
Configure the global catalog server as the external user directory (recommended).
Configuring the global catalog instead of individual Active Directory domains allows EPM
System products to access local and universal groups within the forest.
85
Access Shared Services Console as System Administrator. See Launching Shared Services Console
on page 20.
The Provider Configuration tab opens. This screen lists all configured user directories,
including Native Directory.
Click New.
86
Click Next.
87
Table 8
Label
Description
Directory Server
Select a user directory. The ID Attribute value changes to the recommended constant unique identity attribute
for the selected product.
This property is automatically selected if you chose Active Directory in step 4.
Select Other in the following scenarios:
l
You are configuring an unlisted user directory type; for example, Oracle Virtual Directory
You are configuring a listed LDAP-enabled user directory (for example, OID), but want to use a custom ID
Attribute.
Note: Because Oracle Virtual Directory provides a virtualized abstraction of LDAP directories and RDMBS data
repositories in one directory view, EPM System considers it a single external user directory regardless of the number
and type of user directories Oracle Virtual Directory supports.
Example: Oracle Internet Directory
Name
A descriptive name for the user directory. Used to identify a specific user directory if multiple user directories are
configured.
Example: Corporate_OID
DNS Lookup
Active Directory only: Select this option to enable DNS lookup. See DNS Lookup and Host Name Lookup on
page 85. Oracle recommends that you configure DNS lookup as the method to connect to Active Directory in
production environments to avoid connection failures.
Note: Do not select this option if you are configuring a global catalog.
When you select this option, the following fields are displayed:
l
AD Site: Active Directory site name, generally the relative distinguished name of the site object that is stored
in Active Directory configuration container. Typically, AD Site identifies a geographic location such as a city,
state, region, or country.
Examples: Santa Clara or US_West_region
Host Name
DNS Server: DNS name of the server that supports DNS server lookup for domain controllers.
Active Directory only: Select this option to enable static host name lookup. See DNS Lookup and Host Name
Lookup on page 85.
Note: Select this option if you are configuring an Active Directory global catalog.
Host Name
DNS name of the user directory server. Use the fully qualified domain name if the user directory is to be used to
support SSO from SiteMinder. Oracle recommends using the host name to establish an Active Directory connection
for testing purposes only.
Note: If you are configuring an Active Directory global catalog, specify the global catalog server host name. See
Global Catalog on page 85.
Example: MyServer
Port
88
Label
Description
SSL Enabled
The check box that enables secure communication with this user directory. The user directory must be configured
for secure communication.
Base DN
The distinguished name (DN) of the node where the search for users and groups should begin. You can also use
the Fetch DNs button to list available base DNs and then select the appropriate base DN from the list.
Note: If you are configuring a global catalog, specify the base DN of the forest.
See Using Special Characters on page 106 for restrictions on the use of special characters.
Oracle recommends that you select the lowest DN that contains all EPM System product users and groups.
Example: dc=example,dc=com
ID Attribute
This attribute value can be modified only if Other is selected in Directory Type. This attribute must be a common
attribute that exists in user and group objects on the directory server.
The recommended value of this attribute is automatically set for OID orclguid, SunONE (nsuniqueid), IBM
Directory Server (Ibm-entryUuid), Novell eDirectory (GUID), and Active Directory (ObjectGUID).
Example: orclguid
The ID attribute value, if you set it manually after choosing Other in Directory Server; for example to configure
an Oracle Virtual Directory, should:
Maximum Size
The maximum number of results that a search can return. If this value is greater than that supported by the user
directory settings, the user directory value overrides this value.
For user directories other than Active Directory, leave this field blank to retrieve all users and groups that meet
the search criteria.
For Active Directory, set this value to 0 to retrieve all users and groups that meet the search criteria.
If you are configuring Shared Services in Delegated Administration mode, set this value to 0.
Trusted
The check box to indicate that this provider is a trusted SSO source. SSO tokens from trusted sources do not
contain the user's password.
Anonymous
Bind
The check box to indicate that Shared Services can bind anonymously to the user directory to search for users
and groups. Can be used only if the user directory allows anonymous binds. If this option is not selected, you
must specify in the User DN an account with sufficient access permissions to search the directory where user
information is stored.
Oracle recommends that you not use anonymous bind.
Note: Anonymous bind is not supported for OID.
User DN
89
Label
Description
Append Base
DN
The check box for appending the base DN to the User DN. If you are using Directory Manager account as the User
DN, do not append Base DN.
This check box is disabled if the Anonymous Bind option is selected.
Password
User DN password
This box is disabled if the Anonymous Bind option is selected.
Example: UserDNpassword
Show Advanced
Options
Referrals
Dereference
Aliases
Select the method that Shared Services searches should use to dereference aliases in the user directory so
searches retrieve the object to which the DN of the alias points. Select:
l
Connection
Read Timeout
Interval (seconds) after which the LDAP provider aborts the LDAP read attempt if it does not get a response.
Max
Connections
Maximum connections in the connection pool. Default is 100 for LDAP-based directories, including Active Directory.
Timeout
Timeout to get a connection from the pool. An exception is thrown after this period.
Default: 60 seconds
Default: 100
Optional: The interval for running the eviction process to clean the pool. The eviction process removes idle
connections that have exceeded the Allowed Idle Connection Time.
Default: 120 minutes
Allowed Idle
Connection Time
Optional: The time after which the eviction process removes the idle connections in the pool.
Grow
Connections
This option indicates whether the connection pool can grow beyond Max Connections. Selected by default. If
you do not allow the connection pool to grow, the system returns an error if a connection is not available within
the time set for Time Out.
Enable Custom
Authentication
Module
The check box to enable the use of a custom authentication module to authenticate users defined in this user
directory. You must also enter the fully qualified Java class name of the authentication module in the Security
Options screen. See Setting Security Options on page 102.
The custom authentication module authentication is transparent to thin and thick clients and does not require
client deployment changes. See Using a Custom Authentication Module in the Oracle Enterprise Performance
Management System Security Configuration Guide.
7
90
Click Next.
Shared Services uses the properties set on the User Configuration screen to create a user
URL that is used to determine the node where search for users begins. Using this URL speeds
the search.
Caution!
The user URL should not point to an alias. EPM System security requires that
the user URL point to an actual user.
Oracle recommends that you use the Auto Configure area of the screen to retrieve the
required information.
Note: See Using Special Characters on page 106 for a list of special characters that can be
In Auto Configure, enter a unique user identifier using the format attribute=identifier; for
example, uid=jdoe.
91
Note: You can manually enter required user attributes into text boxes in the User
Configuration area.
Table 9
Label
Description1
User RDN
The Relative DN of the user. Each component of a DN is called an RDN and represents a branch in the directory tree.
The RDN of a user is generally the equivalent of the uid or cn.
See Using Special Characters on page 106 for restrictions.
Example: ou=People
Login
Attribute
A unique attribute (can be a custom attribute) that stores the login name of the user. Users use the value of this attribute
as the user name while logging into EPM System products.
User IDs (value of Login Attribute) must be unique across all user directories. For example, you may use uid and
sAMAccountName respectively as the Login Attribute for your SunONE and Active Directory configurations. The values
of these attributes must be unique across all user directories, including Native Directory.
Note: User IDs are not case sensitive.
Note: If you are configuring OID as an external user directory for EPM System products deployed on Oracle Application
Server in a Kerberos environment, you must set this property to userPrincipalName.
Default
l
Active Directory: cn
First Name
Attribute
Last Name
Attribute
Email
Attribute
Object
Class
Object classes of the user (the mandatory and optional attributes that can be associated with the user). Shared Services
uses the object classes listed in this screen in the search filter. Using these object classes, Shared Services should find
all users who should be provisioned.
Default: givenName
Default: sn
Default: mail
Note: If you are configuring Active Directory or ADAM as user directory type Other to use a custom ID attribute, you
must set this value to user.
You can manually add object classes if needed. To add an object class, enter the object class name into the Object
Class box, and then click Add.
To delete object classes, select the object class and click Remove.
Default
92
Label
Description1
Filter to
Limit Users
An LDAP query that retrieves only the users that are to be provisioned with EPM System product roles. For example,
the LDAP query (uid=Hyp*) retrieves only users whose names start with Hyp.
The User Configuration screen validates the User RDN and recommends the use of a user filter, if required.
The user filter limits the number of users returned during a query. It is especially important if the node identified by the
user RDN contains many users that need not be provisioned. User filters can be designed to exclude the users that are
not to be provisioned, thereby improving performance.
User
Search
Attribute
for MultiAttribute
RDN
LDAP-enabled user directories other than Active Directory only: Set this value only if your directory server is configured
to use a multi-attribute RDN. The value you set must be one of the RDN attributes. The value of the attribute you specify
should be unique and the attribute should be searchable.
For example, assume that a SunONE directory server is configured to combine the cn (cn=John Doe) and uid
(uid=jDoe12345) attributes to create a multi-attribute RDN similar to the following:
cn=John Doe+uid=jDoe12345, ou=people,
dc=myCompany, dc=com
In this case, you can use either cn or uid if these attributes meet the following conditions:
l
The attribute is searchable by the user identified in User DN filed on Connection Information tab
The attribute requires you to set a unique value across the user directory
Resolve
Custom
Primary
Groups
Active Directory only: The check box that indicates whether to identify primary groups of users to determine effective
roles. This check box is selected by default. Oracle recommends that you not change this setting.
Show
warning if
user
password
expires in:
Active Directory only: The check box that indicates whether to display a warning message if the Active Directory user
password expires within the specified number of days.
1EPM
System security may use default values for some fields for which configuration value is optional. If you do not enter values in such
fields, default values are used during runtime.
Click Next.
The Group Configuration screen opens. Shared Services uses the properties set in this screen
to create the group URL that determines the node where the search for groups starts. Using
this URL speeds the search.
Caution!
The Group URL should not point to an alias. EPM System security requires that
the group URL point to an actual group. If you are configuring a Novell
eDirectory that uses group aliases, the group aliases and group accounts must
be available within the group URL.
Note: Data entry in the Group Configuration screen is optional. If you do not enter the
group URL settings, Shared Services searches within the Base DN to locate groups,
which can negatively affect performance, especially if the user directory contains
many groups.
93
10 Clear Support Groups if your organization does not plan to provision groups, or if users are not
categorized into groups on the user directory. Clearing this option disables the fields on this screen.
If you are supporting groups, Oracle recommends that you use the autoconfigure feature to
retrieve the required information.
If you are configuring OID as a user directory, you cannot use the autoconfigure feature,
because the root DSE of OID does not contain entries in the Naming Contexts attribute. See
Managing Naming Contexts in the Oracle Fusion Middleware Administrator's Guide for
Oracle Internet Directory.
11 In the Auto Configure text box, enter a unique group identifier, and then click Go.
The group identifier must be expressed in attribute=identifier format; for example,
cn=western_region.
Attributes of the group are displayed in the Group Configuration area.
Note: You can enter required group attributes in the Group Configuration text boxes.
Caution!
94
If the group URL is not set for user directories that contain / (slash) or \
(backslash) in its node names, the search for users and groups fails. For example,
any operation to list the user or group fails if the group URL is not specified for
a user directory in which users and groups exist in a node, such as OU=child
\ou,OU=parent/ou or OU=child/ou,OU=parent \ ou.
Table 10
Label
Description1
Group
RDN
The Relative DN of the group. This value, which is path relative to the Base DN, is used as the group URL.
Specify a Group RDN that identifies the lowest user directory node in which all the groups that you plan to provision are
available.
If you use an Active Directory primary group for provisioning, ensure that the primary group falls under the Group RDN.
Shared Services does not retrieve the primary group if it is outside the scope of the group URL.
The Group RDN has a significant impact on login and search performance. Because it is the starting point for all group
searches, you must identify the lowest possible node in which all groups for EPM System products are available. To
ensure optimum performance, the number of groups present within the Group RDN should not exceed 10,000. If more
groups are present, use a group filter to retrieve only the groups that you want to provision.
Note: Shared Services displays a warning if the number of available groups within the Group URL exceeds 10,000.
See Using Special Characters on page 106 for restrictions.
Example: ou=Groups
Name
Attribute
Object
class
Object classes of the group. Shared Services uses the object classes listed in this screen in the search filter. Using these
object classes, Shared Services should find all groups associated with the user.
Note: If you are configuring Active Directory or ADAM as user directory type Other to use a custom ID attribute, you
must set this value to group?member.
You can manually add object classes if needed. To add an object class, enter the object class name into the Object class
text box, and then click Add.
To delete object classes, select the object class, and then click Remove.
Default
l
l
Filter to
Limit
Groups
An LDAP query that retrieves the groups that are to be provisioned with EPM System product roles only. For example, the
LDAP query (|(cn=Hyp*)(cn=Admin*)) retrieves only groups whose names start with Hyp or Admin.
The group filter, used to limit the number of groups returned during a query, is especially important if the node identified
by the Group RDN contains a large number of groups that need not be provisioned. Filters can be designed to exclude
the groups that are not to be provisioned, improving performance.
If you use Active Directory primary group for provisioning, ensure that any group filter that you set can retrieve the primary
group contained within the scope of the group URL. For example, the filter (|(cn=Hyp*)(cn=Domain Users))
retrieves groups that have names that start with Hyp and the primary group named Domain Users.
1EPM
System security may use default values for some fields for which configuration value is optional. If you do not enter values in such
fields, default values are used during runtime.
12 Click Finish.
Shared Services saves the configuration and returns to the Defined User Directories screen,
which now lists the user directory that you configured.
Configuring OID, Active Directory, and Other LDAP-based User Directories
95
13 Test the configuration. See Testing User Directory Connections on page 99.
14 If needed, change the search order assignment. See Managing the User Directory Search Order on
page 100 for details.
15 If needed, specify security options. See Setting Security Options on page 102 for details.
16 Restart Foundation Services and other EPM System components.
names should not exceed 256 characters (Oracle and SQL Server databases), and 1000
characters (DB2).
Configure Shared Services to connect to the database as the database administrator; for example,
Oracle SYSTEM user, to retrieve the list of users and groups.
Note: Shared Services retrieves only active database users for provisioning. Inactive and locked
Access Shared Services Console as System Administrator. See Launching Shared Services Console
on page 20.
Click Add.
In the Directory Type screen, select Relational Database (Oracle, DB2, SQL Server).
Click Next.
96
Label
Description
Database Type
The relational database provider. Shared Services supports only Oracle, IBM DB2, and SQL Server databases as
database providers.
Example: Oracle
Name
Server
The DNS name of the computer on which the database server is running.
Example: myserver
Port
Service/SID
(Oracle only)
Database (SQL
Server and DB2
only)
User Name
The user name that Shared Services should use to access the database. This database user must have access
privileges to database system tables. Oracle recommends that you use the system account for Oracle databases
and the database administrator's user name for SQL Server and IBM DB2 databases.
Example: orcl
Example: master
Example: SYSTEM
Password
Trusted
The check box that specifies that this provider is a trusted SSO source. SSO tokens from trusted sources do not
contain the user's password.
97
Label
Description
Max Connections
Initial Size
Allowed Idle
Connection Time
Optional: The time after which the eviction process removes the idle connections in the pool. Default is 10
minutes.
Evict Interval
Optional: The interval for running the eviction process to clean up the pool. Eviction removes idle connections
that have exceeded the Allowed Idle Connection Time. Default is five minutes.
Grow Connections
Indicates whether the connection pool can grow beyond Max Connections. By default, this option is cleared,
indicating that the pool cannot grow. If you do not allow the connection pool to grow, the system returns an
error if a connection is not available within the time set for Time Out.
Enable Custom
Authentication
Module
The check box to enable the use of a custom authentication module to authenticate users defined in this user
directory. You must also enter the fully qualified Java class name of the authentication module in the Security
Options screen. See Setting Security Options on page 102.
The custom authentication module authentication is transparent to thin and thick clients. See Using a Custom
Authentication Module in the Oracle Enterprise Performance Management System Security Configuration
Guide.
Click Finish.
13 Specify security settings, if needed. See Setting Security Options on page 102.
14 Restart Foundation Services and other EPM System components.
98
Access Shared Services Console as System Administrator. See Launching Shared Services Console
on page 20.
From the list of user directories, select an external user directory configuration to test.
Editing some settings, for example, the ID Attribute, in the user directory
configuration invalidates provisioning data. Exercise extreme care when modifying
the settings of a user directory that has been provisioned.
Access Shared Services Console as System Administrator. See Launching Shared Services Console
on page 20.
Click Edit.
custom LDAP directories) from the Directory Server list. You cannot edit Native
Directory parameters.
For an explanation of the parameters that you can edit, see the following tables:
l
99
it from the search order so that it is not searched for users and groups. This action maintains
the integrity of provisioning information and enables you to use the user directory later.
Access Shared Services Console as System Administrator. See Launching Shared Services Console
on page 20.
Select a directory.
Click Delete.
Click OK.
Click OK again.
specified account. Oracle recommends that the corporate directory that contains most of
the EPM System users be placed at the top of the search order.
By default, Native Directory is set as the last directory in the search order. Administrators can
perform these tasks to manage the search order:
l
Access Shared Services Console as System Administrator. See Launching Shared Services Console
on page 20.
Click Include.
This button is available only if you have selected a user directory that is not in the search
order.
Access Shared Services Console as System Administrator. See Launching Shared Services Console
on page 20.
Click Exclude.
Click OK.
Access Shared Services Console as System Administrator. See Launching Shared Services Console
on page 20.
Click OK.
Restart Foundation Services, other EPM System components, and custom applications that use the
Shared Services security APIs.
Access Shared Services Console as System Administrator. See Launching Shared Services Console
on page 20.
Table 13
Parameter
Description
Token Timeout
Time (in minutes) after which the SSO token issued by EPM System products or the web identity management
solution expires. Users must log in again after this period. Token timeout is set based on the server's system clock.
Default is 480 minutes.
Note: Token timeout is not the same as session timeout.
Cache Refresh
Interval
Interval (in minutes) for refreshing the Shared Services cache of groups to users relationship data. Default is 60
minutes.
Shared Services caches information about new external user directory groups and new users added to existing
groups only after the next cache refresh. Users provisioned through a newly created external user directory group
do not get their provisioned roles until the cache is refreshed.
Refresh Now
Click this button to manually initiate the refreshing of Shared Services cache that contains groups to users
relationship data. You may want to initiate a cache refresh after creating new groups in external user directories
and provisioning them or after adding new users to existing groups. The cache is refreshed only after Shared
Services makes a call that uses the data in the cache.
Enable SSO
Compatibility
Select this option if your deployment is integrated with Oracle Business Intelligence Enterprise Edition Release 11.
1.1.5 or earlier.
Enable
Delegated User
Management
Mode
Option enabling delegated user management of EPM System products to support the distributed management of
provisioning activities. See Delegated User Managemen in the Oracle Enterprise Performance Management
System User Security Administration Guide.
Enable SSO
Option enabling support for SSO from security agents such as Oracle Access Manager
Parameter
Description
SSO Provider or
Agent
Select the web identity management solution from which EPM System products should accept SSO. Select
Other if your web identity management solution; for example, Kerberos, is not listed.
The preferred SSO mechanism and name are automatically selected when you select the SSO provider. You can
change the name of the SSO mechanism (HTTP header or custom login class), if required.
If you select Other as the SSO provider or agent, you must censure that it supports an EPM System supported
SSO mechanism. See Supported SSO Methods in the Oracle Enterprise Performance Management System
Security Configuration Guide.
SSO
Mechanism
The method that the selected web identity management solution uses to provide user's login name to EPM System
products. For a description of acceptable SSO methods, see Supported SSO Methods in the Oracle Enterprise
Performance Management System Security Configuration Guide.
l
l
Custom HTTP Header: Set the name of the header that the security agent passes to EPM System.
Custom Login Class: Specify the custom Java class that handles HTTP requests for authentication. See
Custom Login Class in the Oracle Enterprise Performance Management System Security Configuration
Guide.
Get Remote User from HTTP Request: Select this option if the security agent populates the remote
The fully qualified Java class name of the custom authentication module (for example, com.mycompany.epm.
CustomAuthenticationImpl) that should be used to authenticate users on all user directories for which the
custom authentication module is selected.
The authentication module is used for a user directory only if the directory configuration has enabled (default) its
use.
Foundation Services requires that the custom authentication JAR file be named CustomAuth.jar.
CustomAuth.jar must be available in EPM_ORACLE_HOME/user_projects/domains/WEBLOGIC_
DOMAIN/lib, typically, Oracle/Middleware/user_projects/domains/EPMSystem/lib. You can use
any package structure and class name within the JAR file.
For more information, see Using a Custom Authentication Module in the Oracle Enterprise Performance
Management System Security Configuration Guide.
Click OK.
Single Sign On Token encryption key, used to encrypt and decrypt EPM System SSO tokens.
This key is stored in Shared Services Registry
Trusted Services key, used by EPM System components to verify the authenticity of the
service that is requesting an SSO token
Provider Configuration encryption key, used to encrypt the password (user DN password
for LDAP-enabled user directories) that EPM System security uses to bind with a configured
external user directory. This password is set while configuring an external user directory.
To regenerate the Single Sign On Encryption key, Provider Configuration key, or Trusted
Services key:
Access Shared Services Console as System Administrator. See Launching Shared Services Console
on page 20.
Option
Description
Single Sign On
Token
Select to regenerate the encryption key that is used to encrypt and decrypt EPM System SSO tokens.
Select one of the following buttons if Enable SSO Compatibility is selected on Security Options:
l
Trusted Services
Key
Select this option to regenerate the trusted authentication key, used by EPM System components to verify the
authenticity of the service that is requesting an SSO token.
Provider
Configuration Key
Select this option to regenerate the key that is used to encrypt the password (user DN password for LDAP-enabled
user directories) that EPM System security uses to bind with a configured external user directory. This password
is set while configuring an external user directory.
Click OK.
If you chose to generate a new SSO encryption key, complete this step.
a. Click Download.
b. Click OK to save ssHandlerTK, the keystore file that supports the new SSO encryption
key, into a folder on the server that hosts Foundation Services.
c. Copy ssHandlerTK into EPM_ORACLE_HOME/common/CSS on all EPM System host
machines.
Character1
Name or Meaning
Character
Name or Meaning
open parenthesis
dollar
close parenthesis
plus
quotation mark
&
ampersand
'
backslash
comma
caret
equal to
semicolon
<
less than
pound
>
greater than
at
1Do
not use / (slash) in organization unit names that come within the Base DN
Special characters are not permitted in the value of the Login User attribute.
The asterisk (*) is not supported in user names, group names, user and group URLs, or in
the name of the OU in User DN.
The ampersand (&) can be used without an escape character. For Active Directory settings,
& must be specified as &.
User and group names cannot contain both a backslash (\) and slash (/). For example, names
such as test/\user and new\test/user are not supported.
Table 16
Character
Name or Meaning
Character
Name or Meaning
open parenthesis
'
single quote
close parenthesis
caret
dollar
at
&1
Ampersand
1Must
be stated as &.
These characters must be escaped if you use them in user directory settings (user names, group
names, user URLs, group URLs and User DN).
Table 17
Special Character
Escape
Sample Setting
Escaped Example
comma (,)
backslash (\)
ou=test,ou
ou=test\,ou
backslash (\)
ou=test+ou
ou=test\+ou
equal to (=)
backslash (\)
ou=test=ou
ou=test\=ou
pound (#)
backslash (\)
ou=test#ou
ou=test\#ou
semicolon (;)
backslash (\)
ou=test;ou
ou=test\;ou
\<
ou=test<ou
ou=test\<ou
\>
ou=test>ou
ou=test\>ou
(quotation mark)1
\\ (two backslashes)
ou=testou
ou=test\\ou
\ (backslash)2
ou=test\ou
ou=test\\\\ou
1In
User DNs, quotation mark () must be escaped with one backslash. For example, ou=testou must be specified as ou=test
User DNs, a backslash (\) must be escaped with one backslash. For example, ou=test\ou must be specified as ou=test\\ou in
User DN.
Caution!
If the user URL is unspecified, users created within the RDN root must not contain /
(slash) or \ (backslash). Similarly, these characters should not be used in the names
of groups created within the RDN root if a group URL is not specified. For example,
group names such as OU=child\ou,OU=parent/ou or OU=child/
ou,OU=parent\ou are not supported. This issue does not apply if you are using a
unique attribute as the ID Attribute in the user directory configuration.
In This Chapter
Overview .................................................................................................. 109
Use-Case Examples and Limitations ................................................................... 111
Prerequisites.............................................................................................. 111
Design and Coding Considerations..................................................................... 112
Deploying the Custom Authentication Module ........................................................ 116
Overview
A custom authentication module is a Java module that customers develop and implement to
authenticate EPM System users. Generally, EPM System products use a logon screen to capture
the user name and password, which are used to authenticate users. Instead of using EPM System
authentication, you can use a custom authentication module to authenticate users and pass
authenticated user credentials to EPM System for further processing. Implementing a custom
authentication module does not involve modifying EPM System products.
You can use a custom authentication module with both the thick clients (for example, Oracle
Smart View for Office, and Oracle Essbase Studio) and thin clients (for example, EPM
Workspace).
The custom authentication module uses the information a user enters when logging in to an
EPM System product. If enabled for a user directory, it authenticates users through the custom
authentication module. On successfully authenticating the user, the custom authentication
module returns the user name to EPM System.
The following illustration presents a sample custom authentication scenario:
Overview 109
For example, you can use RSA SecurID infrastructure as the custom provider to ensure
transparent strong authentication to the EPM System. An overview:
1. The user enters credentials (generally, user name and password) to access an EPM System
product. These credentials should uniquely identify the user to the provider used by the
custom authentication module. For example, if you are using an RSA SecurID infrastructure
to authenticate users, the user enters an RSA user ID and PIN (not an EPM System user ID
and password).
2. Using the search order (see Search Order on page 112), EPM System cycles through
configured user directories to locate the user.
l
If the current user directory is not configured for custom authentication, EPM System
tries to locate and authenticate the user through EPM System authentication.
If the user directory is configured for custom authentication, EPM System delegates the
authentication process to the custom module.
3. If EPM System delegates authentication to the custom module, the custom authentication
module accepts the credentials and uses its own logic to direct user authentication against
a custom provider; for example, RSA SecurID infrastructure.
4. If the custom authentication module authenticates the user against its provider, it returns
the user name to the EPM System, or it returns a Java exception.
The user name returned by the custom authentication module must be identical to a user
name in a user directory that is enabled for custom authentication.
l
If the custom authentication module returns a user name, EPM System locates the user
in a user directory that is enabled for custom authentication. At this stage, EPM System
does not search the user directories that are not configured for custom authentication.
If the custom authentication module throws an exception or returns a null user, EPM
System continues to search for the user in the remaining user directories in the search
order that are not enabled for custom authentication. If a user who matches the
credentials is not found, EPM System displays an error.
Adding a Simple Authentication and Security Layer (SASL) bind to LDAP-enabled user
directories instead of simple LDAP binds
Authentication with challenge/response mechanism may not work well if you implement a
custom authentication module. Custom messages thrown by the custom authentication module
are not propagated to the clients. Because clients, for example, EPM Workspace, override the
error message to display a generic message, the following scenarios are not valid:
l
Password variant with challenges, such as enter first, last, and third characters of password
Prerequisites
l
A fully tested Java archive named CustomAuth.jar that contains custom authentication
module libraries. CustomAuth.jar must implement the public interface
CSSCustomAuthenticationIF, defined in com.hyperion.css package as a part of the
standard Shared Services APIs. See http://download.oracle.com/docs/cd/E12825_01/epm.
111/epm_security_api_11111/client/com/hyperion/css/
CSSCustomAuthenticationIF.html.
Access to Shared Services as Shared Services administrator
Search Order
User Directories and Custom Authentication Module
CSSCustomAuthenticationIF Java Interface
Search Order
In addition to Native Directory, multiple user directories can be configured in Shared Services.
A default search order position is assigned to all configured user directories. You can modify the
search order from Shared Services Console. Excepting Native Directory, you can remove
configured user directories from the search order. EPM System does not use the user directories
that are not included in the search order. See the Oracle Enterprise Performance Management
System User Security Administration Guide.
The search order determines the order in which EPM System cycles through the user directories
to authenticate users. If the user is authenticated in a user directory, EPM System stops the search
and returns the user. EPM System denies authentication and returns an error if the user cannot
be authenticated against user directories in the search order.
Use-Case Scenario 1
Table 18 details the EPM System user directory configuration and search order used in this
scenario. This scenario assumes that the custom authentication module uses an RSA
infrastructure to authenticate users.
Table 18
Search Order
Custom
Authentication
Password1
Native Directory
Disabled
test_user_1
password
test_user_2
test_user_3
LDAP-Enabled
Disabled
SunONE_West
test_ldap1
ldappassword
test_ldap_2
test_user_3
test_ldap_4
LDAP-Enabled
Enabled
SunONE_East
test_ldap1
test_ldap_2
test_user_3
1For
simplicity, it is assumed that all users use the same user directory password.
To initiate the authentication process, a user enters a user name and password in the logon screen
of an EPM System product.
In this scenario, the custom authentication module performs the following actions:
l
Table 19
Authentication Result
test_user_1/password
Success
Native Directory
test_user_3/password
Success
Native Directory
test_user_3/ldappassword
Success
test_user_3/RSA PIN
Success
test_ldap_2/ldappassword
Success
test_ldap_4/RSA PIN
Failure
EPM System displays an authentication error.3
1The custom authentication cannot authenticate this user because the user entered EPM System credentials. EPM System can identify this user
only in a user directory that is not enabled for custom authentication. The user is not in Native Directory (search order number 1) but is identified
in SunONE West (search order number 2).
2EPM System does not find this user in Native Directory (search order number 1) or SunONE West (search order number 2). The custom
authentication module validates the user against RSA Server and returns test_user_3@SunONE_EAST to EPM System. EPM System
locates the user in SunONE East (search order number 3), which is a custom authenticationenabled user directory.
3Oracle recommends that all users authenticated by the custom module be present in a custom authenticationenabled user directory included
in the search order. Login fails if the user name that is returned by the custom authentication module is not present in a custom authentication
enabled user directory included in the search order.
Use-Case Scenario 2
Table 20 details the EPM System user directory configuration and search order used in this
scenario. This scenario assumes that the custom authentication module uses an RSA
infrastructure to authenticate users.
In this scenario, the custom authentication module performs the following actions:
l
Table 20
User Directory
Search Order
Custom Authentication
Password1
Native Directory
Disabled
test_user_1
password
test_user_2
test_user_3
LDAP-Enabled, for
example, SunONE
Enabled
test_ldap1
test_ldap2
custom module
test_user_3
1For
simplicity, it is assumed that all users use the same user directory password.
To initiate the authentication process, a user enters a user name and password on the login screen
of an EPM System product.
Table 21
Login Result
test_user_1/password
Success
Native Directory
test_user_3/password
Success
Native Directory
test_user_3/ldappassword
Failure
SunONE1
test_user_3/RSA PIN
Success
SunONE2
1Authentication
of user against Native Directory fails because of password mismatch. Authentication of user using the custom authentication
module fails because the password used is not a valid RSA PIN. EPM System does not try to authenticate this user in SunONE (search order
2), because custom authentication settings override EPM System authentication in this directory.
2Authentication of user against Native Directory fails because of password mismatch. The custom authentication module authenticates the user
and returns the user name test_user_3 to EPM System.
Use-Case Scenario 3
Table 22 details the EPM System user directory configuration and search order used in this
scenario. This scenario assumes that the custom authentication module uses an RSA
infrastructure to authenticate users.
For clarity in such scenarios, Oracle recommends that your custom authentication module
return the user name in username@providername format; for example,
test_ldap_4@SunONE.
114 Using a Custom Authentication Module
Table 22
User Directory
Search Order
Custom Authentication
Password1
Native Directory
Enabled
test_user_1
RSA_PIN
test_user_2
test_user_3
LDAP-Enabled, for
example, MSAD
Disabled
test_ldap1
ldappassword
test_ldap4
test_user_3
LDAP-Enabled, for
example, SunONE
Enabled
test_ldap1
test_ldap4
custom module
test_user_3
1For
simplicity, it is assumed that all users use the same user directory password.
To initiate the authentication process, a user enters a user name and password in the logon screen
of an EPM System product.
Table 23
Authentication Result
test_user_1/password
Success
Native Directory
test_user_3/RSA_PIN
Success
Native Directory
test_user_3/ldappassword
Success
test_ldap_4/ldappassword
Success
test_ldap_4/RSA PIN
Success
Note: As a best practice, Oracle recommends that the user name in the user directories
configured in EPM System be identical to those available on the user directory used by
the custom authentication module.
Overview of Steps
Updating Settings in Shared Services
Testing Your Deployment
Only one custom module is supported for an EPM System deployment. You can enable custom
authentication for one or more user directories in the search order.
Overview of Steps
Your custom authentication code should not use log4j for error logging. If the code that you
used in a previous release uses log4j, you must remove it from the code before using it with this
release.
To implement the custom authentication module, complete the following steps:
l
Stop EPM System products including Shared Services and any systems that use Shared
Services APIs.
Copy the custom authentication module Java archive CustomAuth.jar into
EPM_ORACLE_HOME/user_projects/common/jlib/11.1.2.0.
If you are upgrading from Release 11.1.2.0 or 11.1.2.1 that had an implementation of custom
authentication module, move CustomAuth.jar from EPM_ORACLE_HOME/common/
jlib/11.1.2.0 into EPM_ORACLE_HOME/user_projects/domains/
WEBLOGIC_DOMAIN/lib.
Update user directory settings in Shared Services. See Updating Settings in Shared Services
on page 117.
By default, custom authentication is disabled for all user directories. You can override the default
behavior to enable custom authentication for specific external user directories or for Native
Directory.
On the Defined User Directories screen, select the user directory for which you want to change the custom
authentication setting.
Note: EPM System uses only the user directories included in the search order.
Click Edit.
In Custom Module, select Authentication Module to enable custom module for the current user
directory.
Click Finish.
Repeat this procedure to update the configuration of other user directories in the search order.
In Authentication Module, enter the fully qualified class name of the custom authentication module
that should be used to authenticate users on all user directories for which the custom authentication
module is selected. For example, com.mycompany.epm.CustomAuthenticationImpl.
Click OK.
module. Oracle assumes that your custom module works flawlessly to map a user from
the user directory used by the custom module to a user on a custom authenticationenabled user directory available in EPM System search order.
To test your deployment, log in to EPM System using user credentials from the user directory;
for example, an RSA SecurID infrastructure, used by the custom module. These credentials may
be different from the EPM System credentials.
Your implementation is considered successful if EPM System products allow you to access their
resources. An error indicating that the user was not found is not always an indicator of an
unsuccessful implementation. In such cases, verify that the credentials that you entered are
present in the custom user store and that a matching user is present in one of the custom
authentication-enabled user directories in the EPM System search order.
Log in as a user defined on a user directory for which custom authentication is enabled.
a. In Username, enter your user identifier; for example, an RSA User ID.
b. In Password, enter a password; for example; an RSA PIN.
c. Click Login.
6
In This Chapter
Implementing SSL
SSL uses a cryptographic system that encrypts data. SSL creates a secure connection between a
client and a server, over which data can be sent securely.
To secure your EPM System environment, secure all communication channels used by your web
applications and user directory connections using SSL. See Chapter 2, SSL-Enabling EPM
System Components.
See Setting Encryption Options in the Oracle Enterprise Performance Management System User
Security Administration Guide for detailed procedures.
Using the database administration console, change the password of the user whose account was used
to configure EPM System product database.
Using the EPM System Configurator, reconfigure the database using one of the following procedures.
than Shared Services, you must perform this procedure on all servers.
a. From the Foundation tasks in EPM System Configurator, select Configure Database.
b. On the Shared Services and Registry Database Configuration page, select Connect to a
previously configured Shared Services database.
c. Specify the new password of the user whose account was used to configure the Shared
Services database. Do not change any other settings.
d. Continue the configuration and click Finish when you are done.
EPM System Products Other Than Shared Services:
122 Guidelines for Securing EPM System
Note: Follow these steps for the EPM System products deployed on the current server only.
a. From the configuration task list of the product in EPM System Configurator, select
Configure Database.
b. On the Database Configuration page, select Perform 1st-time configuration of database.
c. Specify the new password of the user whose account was used to configure EPM System
product database. Do not change any other settings.
d. Click Next.
e. Select Reuse the existing database.
f.
Continue the configuration, and click Finish when you are done.
See the Oracle Enterprise Performance Management System Installation and Configuration
Guide for detailed instructions.
Securing Cookies
EPM System web application set a cookie to track the session. While setting a cookie, especially
a session cookie, the server can set the secure flag, which forces the browser to send the cookie
over a secure channel. This behavior reduces the risk of session hijacking.
Note: Secure cookies only if EPM System products are deployed in an SSL-enabled environment.
Modify the WebLogic Server session descriptor to secure WebLogic Server cookies. Set the value
of cookieSecure attribute in the session-param element to true. See Securing Web
Applications in Oracle Fusion Middleware Programming Security for Oracle WebLogic Server
11g.
attributes that were modified and the new attribute values. See Generating Reports in the
Oracle Enterprise Performance Management System User Security Administration Guide.
On Windows server that hosts Financial Management, launch the Windows Registry Editor.
On the Windows server that hosts the IIS Server that hosts Financial Management, launch the Windows
Registry Editor.
See Encrypting UDL Files in Oracle Enterprise Performance Management System Installation
and Configuration Guide.
For troubleshooting purposes, EPM Workspace ships with uncrunched JavaScript files. For
security purposes, you should remove these uncrunched JavaScript files from your
production environment:
m
EPM Workspace provides some debug utilities and test applications, which become
accessible if EPM Workspace is deployed in debug mode. For security purposes,
administrators should turn off client side debugging in EPM Workspace.
To turn off debugging mode:
1. Log in to Oracle Hyperion Enterprise Performance Management Workspace as
administrator.
2. Select Navigate, then Administer, and then Workspace Server Settings.
3. In ClientDebugEnabled in Workspace Server Settings, select No.
4. Click OK.
A
In This Appendix
Sample Code 1
Note: Your custom authentication code should not use log4j for error logging. If the custom
authentication code that you used in a previous release used log4j, you must remove it
from the code before using it with this release.
The following code snippet is an empty implementation of the custom module:
package com.hyperion.css.custom;
import java.util.Map;
import com.hyperion.css.CSSCustomAuthenticationIF;
public class CustomAuthenticationImpl implements CSSCustomAuthenticationIF {
public String authenticate(Map context,String userName,
String password) throws Exception{
try{
//Custom code to find and authenticate the user goes here.
//The code should do the following:
//if authentication succeeds:
//set authenticationSuccessFlag = true
//return authenticatedUserName
// if authentication fails:
//log an authentication failure
//throw authentication exception
}
catch (Exception e){
//Custom code to handle authentication exception goes here
//Create a new exception, set the root cause
//Set any custom error message
//Return the exception to the caller
}
return authenticatedUserName;
}
}
Input parameters:
l
Sample Code 2
The following sample code demonstrates the custom authentication of users using user name
and password contained in a flat file. You must initialize user and password lists in the class
constructor to make custom authentication work.
package com.hyperion.css.security;
import
import
import
import
java.util.Map;
java.util.HashMap;
com.hyperion.css.CSSCustomAuthenticationIF;
java.io.*;
InputStream is = null;
BufferedReader br = null;
String line;
String[] userDetails = null;
String userKey = null;
try{
is = CSSCustomAuthenticationImpl.class.getResourceAsStream(DATA_FILE);
br = new BufferedReader(new InputStreamReader(is));
while(null != (line = br.readLine())){
userDetails = line.split(":");
if(userDetails != null && userDetails.length==3){
userKey = userDetails[0]+ ":" + userDetails[1];
users.put(userKey, userDetails[2]);
}
}
}
catch(Exception e){
// log a message
}
finally{
try{
if(br != null) br.close();
if(is != null) is.close();
}
catch(IOException ioe){
ioe.printStackTrace();
}
}
}
/* Use this authenticate method snippet to return username from a flat file */
public String authenticate(Map context, String userName, String password) throws
Exception{
//userName : user input for the userName
//password : user input for password
//context : Map, can be used to additional information required by
//
the custom authentication module.
String authenticatedUserKey = userName + ":" + password;
if(users.get(authenticatedUserKey)!=null)
return(String)users.get(authenticatedUserKey);
else throw new Exception("Invalid User Credentials");
}
/* Refer to this authenticate method snippet to return username in
username@providername format */
public String authenticate(Map context, String userName, String password) throws
Exception{
//userName : user input
//password : user input
//context : Map can be
//
the custom
for userName
for password
used to additional information required by
authentication module.
//Your code should uniquely identify the user in a custom provider and in a
configured
//user directory in Shared Services. EPM Security expects you to append the provider
//name to the user name. Provider name must be identical to the name of a custom
//authentication-enabled user directory specified in Shared Services.
//If invalid arguments, return null or throw exception with appropriate message
//set authenticationSuccessFlag = false
String authenticatedUserKey = userName + ":" + password;
if(users.get(authenticatedUserKey)!=null)
String userNameStr = (new StringBuffer())
.append((String)users.get(authenticatedUserKey))
.append("@").append(PROVIDER_NAME).toString();
return userNameStr;
else throw new Exception("Invalid User Credentials");
}
}
Use the following as the contents of the flat file that is used as the custom user directory if you
plan to return user name in username@providername format:
xyz:password:admin
test1:password:test1
test1@1:password:test1
user1_1:Password2:user1
user3:Password3:user3
DS1_1G100U_User61_1:Password123:DS1_1G100U_User61
DS1_1G100U_User61_1@1:Password123:DS1_1G100U_User61
TUser:password:TUser
B
In This Appendix
If you must derive the user identity from an attribute in the certificate other than DN, you must
develop and implement a custom login class similar to
com.hyperion.css.sso.agent.X509CertificateSecurityAgentImpl, as described in
this appendix.
implementation to derive the user name from a certificate attribute other than DN:
package com.hyperion.css.sso.agent;
import
import
import
import
import
import
import
import
java.io.ByteArrayInputStream;
java.io.UnsupportedEncodingException;
java.security.Principal;
java.security.cert.CertificateException;
java.security.cert.CertificateFactory;
java.security.cert.X509Certificate;
com.hyperion.css.CSSSecurityAgentIF;
com.hyperion.css.common.configuration.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* X509CertificateAuthImpl implements the CSSSecurityAgentIF interface It accepts
* the X509 certificate of the authenticated user from the Web Server via a
* header, parses the certificate, extracts the DN of the User and
* authenticates the user.
*/
{
String str1 = null;
String str2 = null;
str1 = gString.replace("-----BEGIN CERTIFICATE-----", "");
str2 = str1.replace("-----END CERTIFICATE-----", "");
String certStrWithNL = "-----BEGIN CERTIFICATE-----"
+ str2.replace(" ", "\n") + "-----END CERTIFICATE-----";
return certStrWithNL;
}
/**
* Parse the certificate
* 1. Create X509Certificate using the certificateFactory
* 2. Get the Principal object from the certificate
* 3. Set the g_userDN to a certificate attribute value (DN in this sample)
* 4. Parse the attribute (DN in this sample) to get a unique username
*/
private void parseCertificate(String sCertificate) throws Exception
{
X509Certificate cert = null;
String userID = null;
try
{
X509Certificate clientCert = (X509Certificate)CertificateFactory
.getInstance("X.509")
.generateCertificate(
new ByteArrayInputStream(sCertificate
.getBytes("UTF-8")));
if (clientCert != null)
{
Principal princDN = clientCert.getSubjectDN();
String dnStr = princDN.getName();
g_userDN = dnStr;
int idx = dnStr.indexOf(",");
userID = dnStr.substring(3, idx);
g_userName = userID;
}
}
catch (CertificateException ce)
{
throw ce;
}
catch (UnsupportedEncodingException uee)
{
throw uee;
}
} //end of getUserNameFromCert
}// end of class
1. Create and test the custom login class. Ensure that you do not have any references to
log4j in your code. See Custom Login Class Sample Code on page 131.
You can use any name for your custom class.
2. Package the custom login class into CustomAuth.jar
3. Copy CustomAuth.jar into EPM_ORACLE_HOME/user_projects/domains/
WEBLOGIC_DOMAIN/lib, typically, Oracle/Middleware/user_projects/domains/
EPMSystem/lib.
Note: If you are upgrading from Release 11.1.2.0 or 11.1.2.1 that had an implementation of
custom login class, move CustomAuth.jar from EPM_ORACLE_HOME/common/
jlib/11.1.2.0 into EPM_ORACLE_HOME/user_projects/domains/
WEBLOGIC_DOMAIN/lib.
Oracle recommends that you enable Client Certificate Authentication if you are using a custom
login class.
C
In This Appendix
Overview
Many scenarios may cause the user and group identities of provisioned EPM System users to
become stale. EPM System components become inaccessible if the provisioning information
available to them is stale. Scenarios that may create stale provisioning data include:
l
Retiring a user directory: Organizations may retire a user directory after moving users to
another.
Version upgrade: User directory version upgrade may involve changes in host machine name
or operating system environments requiring.
Vendor change: Organizations may discontinue the use of a user directory in favor of a user
directory from another vendor. For example, an organization may replace its Oracle Internet
Directory with a SunONE Directory Server.
Note: In this appendix, the user directory that you are phasing out is referred to as the source
user directory, and the user directory to which you moved the user accounts is referred
to as the target user directory.
Prerequisites
l
EPM System users and groups whose provisioning data is being migrated across user
directories must be available in the target user directory.
Group relationships that exist in the source user directory must be maintained in the target
user directory.
User names of EPM System users must be identical across source and target user directories.
Overview 135
Migration Procedure
Subtopics
l
l
l
l
l
Assigned roles
Delegated lists
Groups.csv
Roles.csv
Delegated Lists.csv
Note: See the Oracle Enterprise Performance Management System Lifecycle Management Guide
In the View pane of Shared Services Console, in the Foundation application group, select Shared
Services application.
Select the type of artifacts for which you want to export provisioning information.
Click Export.
Enter a name for the export archive. Default is admin DATE; for example admin 13-03-18.
Click Export.
users whose data is being migrated from the source user directory.
If you moved the users to a user directory that is already defined as an external user directory,
verify that the user accounts are visible to Shared Services. You can do this by searching for users
from Shared Services Console. See Searching for Users, Groups, Roles, and Delegated Lists in
the Oracle Enterprise Performance Management System User Security Administration Guide.
While configuring the target user directory as an external user directory, verify that the Login
Attribute property points to the attribute whose value was originally used as the user name in
the source user directory. See Prerequisites on page 135.
Groups.csv if users from the source user directory are members of Native Directory
groups.
l
Delegated Lists.csv if users from the source user directory are assigned to delegated
lists.
The import files are in EPM_ORACLE_INSTANCE/import_export/USER_NAME/
EXPORT_DIR/resource/Native Directory, where USER_NAME is the identity of the user
who initiated the operation; for example, admin.
Replace the name of the source user directory with the name of the target user directory as displayed
in the Directory Name column in the Defined User Directories screen.
In the View pane of Oracle Hyperion Shared Services Console, expand File System.
Select the type of artifacts for which you want to import provisioning information.
Click Import.
Click OK.
Product-Specific Updates
Caution!
Oracle recommends that you back up the user and group data in the repository used
by the Oracle Enterprise Performance Management System component before
starting product-specific updates. After updating information in the local product
repository, you can revert to the old user and group data in the local product
repository from backups only.
Planning
Planning stores information about provisioned users and groups in the Planning repository. If
a user identity was changed in Native Directory as a result of migrating users and groups across
user directories, you must synchronize the information in the Planning repository with that in
Native Directory by selecting Migrate Users/Groups. This button is available in Oracle Hyperion
Planning when assigning access to data forms, members, and task lists.
Financial Management
Financial Management records information about users and groups provisioned to access
objects in a local Financial Management repository. If user and group information in Native
Directory has changed as a result of migrating users and groups across user directories, you must
synchronize the information in the Oracle Hyperion Financial Management repository with that
in Native Directory.
See EPM_ORACLE_INSTANCE/bin/ReportingAnalysis/syncCSSId/
ReadmeSyncCSSId_BI.txt for detailed instructions on running the syncCSSId utility.
Glossary
perform on a resource.
to multiple users.
identity A unique identification for a user or group in
external authentication.
integration A process that is run to move data between
Glossary 141
single sign-on (SSO) The ability to log on once and then access
models.
synchronized The condition that exists when the latest
142 Glossary
Glossary 143
144 Glossary