6 Oracle Entitlements Server

This chapter describes issues associated with Oracle Entitlements Server. It includes the following topics:

6.1 General Issues and Workarounds

This section describes general issue and workarounds. It includes the following topics:

6.1.1 Tomcat Security Module Fails To Load Custom Attribute Retriever Class

The Attribute Retriever Interface resides in the JPS JARs which are loaded by the Tomcat "shared" class loader. Thus, JARs that contain your Custom Attribute Retriever Interface implementations should also be loaded by the "shared" class loader or a class loader that has a "shared" class loader for its ancestor. Be sure to put the Custom Attribute Retriever JARs in the proper place based on this scenario.

6.1.2 Duplicate Entries of Resource Objects

This version of Oracle Entitlements Server allows the creation of duplicate Resource entries in Entitlements and Policies.

6.1.3 Finding Default Oracle Entitlements Server Security Module Certificates

The default Oracle Entitlements Server Security Module (client) certificate is stored in your_oes_sm_folder/oes_sm_instances/your_oes_sm/security/identity.jks and the trusted Certificate Authority (CA) certificates are stored in your_oes_sm_folder/oes_sm_instances/your_oes_sm/security/trust.jks. Both are JKS certificate stores with the passwords set during the creation of the Security Module instance. The password will be encrypted and stored in standard Oracle Wallet (with autologon). The default Oracle Entitlements Server client keys are generated by itself and signed during the enrollment process.

6.1.4 Entitlements Server Does Not Recover Connection To Database

If the Entitlements Server is started when the database hosting the policy store is down, it will not automatically recover once the database is available. Either of the following will rectify this.

  1. Set the database for automatic recovery by defining the following properties:

    • Connection Creation Retry Frequency is needed if the database will be down before the Administration Server starts.

    • Test Connections on Reserve is required if the database goes down after a successful Administration Server start.

  2. Restart the Administration Server once the database is live.

6.1.5 Policy Simulator Does Not Open Policies Correctly

If multiple Role Mapping Policies or Authorization Policies are returned as a result of running the Policy Simulator, the correct object reference is not passed and thus, they are not opened correctly. You will see this after clicking Check Access and selecting the Application Roles and Mapping Policies tab. To workaround this issue and open policy details, search for the policies using the Advanced Search screen.

6.1.6 Starting Oracle Access Manager When Protected by Entitlements Server Throws Exception

You will get a runtime exception when starting an instance of Oracle Access Manager protected by Oracle Entitlements Server. The exception can be ignored.

6.1.7 Updating the Opatch Tool

Oracle recommends that all customers be on the latest version of OPatch. Please review My Oracle Support Note 224346.1 Opatch - Where Can I Find the Latest Version of Opatch? and follow the instructions to update to the latest version if necessary. For FMW Opatch usage, please refer to the Oracle Fusion Middleware Patching Guide.

6.1.8 Web Service Fails to Start on WebLogic Server Security Module Managed Server

If you follow the steps in sections 9.6.2.7, Configuring Oracle Entitlements Server Web Service Security Module on WebLogic High Availability, or 9.6.2.8, Configuring Oracle Entitlements Server WebLogic Security Module High Availability of the Oracle Fusion Middleware High Availability Guide, Web Service fails to start on the WebLogic Server Security Module managed server on the second node. A Java runtime exception error occurs due to a permission issue in the weblogic.policy file.

This error occurs because there is no OES permission in weblogic.policy. To resolve this error, add the following lines on OESHOST2 in MW_HOME/wlserver_10.3/server/lib/weblogic.policy file:

grant codeBase "file:${oes.client.home}/-" { 
        permission java.security.AllPermission; 
}; 

6.1.9 configureSecurityStore.py Fails if env Command Output Includes Empty Line

When the env command is run against wlst.sh configureSecurityStore.py with output containing an empty line, the command will fail. For example:

LANG=en_US.utf8
GNOME_KEYRING_PID=16766
<empty line>
PYTHONSTARTUP=/etc/pythonstart 

An exception message similar to the following may be seen:

Welcome to WebLogic Server Administration Scripting Shell
.
Type help() for help on available commands
.
Info: Data source is: opss-DBDS
Info: DB JDBC driver: oracle.jdbc.OracleDriver
Info: DB JDBC URL: jdbc:oracle:thin:@hostname.mycompany.com:1521/db10205
Exception in thread "Main Thread" java.lang.NoClassDefFoundError:
oracle/security/jps/internal/tools/configuration/ldap/LdapServiceEnabler
Caused by: java.lang.ClassNotFoundException:

To workaround this issue, remove the empty line and run the command again. For example:

% unset GNOME_KEYRING_PID
% set GNOME_KEYRING_PID=16766 

6.1.10 Security Module Configuration User Interface Contains Garbled Characters for Asian Locale

This issue affects the Microsoft Windows platform only. The Security Module Configuration User Interface (SMConfig UI) may contain garbled characters when set to be Asian Locale. This affects Simplified and Traditional Chinese, Japanese and Korean languages.

To workaround this issue, if using another language is acceptable, you can change the user interface language by setting the locale to the VM parameter in oessmconfig.bat. For example, to use English in the US locale:

setting -Duser.language=en -Duser.country=US

6.1.11 Authorization Policy Creation Error Message in Administration Console

When creating an Authorization Policy in the Administration Console, if invalid condition data for certain data types (like DNS) is built using an equals operator ( = ) the following system message is displayed:

application policy -  expression encoding error

This error means that the condition was not built correctly therefore the Authorization Policy could not be created. However, this error is difficult to interpret.

To workaround this issue, re-write the condition using a function instead of the equals operator ( = ). For example, if the condition was written as:

DNS_NAME_ONE_AND_ONLY(['www.mycompany.com','www.mycompany.com'])='www.anothercompany.com'

Re-write the conditions as follows:

DNS_NAME_ONE_AND_ONLY(['www.mycompany.com','www.mycompany.com'])=DNS_NAME_FROM_STRING('www.anothercompany.com')

6.2 Configuration Issues and Workarounds

This section describes configuration issues and their workarounds. It includes the following topics:

6.2.1 Config Security Store Fails To Create Policy Store Object

Typically, the policy store will recover while its associated database is recovered. If error messages in the WebLogic Server Administration Console document that the data source could not be found in the WebLogic Server, check the data source configuration with WebLogic Developer, retrieve the details of the data source configuration and set the 'Initial Capacity' property to 0; this ensures that the data source will recover while the database starts up.

6.2.2 Use Absolute Paths While Running configureSecurityStore.py With -m Join

The Config Security Store fails to create the policy store object when using variables such as ORACLE_HOME and MW_HOME while running wlst.sh using configureSecurityStore.py with -m join. Always use absolute paths for ORACLE_HOME and MW_HOME while running the command for -m join.

6.2.3 Wrong Type Defined For PIP Service Provider After Adding PIP Attribute

The pip.service.provider parameter in jps-config.xml is required for PIP attributes. When a jps-config.xml file without a service provider entry for the pip.service.provider parameter is fed to the Administration Console and some PIP attributes are added, a service provider value is automatically added to the pip.service.provider with its type defined as AUDIT rather than PIP. In this scenario, after saving jps-config.xml, check for the created service provider and manually change the type from AUDIT to PIP.

This step is not required if the service provider is already present before the Administration Console touches the file. Additionally, the Administration Console will not overwrite a service provider entry that is correctly created. This issue only happens when the Administration Console has to add a service provider because of its absence.

6.2.4 Starting the OES Domain Gives an Error When Using Derby Database as the Policy Store

When you start the Oracle Entitlement Server domain after creating a new WebLogic domain for Oracle Entitlement Server using the Oracle Entitlements Server Derby Template, the console displays an error message.

This is because the Oracle Entitlements Server Derby Template does not deploy the IDS task flows, by default.

Workaround:

  1. Deploy the $IDM_HOME/modules/oracle.idm.ids.config.ui_11.1.2/oracle.idm.ids.config.ui.war as a shared library.

  2. Restart the WebLogic Server domain for Oracle Entitlements Server.

  3. Log in to the Oracle Entitlements Server Administration Console using the following URL:

    http://hostname:port/apm/
    

6.3 Documentation Errata

This section contains documentation errata for the following document:

6.3.1 Oracle Entitlements Server Online Help

The online help system contains an older version of Oracle Fusion Middleware Administrator's Guide for Oracle Entitlements Server. Refer to information in the latest document version available on Oracle Technology Network.