Skip Headers
Oracle® Fusion Middleware Enterprise Deployment Guide for Oracle WebCenter
11g Release 1 (11.1.1)

Part Number E12037-05
Go to Documentation Home
Home
Go to Book List
Book List
Go to Table of Contents
Contents
Go to Index
Index
Go to Feedback page
Contact Us

Go to previous page
Previous
Go to next page
Next
View PDF

10 Integration With Oracle Identity Management

This chapter describes how to integrate Oracle WebCenter with Oracle Identity Management. It contains the following sections:

10.1 Credential and Policy Store Configuration

The following topics describe credential and policy store configuration in detail:

10.1.1 Overview of Credential and Policy Store Configuration

Oracle Fusion Middleware allows using different types of credential and policy stores in a WebLogic domain. Domains can use stores based on an XML file or on different types of LDAP providers. When a domain uses an LDAP store, all policy and credential data is kept and maintained in a centralized store. However, when using XML policy stores, the changes made on Managed Servers are not propagated to the Administration Server unless they use the same domain home. The Oracle Fusion Middleware WebCenter Enterprise Deployment topology uses different domain homes for the Administration Server and the Managed Server, thus Oracle requires the use of an LDAP store as policy and credential store for integrity and consistency. By default Oracle WebLogic Server domains use an XML file for the policy store. The following sections describe the steps required to change the default store to Oracle Internet Directory LDAP for credentials or policies.

Note:

The backend repository for the policy store and the credential store must use the same kind of LDAP server. To preserve this coherence, note that reassociating one store implies reassociating the other one, that is, the reassociation of both the credential and the policy stores is accomplished as a unit using the Enterprise Manager or the WLST command reassociateSecurityStore. For more information, see Section 10.1.4, "Reassociation of Credentials and Policies."

10.1.2 Credential Store Configuration

A credential store is a repository of security data (credentials). A credential can hold user name and password combinations, tickets, or public key certificates. Credentials are used during authentication, when principals are populated in subjects, and, further, during authorization, when determining what actions the subject can perform. In this section, steps are provided to configure Oracle Internet Directory LDAP as a credential store for the Oracle Fusion Middleware WebCenter Enterprise Deployment topology. For more details on credential store configuration, refer to the "Configuring the Credential Store" chapter in the Oracle Fusion Middleware Security Guide.

The following section describe credential store configuration:

10.1.2.1 Creating the LDAP Authenticator

To be safe, before you create the LDAP authenticator, you should first back up the relevant configuration files:

ORACLE_BASE/admin/<domain_name>/aserver/<domain_name>/config/config.xml
ORACLE_BASE/admin/<domain_name>/aserver/<domain_name>/config/fmwconfig/jps-config.xml
ORACLE_BASE/admin/<domain_name>/aserver/<domain_name>/config/fmwconfig/system-jazn-data.xml

Also back up the boot.properties file in the ORACLE_BASE/admin/domain_name/aserver/domain_name/servers/AdminServer/security directory for the Administration Server.

To configure the credential store to use LDAP, set the proper authenticator using the WebLogic Server Console:

  1. Log in to the WebLogic Server Console.

  2. Click the Security Realms link on the left navigational bar.

  3. Click the myrealm default realm entry to configure it.

  4. Open the Providers tab within the realm.

  5. Observe that there is a DefaultAuthenticator provider configured for the realm.

  6. Click the New button to add a new provider.

  7. Enter a name for the provider such as OIDAuthenticator or OVDAuthenticator depending on whether Oracle Internet Directory or Oracle Virtual Directory will be used.

  8. Select the OracleInternetDirectoryAuthenticator or OracleVirtualDirectoryAuthenticator type from the list of authenticators depending on whether Oracle Internet Directory or Oracle Virtual Directory will be used.

  9. Click OK.

  10. In the Providers screen, click the newly created Authenticator.

  11. Set the control flag to SUFFICIENT. This indicates that if a user can be authenticated successfully by this authenticator, then it should accept that authentication and should not continue to invoke any additional authenticators. If the authentication fails, it will fall through to the next authenticator in the chain. Make sure all subsequent authenticators also have their control flag set to SUFFICIENT; in particular, check the DefaultAuthenticator and set that to SUFFICIENT.

  12. Click Save to save this setting.

  13. Open the Provider Specific tab to enter the details for the LDAP server.

  14. Enter the details specific to your LDAP server, as shown in the following table:

    Parameter Value Value Description
    Host For example: oid.mycompany.com The LDAP server's server ID.
    Port For example: 636 The LDAP server's port number.
    Principal For example: cn=orcladmin The LDAP user DN used to connect to the LDAP server.
    Credential NA The password used to connect to the LDAP server
    SSL Enabled Checked Specifies whether SSL protocol is used when connecting to LDAP server.
    User Base DN For example: cn=users,dc=us,dc=mycompany,dc=com Specify the DN under which your Users start.
    Group Base DN For example: cn=groups,dc=us,dc=mycompany,dc=com Specify the DN that points to your Groups node.
    Use Retrieved User Name as Principal Checked Must be turned on.

    Click Save when done.

  15. Click Activate Changes to propagate the changes.

10.1.2.1.1 Setting the Order of Providers

Reorder the OID/OVD Authenticator and Default Authenticator and ensure that the control flag for each authenticator is set in the following order:

  1. OID LDAP Authenticator: SUFFICIENT

  2. Default Authenticator: SUFFICIENT

10.1.2.2 Moving the WebLogic Administrator to LDAP

This section provides details for provisioning a new administrator user and group for managing the Oracle Fusion Middleware WebCenter WebLogic Domain. This section describes the following tasks:

10.1.2.2.1 Provisioning Admin Users and Groups in an LDAP Directory

As mentioned in the introduction to this section, users and groups from multiple WebLogic domains may be provisioned in a central LDAP user store. In such a case, there is a possibility that one WebLogic admin user may have access to all the domains within an enterprise. This is not a desirable situation. To avoid this, the users and groups provisioned must have a unique distinguished name within the directory tree. In this guide, the admin user and group for the WebCenter Enterprise Deployment WebLogic domain will be provisioned with the DNs below:

  • Admin User DN:

    cn=weblogic_wc,cn=Users,dc=us,dc=mycompany,dc=com
    
  • Admin Group DN:

    cn=WC_Administrators,cn=Groups,dc=us,dc=mycompany,dc=com
    

Follow these steps to provision the admin user and admin group in Oracle Internet Directory:

  1. Create an ldif file named admin_user.ldif with the contents shown below and then save the file:

    dn: cn=weblogic_wc, cn=Users, dc=us, dc=mycompany, dc=com
    orclsamaccountname: weblogic_wc
    givenname: weblogic_wc
    sn: weblogic_wc
    userpassword: Welcome1
    mail: weblogic_wc
    objectclass: top
    objectclass: person
    objectclass: organizationalPerson
    objectclass: inetorgperson
    objectclass: orcluser
    objectclass: orcluserV2
    uid: weblogic_wc
    cn: weblogic_wc
    description: Admin User for the IDM Domain
    
  2. Run the ldapadd command located under the ORACLE_HOME/bin directory to provision the user in Oracle Internet Directory.

    Note:

    The Oracle home used here is the Oracle home for the Identity Management installation where Oracle Internet Directory resides.

    For example (the command is shown as two lines in the example below for readability purposes, but you should enter the command on a single line):

    OIDHOST1> ORACLE_HOME/bin/ldapadd -h oid.mycompany.com -p 389 -D
    cn="orcladmin" -w welcome1 -c -v -f admin_user.ldif
    
  3. Create an ldif file named admin_group.ldif with the contents shown below and then save the file:

    dn: cn=WC_Administrators, cn=Groups, dc=us, dc=mycompany, dc=com
    displayname: WC_Administrators
    objectclass: top
    objectclass: groupOfUniqueNames
    objectclass: orclGroup
    uniquemember: cn=weblogic_wc,cn=users,dc=us,dc=mycompany,dc=com
    cn: WC_Administrators
    description: Administrators Group for the SOA Domain
    
  4. Run the ldapadd command located under the ORACLE_HOME/bin/ directory to provision the group in Oracle Internet Directory (the command is shown as two lines in the example below for readability purposes, but you should enter the command on a single line):

    OIDHOST1> ORACLE_HOME/bin/ldapadd -h oid.mycompany.com -p 389 -D
    cn="orcladmin" -w welcome1 -c -v -f admin_group.ldif
    
10.1.2.2.2 Assigning the Admin Role to the Admin Group

After adding the users and groups to Oracle Internet Directory, the group must be assigned the Admin role within the WebLogic domain security realm. This enables all users that belong to the group to be administrators for that domain. Follow these steps to assign the Admin role to the Admin group:

  1. Log into the WebLogic Administration Server Console.

  2. In the left pane of the console, click Security Realms.

  3. On the Summary of Security Realms page, click myrealm under the Realms table.

  4. On the Settings page for myrealm, click the Roles & Policies tab.

  5. On the Realm Roles page, expand the Global Roles entry under the Roles table. This brings up the entry for Roles. Click on the Roles link to bring up the Global Roles page.

  6. On the Global Roles page, click the Admin role to bring up the Edit Global Role page:

    1. On the Edit Global Roles page, under the Role Conditions table, click the Add Conditions button.

    2. On the Choose a Predicate page, select Group from the drop down list for predicates and click Next.

    3. On the Edit Arguments Page, specify WC_Administrators in the Group Argument field and click Add.

  7. Click Finish to return to the Edit Global Role page.

  8. The Role Conditions table now shows the WC_Administrators Group as an entry.

  9. Click Save to finish adding the Admin Role to the WC_Administrators Group.

  10. Validate that the changes were successful by bringing up the WebLogic Administration Server Console using a web browser. Log in using the credentials for the weblogic_wc user.

    Note:

    Each SOA application has its own predefined roles and groups defined for administration and monitoring. By default, the "Administrator" group allows these operations. However, the "Administrator" group may be too broad. For example, you may not want B2B Administrators to be WebLogic Server Domain Administrators where SOA is running. Therefore, you may wish to create a a more specific group, such as "SOA Administrators." In order for the different applications to allow the SOA Administrator group to administer the different systems, you must add the required roles to the SOA Administrator group. For example, for B2B's Administration, add the B2BAdmin role to the SOA Administrators group, for Worklistapp's administration, add the SOAAdmin role. Refer to each component's specific roles for the required roles in each case.
10.1.2.2.3 Updating the boot.properties File and Restarting the System

The boot.properties file for the Administration Server should be updated with the WebLogic admin user created in Oracle Internet Directory. Follow the steps below to update the boot.properties file:

  1. On SOAHOST1, go the following directory:

    SOAHOST1>cd ORACLE_BASE/admin/domainName/aserver/domainName/servers/
    AdminServer/security
    
  2. Rename the existing boot.properties file:

    SOAHOST1> mv boot.properties boot.properties.backup
    
  3. Use a text editor to create a file called boot.properties under the security directory. Enter the following lines in the file:

    username=weblogic_wc
    password=welcome1
    
  4. Save the file.

  5. Stop the Administration Server:

    SOAHOST1> cd ORACLE_BASE/admin/domainName/aserver/domainName/bin
    SOAHOST1> ./stopWebLogic.sh
    
  6. Restart the Administration Server using the procedure in Section 4.7, "Starting the Administration Server on SOAHOST1."

10.1.2.3 Reassociating the Domain Credential Store

The reassociation of both the Credential and the Policy stores is accomplished as a unit using Enterprise Manager or the WLST command reassociateSecurityStore. See Section 10.1.4, "Reassociation of Credentials and Policies" for detailed steps

10.1.3 Policy Store Configuration

The domain policy store is the repository of system and application-specific policies. In a given domain, there is one store that stores all policies that all applications deployed in the domain may use. This section provides the steps to configure Oracle Internet Directory LDAP as the policy store for the Oracle Fusion Middleware WebCenter Enterprise Deployment topology. For more details on policy store configuration, refer to the "OPSS Authorization and the Policy Store" chapter in the Oracle Fusion Middleware Security Guide. Oracle Fusion Middleware Security Guide.

10.1.3.1 Prerequisites to Using an LDAP-Based Policy Store

In order to ensure the proper access to an LDAP server directory (Oracle Internet Directory) used as a policy store, you must set a node in the server directory.

An Oracle Internet Directory administrator must follow these steps to create the appropriate node in an Oracle Internet Directory Server:

  1. Create an LDIF file (assumed to be jpstestnode.ldif in this example) specifying the following DN and CN entries:

    dn: cn=jpsroot_wc
    cn: jpsroot_wc
    objectclass: top
    objectclass: OrclContainer
    

    The distinguished name of the root node (illustrated by the string jpsroot_wc above) must be distinct from any other distinguished name. One root node can be shared by multiple WebLogic domains. It is not required that this node be created at the top level, as long as read and write access to the subtree is granted to the Oracle Internet Directory administrator.

  2. Import this data into Oracle Internet Directory server using the command ldapadd, as illustrated in the following example (the command is shown as two lines in the example below for readability purposes, but you should enter the command on a single line):

    OIDHOST1> ORACLE_HOME/bin/ldapadd -h ldap_host -p ldap_port -D
    cn=orcladmin -w password -c -v -f jpstestnode.ldif
    
  3. Verify that the node has been successfully inserted using the command ldapsearch, as illustrated in the following example (the command is shown as two lines in the example below for readability purposes, but you should enter the command on a single line):

    OIDHOST1> ORACLE_HOME/bin/ldapsearch -h ldap_host -p ldap_port -D
    cn=orcladmin -w password -b "cn=jpsroot_wc" objectclass="orclContainer"
    
  4. When using Oracle internet Directory as the LDAP-Based Policy Store run the utility oidstats.sql in the INFRADBHOSTs to generate database statistics for optimal database performance:

    ORACLE_HOME/bin/sqlplus
    

    Enter ODS as a user name. You will be prompted for credentials for the ODS user. Inside sqlplus, enter the command to gather the statistics info:

    SQLPLUS> @ORACLE_HOME/ldap/admin/oidstats.sql
    

    The oidstats.sql utility must be run just once after the initial provisioning. For details about this utility, consult the Oracle Fusion Middleware User Reference for Oracle Identity Management.

10.1.3.2 Reassociating the Domain Policy Store

Reassociating the policy store consists in migrating policy data from a file- or LDAP-based repository to an LDAP-based repository, that is, reassociation changes the repository preserving the integrity of the data stored. For each policy in the source policy store, reassociation searches the target LDAP directory and, if it finds a match, it updates the matching policy as appropriate. If none is found, it simply migrates the policy as is.

At any time, after a domain policy store has been instantiated, a file- or LDAP-based policy store can be reassociated into an LDAP-based policy store storing the same data. To support it, the domain has to be configured, as appropriate, to use an LDAP policy store.

The reassociation of both the credential and the policy stores is accomplished as a unit using Enterprise Manager or the WLST command reassociateSecurityStore. See Section 10.1.4, "Reassociation of Credentials and Policies" for detailed steps.

10.1.4 Reassociation of Credentials and Policies

To reassociate the policy and credential store with Oracle Internet Directory, use the WLST reassociateSecurityStore command. Follow these steps:

  1. From SOAHOST1, start the wlst shell:

    SOAHOST1>cd ORACLE_COMMONHOME/common/bin
    SOAHOST1>./wlst.sh
    
  2. Connect to the WebLogic Administration Server using the wlst connect command shown below:

    Syntax:

    connect('AdminUser',"AdminUserPassword",t3://hostname:port)
    

    For example:

    connect("weblogic","welcome1","t3://ADMINVHN:7001")
    
  3. Run the reassociateSecurityStore command as shown below:

    Syntax:

    reassociateSecurityStore(domain="domainName",admin="cn=orcladmin", password="orclPassword",ldapurl="ldap://LDAPHOST:LDAPPORT",servertype="OID",
    jpsroot="cn=jpsroot_wc")
    

    For example:

    wls:/WCEDGDomain/serverConfig>reassociateSecurityStore(domain="soaedg_domain",
    admin="cn=orcladmin",password="welcome1",ldapurl="ldap://oid.mycompany.com:389",servertype="OID",jpsroot="cn=jpsroot_wc")
    

    The output for the command is shown below:

    {servertype=OID,jpsroot=cn=jpsroot_wc_idm_idmhost1,admin=cn=orcladmin,
    domain=IDMDomain,ldapurl=ldap://oid.mycompany.com:389,password=welcome1}
    Location changed to domainRuntime tree. This is a read-only tree with
    DomainMBean as the root.
    
    For more help, use help(domainRuntime)
    
    Starting Policy Store reassociation.
    LDAP server and  ServiceConfigurator setup done.
    
    Schema is seeded into LDAP server
    Data is migrated to LDAP server
    Service in LDAP server after migration has been tested to be available
    Update of jps configuration is done
    Policy Store reassociation done.
    Starting credential Store reassociation
    LDAP server and  ServiceConfigurator setup done.
    Schema is seeded into LDAP server
    Data is migrated to LDAP server
    Service in LDAP server after migration has been tested to be available
    Update of jps configuration is done
    Credential Store reassociation done
    Jps Configuration has been changed. Please restart the server.
    
  4. Restart the Administration Server after the command completes successfully.

    Note:

    For credential and policy changes to take effect, the servers in the domain must be restarted.

10.1.4.1 Cataloging Oracle Internet Directory Attributes

An Oracle Internet Directory attribute used in a search filter must be indexed. The indexing is an optional procedure used to enhance performance. If not done yet in this OID use the catalog tool to index attributes:

catalog connect="orcl" add=true attribute="orclrolescope" verbose="true"

Optionally, the attribute names can be placed in a file and processed in batch as follows:

orclrolescope
orclassignedroles
orclApplicationCommonName
orclAppFullName
orclCSFAlias
orclCSFKey
orclCSFName
orclCSFDBUrl
orclCSFDBPort
orclCSFCredentialType
orclCSFExpiryTime
modifytimestamp
createtimestamp
orcljpsassignee

For more information on indexing OID attributes, see Oracle Fusion Middleware Reference for Oracle Identity Management.

10.2 Oracle Access Manager 10g Integration

This section describes how to set up Oracle Access Manager 10g as the single sign-on solution for the Oracle WebCenter Enterprise Deployment topology. If you are integrating with Oracle Access Manager 11g, skip this section, follow the steps in Section 10.3, "Oracle Access Manager 11g Integration," and then proceed to Section 10.4, "Configuring WebCenter Applications," and continue on with the rest of this chapter.

This section contains the following topics:

10.2.1 Overview of Oracle Access Manager Integration

Oracle Access Manager (OAM) is the recommended single sign-on solution for Oracle Fusion Middleware 11g Release 1. For more information on installing and configuring an OAM installation, see Oracle Fusion Middleware Enterprise Deployment Guide for Oracle Identity Management. This chapter explains the procedure for configuring the WebCenter installation with an existing OAM installation and the underlying directory service. Oracle recommends using either Oracle Internet Directory (OID) or Oracle Virtual Directory (OVD) or both of these directory services.

Note:

The WebCenter Enterprise Deployment topology described in this book uses a Single Sign-On configuration where both the WebCenter System and the Single Sign-On System are in the same network domain (mycompany.com) For a multi-domain configuration, please refer to the required configuration steps in "Chapter 7, Configuring Single Sign-On," of the Oracle Access Manager Access Administration Guide.

10.2.2 Prerequisites for Oracle Access Manager

The setup for Oracle Access Manager (OAM) assumes an existing OAM installation complete with Access Managers and a policy protecting the Policy Manager. For more information on installing and configuring an OAM installation, see Oracle Fusion Middleware Enterprise Deployment Guide for Oracle Identity Management. This setup includes a directory service such as Oracle Internet Directory (OID) either as a stand-alone or as part of an Oracle Virtual Directory (OVD) configuration. This chapter will provide the necessary steps for configuring your WebCenter installation with either OID or OVD.

In addition, the OAM installation should have its own Web server configured with WebGate. This section also provides the steps for using the OAM Web server as a delegated authentication server.

10.2.3 Using the OAM Configuration Tool

The OAM Configuration Tool (oamcfg) starts a series of scripts and setup the required policies. It requires various parameters as inputs. Specifically, it creates the following:

  1. A Form Authentication scheme in OAM

  2. Policies to enable authentication in WebLogic Server

  3. An AccessGate entry in OAM to enable Oracle HTTP Server WebGates (from your Web Tier) to protect your configured application

  4. A Host Identifier, depending on the scenario chosen (a default host identifier would be used, if not provided)

  5. Policies to protect and unprotect application specific URLs.

This section covers the following topics:

10.2.3.1 Collecting the Information for the OAM Configuration Tool

The following information should be collected or prepared prior to running the OAM Configuration tool:

  1. Password: Create a secure password. This will be used as the password for the WebGate installation created later.

  2. LDAP Host: Enter the host name of the Directory Server or Load Balancer address in the case of an HA/Enterprise Deployment configuration.

  3. LDAP Port: Enter the port of the Directory Server.

  4. LDAP USER DN: Enter the DN of the LDAP admin user. This is a value such as "cn=orcladmin."

  5. LDAP password: Enter the password of the LDAP admin user.

  6. oam_aa_host: Enter the host name of an Oracle Access Manager from the Access Server Configuration.

  7. oam_aa_port: Enter the port of the Oracle Access Manager from the Access Server Configuration.

10.2.3.2 Running the OAM Configuration Tool

The OAM Configuration Tool resides in the ORACLE_HOME/modules/oracle.oamprovider_11.1.1/ directory (ORACLE_HOME will depend on which machine you are running this). The tool can be run from any machine with the required installation files. In this case, we run it from SOAHOST1.

The OAM Configuration Tool should be run as follows (all on a single command line):

MW_HOME/jrockit_160_<version>/bin/java -jar oamcfgtool.jar mode=CREATE
app_domain="WebCenter_EDG"
protected_uris="$URI_LIST"
public_uris="$PUBLIC_URI_LIST"
app_agent_password=<Password_to_be_provisioned_for_App_Agent>
ldap_host=OID.MYCOMPANY.COM
ldap_port=389
ldap_userdn="cn=orcladmin"
ldap_userpassword=<Password_of_LDAP_Admin_User>
oam_aaa_host=OAMHOST1
oam_aaa_port=OAMPORT1

The $URI_LIST and $PUBLIC_URI_LIST variables in the above command depend on the topology:

  • WebCenter only:

    $URI_LIST="/webcenter/adfAuthentication,/webcenter/content,/integration/worklistapp,/workflow/sdpmessagingsca-ui-worklist/faces/adf.task-flow,/workflow/WebCenterWorklistDetail/faces/adf.task-flow,/workflow/sdpmessagingsca-ui-worklist,/soa-infra,/rss/rssservlet,/owc_discussion/login!withRedirect.jspa,/owc_discussions/login!default.jspa,/owc_discussions/login.jspa,/owc_discussions/admin,/rest/api/resourceIndex,/rest/api/spaces,/rest/api/discussions,/rest/api/tags,/rest/api/taggeditems,/rest/api/activities,/rest/api/activitygraph,/rest/api/feedback,/rest/api/people,/rest/api/messageBoards,/rest/api/searchresults,/activitygraph-engines,/wcps/api,/pageletadmin,/authenticateWithApplicationServer,/em,/console,/adfAuthentication"

    $PUBLIC_URI_LIST="/webcenter,/owc_discussions,/rss,/workflow,/rest/api/cmis,/cs,/"

  • WebCenter and SOA:

    $URI_LIST="/webcenter/adfAuthentication,/webcenter/content,/integration/worklistapp,/workflow/sdpmessagingsca-ui-worklist/faces/adf.task-flow,/workflow/WebCenterWorklistDetail/faces/adf.task-flow,/workflow/sdpmessagingsca-ui-worklist,/soa-infra,/rss/rssservlet,/owc_discussions,/login!withRedirect.jspa,/owc_discussions/login!default.jspa,/owc_discussions/login.jspa,/owc_discussions,/admin,/rest/api/resourceIndex,/rest/api/spaces,/rest/api/discussions,/rest/api/tags,/rest/api/taggeditems,/rest/api/activities,/rest/api/activitygraph,/rest/api/feedback,/rest/api/people,/rest/api/messageBoards,/rest/api/searchresults,/activitygraph-engines,/wcps/api,/pageletadmin,/authenticateWithApplicationServer,/em,/console,/DefaultToDoTaskFlow,/b2b,/sdpmessaging/userprefs-ui,/adfAuthentication"

    $PUBLIC_URI_LIST="/webcenter,/owc_discussions,/rss,/workflow,/rest/api/cmis,/cs,/"

Note:

If SOA is installed later or other additional URLs need to be protected, the OAM configuration tool should be executed again using the same app_domain and including all the URLs that would be protected (not just the new ones).

If your command ran successfully, you should see the following output:

Processed input parameters
Initialized Global Configuration
Successfully completed the Create operation
Operation Summary:
Policy Domain: WebCenter_EDG
Host Identifier: WebCenter_EDG
Access Gate ID: WebCenter_EDG_AG

10.2.3.3 Updating the REST Policies

To update the REST policies:

  1. Locate the policy domain that you created and verified in the previous steps and open the Policies tab.

    You should see two policies already created - Protected_JSessionId_Policy and Default Public Policy.

  2. Create another policy called WebCenterRESTPolicy, using the values shown below:

    Description: This policy protects REST protected URIs using BASIC authentication scheme required for functioning with the WebCenter Outlook plug-in or iPhone integration.

    Resource Type: http

    Operation(s): GET,POST

    Resource: Select all resources starting with /rest except for /rest/cmis/repository.

    /rest/api/resourceIndex
    /rest/api/spaces
    /rest/api/discussions
    /rest/api/tags
    /rest/api/taggeditems
    /rest/api/activities
    /rest/api/activitygraph
    /rest/api/feedback
    /rest/api/people
    /rest/api/messageBoards
    /rest/api/searchresults
    

    Host Identifier: Same as the one used for the resources.

  3. Click Save.

  4. In the newly created policy, navigate to Authentication Rule and add a new rule using the authentication scheme OraDefaultBasicAuthNScheme.

  5. Open the Policies tab and make sure that the polices are in the order shown below:

    Protected_JSessionId_Policy

    WebCenterRESTPolicy

    Default Public Policy

10.2.3.4 Verifying Successful Creation of the Policy Domain and AccessGate

Verifying the Policy Domain

To verify the policy domain, complete these steps:

  1. Log on to the Oracle Access Manager:

    http://OAMADMINHOST:<port>/access/oblix/

  2. Click Policy Manager.

  3. Click the My Policy Domains link on the left panel, you will see a list of all policy domains, among which the domain you just created will be listed. It will have the suffix _PD (for example, WebCenter_EDG_PD ). In the third column (URL prefixes, you will also see the URIs you specified during the creation of this domain).

  4. Click the link to the policy domain you just created. you will land in the General area of this domain.

  5. Click the Resources tab, you will see the URIs you specified. You can also click other tabs to view other settings.

Verifying the AccessGate Configuration

To verify the AccessGate configuration, complete these steps:

  1. Click the Access System Console link on the top right hand side (this acts like a toggle; after you click it, it becomes the Policy Manager link).

  2. Click the Access System Configuration tab.

  3. Click the AccessGate Configuration link on the left panel.

  4. Enter 'WebCenter_EDG' as the search criterion (or any other substring you may have used as the app_domain name in Section 10.2.3.2, "Running the OAM Configuration Tool"), and click Go.

  5. Once the AccessGate for the domain you just created shows up (this will have the suffix _AG (for example, WebCenter_EDG_AG), click it, and the details of the AccessGate you just created appear.

10.2.3.5 Updating the Host Identifier

The OAM Configuration Tool uses the value of the app_domain parameter to create a host identifier for the policy domain. This host identifier must be updated with all the host name variations for the host so that the configuration works correctly. Follow the steps below to update the host identifier created by the OAM Configuration Tool:

  1. Navigate to the Access System Console by specifying the following URL in your web browser:

    http://hostname:port/access/oblix
    

    where hostname refers to the host where WebPass Oracle HTTP Server instance is running and port refers to the HTTP port of the Oracle HTTP Server instance.

  2. When prompted for a username and password, log in as an administrator. Click OK.

  3. On the Access System main page, click the Access System Console link.

  4. On the Access System Console page, click the Access System Configuration tab.

  5. On the Access System Configuration page, click Host Identifiers at the bottom left.

  6. On the List all host identifiers page, click on the host identifier created by the OAM Configuration Tool. For example, select WebCenter_EDG.

  7. On the Host Identifier Details page, click Modify.

  8. Add the Preferred HTTP Host value used in the Access System Configuration. The following is a list of all the possible host name variations using SSO/WebGate:

    • webhost1.mydomain.com:7777

    • webhost2.mydomain.com:7777

    • wchost1:9000

    • wchost2:9000

    • wchost1:9001

    • wchost2:9001

    • wchost1:9002

    • wchost2:9002

    • wchost1:9003

    • wchost2:9003

    • admin.mycompany.com

    • adminvhn.mycompany.com:7001

    • soahost1vhn1:8001

    • soahost2vhn1:8001

    • soahost1vhn1:8010

    • soahost2vhn1:8010

    • adminvhn:7001

  9. Select the check box next to Update Cache and then click Save.

    A message box with the following message is displayed: "Updating the cache at this point will flush all the caches in the system. Are you sure?".

    Click OK to finish saving the configuration changes.

  10. Verify the changes on the Host Identifier Details page.

10.2.3.6 Updating the WebGate Profile

The OAM Configuration Tool populates the Preferred_HTTP_Host and hostname attributes for the WebGate profile that is created with the value of the app_domain parameter. Both these attributes must be updated with the proper values for the configuration to work correctly. Follow the steps below to update the WebGate profile created by the OAM CFG Tool.

  1. Navigate to the Access System Console by specifying the following URL in your web browser:

    http://hostname:port/access/oblix
    

    where hostname refers to the host where WebPass Oracle HTTP Server instance is running and port refers to the HTTP port of the Oracle HTTP Server instance.

  2. On the Access System main page, click the Access System Console link, then log in as an administrator.

  3. On the Access System Console main page, click the Access System Configuration link to display the AccessGates Search page.

  4. Enter the proper search criteria and click Go to display a list of AccessGates.

  5. Select the AccessGate created by the OAM Configuration Tool. For example: WebCenter_EDG_AG).

  6. On the AccessGate Details page, select Modify to display the Modify AccessGate page.

  7. On the Modify AccessGate page, update:

    • Hostname: Update the hostname with the name of the computer where WebGate is running, for example: webhost1.mycompany.com.

    • Preferred HTTP Host: Update the Preferred_HTTP_Host with one of the hostname variations specified in the previous section, for example: admin.mycompany.com:80.

    • Primary HTTP Cookie Domain: Update the Primary HTTP Cookie Domain with the Domain suffix of the host identifier, for example: mycompany.com

  8. Click Save. A message box with the "Are you sure you want to commit these changes?" message is displayed.

  9. Click OK to finish updating the configuration.

  10. Verify the values displayed on the Details for AccessGate page to confirm that the updates were successful.

10.2.3.7 Adding Additional Access Servers

To assign an Access Server to the WebGate:

  1. Log in as the Administrator on the Access System Console.

  2. Navigate to the Details for AccessGate page, if necessary. From the Access System Console, select Access System Configuration, then AccessGate Configuration, then the link for the WebGate (WebCenter_EDG_AG).

  3. On the Details for AccessGate page, click List Access Servers.

  4. A page appears showing the primary or secondary Access Servers currently configured for this WebGate.

    Click Add.

  5. On the Add a New Access Server page, select an Access Server from the Select Server list, specify Primary Server, and define two connections for the WebGate.

    Click the Add button to complete the association.

  6. A page appears, showing the association of the Access Server with the WebGate. Click the link to display a summary and print this page for later use.

  7. Repeat steps 3 through 6 to associate more Access Servers to the WebGate.

10.2.3.8 Configure Delegated Form Authentication

To configure the form authentication to redirect to the WebGate that was installed with the OAM installation, complete these steps:

  1. Open the Access System Console.

  2. In the Access System Configuration screen, select Authentication Management from the left-hand bar.

  3. Select OraDefaultFormAuthNScheme.

  4. Click Modify.

  5. In the Challenge Redirect field, enter the host and port of the Oracle HTTP Server for the IDM installation; for example: http://sso.mycompany.com:7777.

A WebGate should already be installed in the IDM installation. Refer to section 18.2, "Installing and Configuring WebGate" in the Oracle Fusion Middleware Enterprise Deployment Guide for Oracle Identity Management for details.

10.2.4 Installing and Configuring WebGate

WebGate needs to be installed on each of the WEBHOSTn machines in order to secure the web tier:

  1. Launch the WebGate installer (see Section 1.5.5, "What to Install" for information on where to obtain it) using the following command:

    ./Oracle_Access_Manager10_1_4_3_0_linux_OHS11g_WebGate –gui
    
  2. The Welcome screen is displayed. Click Next.

  3. In the Customer Information screen (Figure 10-1), enter the user name and user group that the web server is running as. Click Next to continue.

    Figure 10-1 Customer Information Screen

    Description of Figure 10-1 follows
    Description of "Figure 10-1 Customer Information Screen"

  4. In the installation target screen (Figure 10-2), specify the directory where WebGate should be installed. Click Next to continue.

    Figure 10-2 Installation Target Screen

    Description of Figure 10-2 follows
    Description of "Figure 10-2 Installation Target Screen"

  5. In the installation summary screen, click Next.

  6. Download the required GCC runtime libraries for WebGate as instructed in the WebGate configuration screen (Figure 10-3), and use Browse to point to their location on the local computer. Click Next to continue.

    Figure 10-3 Runtime Libraries Screen

    Description of Figure 10-3 follows
    Description of "Figure 10-3 Runtime Libraries Screen"

  7. The installer now creates the required artifacts. After that is completed, click Next to continue.

  8. In the transport security mode screen (Figure 10-4), select "Open Mode: No Encryption" and click Next to continue.

    Figure 10-4 Transport Security Mode Screen

    Description of Figure 10-4 follows
    Description of "Figure 10-4 Transport Security Mode Screen"

  9. In the WebGate configuration screen, provide the details of the Access Server that will be used. You must provide the following information:

    • WebGate ID, as provided when the OAM configuration tool was executed

    • Password for WebGate

    • Access Server ID, as reported by the OAM Access Server configuration

    • Access Server host name, as reported by the OAM Access Server configuration

    • Access Server port number, as reported by the OAM Access Server configuration

    Note:

    The Access Server ID, host name, and port are all required.

    You can obtain these details from your Oracle Access Manager administrator. Click Next to continue.

    Figure 10-5 Access Server Configuration Screen

    Description of Figure 10-5 follows
    Description of "Figure 10-5 Access Server Configuration Screen"

  10. In the Configure Web Server screen, click Yes to automatically update the web server. Click Next to continue.

  11. In the next Configure Web Server screen, specify the full path of the directory containing the httpd.conf file. This file is located in the following directory:

    ORACLE_BASE/admin/<OHS_Instance>/config/OHS/<OHS_ComponentName>
    

    For example:

    /u01/app/oracle/admin/ohs_instance2/config/OHS/ohs2/httpd.conf
    

    Click Next to continue.

  12. In the next Configure Web Server page, a message informs you that the Web server configuration has been modified for WebGate. Click Yes to confirm.

  13. Stop and start your Web server for the configuration updates to take effect. Click Next to continue.

  14. In the next Configure Web Server screen, the following message is displayed: "If the web server is set up in SSL mode, then the httpd.conf file needs to be configured with the SSL related parameters. To manually tune your SSL configuration, please follow the instructions that come up". Click Next to continue.

  15. In the next Configure Web Server screen, a message with the location of the document that has information on the rest of the product setup and Web server configuration is displayed. Choose No and click Next to continue.

  16. The final Configure Web Server screen appears with a message to manually launch a browser and open the HTML document for further information on configuring your Web server. Click Next to continue.

  17. The Oracle COREid Readme screen appears. Review the information on the screen and click Next to continue.

  18. A message appears (along with the details of the installation) informing you that the installation was successful.

10.2.5 Configuring IP Validation for the Webgate

IP Validation determines if a client's IP address is the same as the IP address stored in the ObSSOCookie generated for single sign-on. IP Validation can cause issues in systems using load balancer devices configured to perform IP termination, or when the authenticating webgate is front-ended by a different load balancer from the one front-ending the enterprise deployment. To configure your load balancer so that it is not validated in these cases, follow these steps:

  1. Navigate to the Access System Console using the following URL:

    http://hostname:port/access/oblix

    Where the hostname refers to the host where the WebPass Oracle HTTP Server instance is running, and port refers to the HTTP port of the Oracle HTTP Server instance.

  2. On the Access System main page, click the Access System Console link, and then log in as an administrator.

  3. On the Access System Console main page, click Access System Configuration, and then click the Access Gate Configuration link on the left pane to display the AccessGates Search page.

  4. Enter the proper search criteria and click Go to display a list of AccessGates.

  5. Select the AccessGate created by the Oracle Access Manager configuration tool.

  6. Click Modify at the bottom of the page.

  7. In the IPValidationException field, enter the address of the load balancer used to front-end the deployment.

  8. Click Save at the bottom of the page.

10.2.6 Setting Up the WebLogic Authenticators

This section assumes that you have already set up the LDAP authenticator by following the steps in Section 10.1.2.1, "Creating the LDAP Authenticator." If you have not already created the LDAP authenticator, do it before continuing with this section.

This section includes the following topics:

10.2.6.1 Back Up Configuration Files

To be safe, first back up the relevant configuration files:

ORACLE_BASE/admin/<domain_name>/aserver/<domain_name>/config/config.xml 
ORACLE_BASE/admin/<domain_name>/aserver/<domain_name>/config/fmwconfig/jps-config.xml
ORACLE_BASE/admin/<domain_name>/aserver/<domain_name>/config/fwmconfig/system-jazn-data.xml

Also back up the boot.properties file for the Administration Server.

10.2.6.2 Setting Up the OAM ID Asserter

To set up the OAM ID Asserter, complete these steps:

  1. Log into Weblogic Console, if not already logged in.

  2. Navigate to SecurityRealms\<Default Realm Name>\Providers.

  3. Click New and Select "OAM Identity Asserter" from the dropdown menu.

  4. Name the asserter (for example, "OAM ID Asserter") and click Save.

  5. Click the newly added asserter to see the configuration screen for OAM Identity Asserter.

  6. Set the control flag to 'REQUIRED' and click Save.

  7. Check that OAM_REMOTE_USER and ObSSOCookie is set for Active Types.

  8. Save the settings.

10.2.6.3 Setting the Order of Providers

Reorder the OAM Identity Asserter, OID Authenticator, and Default Authenticator by ensuring that the control flag for each authenticator is set as follows:

  • OAM Identity Asserter: REQUIRED

  • OID LDAP Authenticator (or OVD LDAP Authenticator): SUFFICIENT

  • Default Authenticator: SUFFICIENT

10.2.7 Understanding Virtual Host configuration

The WebCenter Suite includes applications that use "/" as the context root. To route these applications through Oracle HTTP Server without virtual hosts you can add the following entry to mod_wl_ohs.conf file:

<Location  />
      SetHandler weblogic-handler
      WebLogicHost webcenter.example.com
      WebLogicPort 8889
</Location>

However, this would affect all context roots not explicitly defined.

The term virtual host refers to the practice of running more than one Web site (such as www.company1.com and www.company2.com) on a single machine. Virtual hosts can be IP-based, where you have a different IP address for each Web site, or name-based, where you have multiple names running on each IP address.

You must configure virtual hosts both on the HTTP Server and on the load balancer. On the load balancer, configure an externally-facing URL, such as wcedg-pagelet.mycompany.com. This configuration routes to the virtual host configured on the HTTP Servers. For example:

  • wcedg.mycompany.com -> webhostn:7777

  • wcedg-pagelet.mycompany.com -> webhostn-pagelet:7777

The steps for configuring the virtual host on the HTTP Server are outlined in Section 10.2.8, "Configuring Virtual Hosts for OAM 10g."

10.2.8 Configuring Virtual Hosts for OAM 10g

To configure OAM 10g for virtual hosts, bypass single sign-on and the authentication end points for RSS and the SES crawler, as their use by external RSS readers and SES only support BASIC authorization. In addition, these integrations do not require single sign-on. For more information, see "Associating a WebGate with Particular Virtual Hosts, Directories, or Files" in the Oracle Access Manager Access Administration Guide for 10g.

Locate and comment out the following configuration in httpd.conf file:

#Comment out this and move to VirtualHost configuration
#<LocationMatch "/*">
#AuthType Oblix
#require valid-user
#</LocationMatch> 

This entry causes the WebGate to intercept all requests and process them. Move this entry into the virtual host configuration where single sign-on is required, as shown below:

NameVirtualHost *:7777
 
<VirtualHost *:7777>
ServerName webhost1.example.com
<LocationMatch "/*">
AuthType Oblix
require valid-user
</LocationMatch>
</VirtualHost>
 
<VirtualHost *:7777>
ServerName https://wc.mycompany.com:443
<LocationMatch "/*">
AuthType Oblix
require valid-user
</LocationMatch>
</VirtualHost>
 
<VirtualHost *:7777>
ServerName admin.mycompany.com:80
<LocationMatch "/*">
AuthType Oblix
require valid-user
</LocationMatch>
</VirtualHost>
 
<VirtualHost *:7777>
ServerName wcinternal.mycompany.com:80
<LocationMatch "/*">
AuthType Oblix
require valid-user
</LocationMatch>
</VirtualHost>
 
<VirtualHost *:7777>
ServerName webhost1-pagelet.example.com
<Location  />
SetHandler weblogic-handler
WLExcludePathOrMimeType /oamsso
WebLogicCluster wchost1:9001,wchost2:9001
AuthType Oblix
require valid-user
</Location>
</VirtualHost>

Restart Oracle HTTP Server.

Also be sure to update the DNS with entries for webhost1-pagelet.example.com.

10.3 Oracle Access Manager 11g Integration

This section describes how to set up Oracle Access Manager 11g as the single sign-on solution for the Oracle WebCenter Enterprise Deployment topology.

This section contains the following sections:

10.3.1 Overview of Oracle Access Manager Integration

Oracle Access Manager (OAM) is the recommended single sign-on solution for Oracle Fusion Middleware 11g Release 1. For more information on installing and configuring an OAM installation, see Oracle Fusion Middleware Enterprise Deployment Guide for Oracle Identity Management. This chapter explains the procedure for configuring the WebCenter installation with an existing OAM installation and the underlying directory service. Oracle recommends using either Oracle Internet Directory (OID), Oracle Virtual Directory (OVD), or both of these directory services.

Note:

The WebCenter topology described in this guide uses a Single Sign-On configuration where both the WebCenter System and the Single Sign-On System are in the same network domain (mycompany.com). For a multi-domain configuration, please refer to the required configuration steps in "Chapter 7, Configuring Single Sign-On," of the Oracle Access Manager Access Administration Guide.

10.3.2 Prerequisites for Oracle Access Manager

The setup for Oracle Access Manager (OAM) assumes an existing OAM installation complete with Access Managers and a policy protecting the Policy Manager. For more information on installing and configuring an OAM installation, see Oracle Fusion Middleware Enterprise Deployment Guide for Oracle Identity Management.

10.3.3 Install WebGate

You must install a WebGate on each of the WEBHOST machines where an HTTP Server has already been installed. Section 10.3.3 and Section 10.3.4 should be repeated for each WEBHOST in the deployment environment.

10.3.3.1 Installing GCC Libraries

Before using the WebGate installer, the libgcc_s and libstdc++ libraries must exist in a common directory. This directory is specified during the installation process. Create a directory on your disk and copy the libraries according to Table 10-1.

Table 10-1 Versions of GCC Third-Party Libraries for Linux and Solaris

Operating System Architecture GCC Libraries Required Library Version

Linux 32-bit

x86

libgcc_s.so.1

libstdc++.so.5

3.3.2

Linux 64-bit

x64

libgcc_s.so.1

libstdc++.so.6

3.4.6

Solaris 64-bit

SPARC

libgcc_s.so.1

libstdc++.so.5

3.3.2


These libraries should reside on the disk, if they do not reside on the dick, see the administration guide for your operating system distribution for the location of these libraries.

10.3.3.2 Installing WebGate

This section describes the procedures for installing WebGate.

Launching the Installer

The Installer program for Oracle HTTP Server 11g Webgate for Oracle Access Manager is included in the webgate.zip file.

To start the installation wizard:

  1. Extract the contents of the webgate.zip file to a directory. By default, this directory is named webgate.

  2. Move to the Disk1 directory under the webgate folder.

  3. Start the installer using the following command:

    $ ./runInstaller -jreLoc <WebTier_Home>/jdk
    

    Note:

    When you install Oracle HTTP Server, the jdk directory is created under the WebTier_Home directory. You must enter the absolute path of the JRE folder located in this JDK when launching the installer.

    After the installer starts, the Welcome screen appears.

Installation Flow and Procedure

If you need additional help with any of the installation screens, click Help to access the online help.

To install Oracle HTTP Server 11g Webgate for Oracle Access Manager:

  1. In the Welcome screen, click Next.

  2. In the Prerequisite Checks screen, click Next.

  3. In the Specify Installation Location screen, specify the Middleware Home and Oracle Home locations.

    Note:

    The Middleware Home contains an Oracle Home for Oracle Web Tier.

    Click Next.

  4. In the Specify GCC Library screen, specify the directory that contains the GCC libraries, and click Next.

  5. In the Installation Summary screen, verify the information on this screen and click Install to begin the installation.

  6. In the Installation Progress screen, you may be prompted to run the ORACLE_HOME/oracleRoot.sh script to set up the proper file and directory permissions.

    Click Next to continue.

  7. In the Installation Complete screen, click Finish to exit the installer.

10.3.3.3 Post-Installation Steps

Complete the following procedure after installing Oracle HTTP Server 11g Webgate for Oracle Access Manager:

  1. Move to the following directory under your Oracle Home for Webgate:

    $ cd Webgate_Home/webgate/ohs/tools/deployWebGate
    
  2. On the command line, run the following command to copy the required bits of agent from the Webgate_Home directory to the Webgate Instance location:

    $ ./deployWebgateInstance.sh -w Webgate_Instance_Directory -oh Webgate_Oracle_Home
    

    Where Webgate_Oracle_Home is the directory where you have installed Oracle HTTP Server Webgate and created as the Oracle Home for Webgate, as in the following example:

    MW_HOME/Oracle_OAMWebGate1
    

    The Webgate_Instance_Directory is the location of Webgate Instance Home, which is same as the Instance Home of Oracle HTTP Server, as in the following example:

    MW_HOME/Oracle_WT1/instances/instance1/config/OHS/ohs1
    

    Note:

    an Instance Home for Oracle HTTP Server is created after you configure Oracle HTTP Server.
  3. Run the following command to ensure that the LD_LIBRARY_PATH variable contains Oracle_Home_for_Oracle_HTTP_Server/lib:

    $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:Oracle_Home_for_Oracle_HTTP_Server/lib
    
  4. From your present working directory, move up one directory level:

    $ cd Webgate_Home/webgate/ohs/tools/setup/InstallTools
    
  5. On the command line, run the following command to copy the apache_webgate.template from the Webgate_Home directory to the Webgate Instance location (renamed to webgate.conf) and update the httpd.conf file to add one line to include the name of webgate.conf:

    $ ./EditHttpConf -w Webgate_Instance_Directory [-oh Webgate_Oracle_Home] [-o output_file]
    

    Note:

    The -oh WebGate_Oracle_Home and -o output_file parameters are optional.

    Where WebGate_Oracle_Home is the directory where you have installed Oracle HTTP Server Webgate for Oracle Access Manager and created as the Oracle Home for Webgate, as in the following example:

    MW_HOME/Oracle_OAMWebGate1
    

    The Webgate_Instance_Directory is the location of Webgate Instance Home, which is same as the Instance Home of Oracle HTTP Server, as in the following example:

    MW_HOME/Oracle_WT1/instances/instance1/config/OHS/ohs1
    

    The output_file is the name of the temporary output file used by the tool, as in the following example:

    Edithttpconf.log

10.3.4 Register the WebGate Agent

This section describes the procedures for registering the WebGate Agent.

10.3.4.1 The RREG Tool

The RREG tool is part of the OAM 11g installation. If it is not already available, extract it using the following procedure:

  1. After installing and configuring Oracle Access Manager, navigate to the following location:

    IDM_Home/oam/server/rreg/client
    
  2. On the command line, untar the RREG.tar.gz file using gunzip, as in the following example:

    gunzip RREG.tar.gz
     
    tar -xvf RREG.tar
    

The tool used to register the agent is located in the following location:

RREG_Home/bin/oamreg.sh

RREG_Home is the directory to which you extracted the contents of RREG.tar.gz/rreg.

10.3.4.2 Updating the OAM11gRequest file

In the RREG_Home/input directory there are template files named OAM11gRequest.xml. This file should be copied and edited in order to create the policies for the WebCenter installation. After editing, the file should look as follows:

Note:

Replace $$webtierhost$$, $$oamadminserverport$$, and $$oamhost$$ with the hostnames in your installation.
<?xml version="1.0" encoding="UTF-8"?>
 
<!-- Copyright (c) 2009, 2010, Oracle and/or its affiliates. All rights reserved.
 
   NAME: OAM11GRequest_short.xml - Template for OAM 11G Agent Registration request file
         (Shorter version - Only mandatory values - Default values will be used for all other fields)
   DESCRIPTION: Modify with specific values and pass file as input to the tool.
 
-->
<OAM11GRegRequest>
    <serverAddress>http://$$oamhost$$:$$oamadminserverport$$</serverAddress>
    <hostIdentifier>$$webtierhost$$_webcenter</hostIdentifier>
    <agentName>$$webtierhost$$_webcenter</agentName>
    <applicationDomain>$$webtierhost$$_webcenter</applicationDomain>
    <logOutUrls>
        <url></url>
    </logOutUrls>
    <protectedResourcesList>
        <resource>/em</resource>
        <resource>/console</resource>
        <resource>/webcenter/adfAuthentication</resource>
        <resource>/webcenter/content</resource>
        <resource>/webcenter/content/.../*</resource>
        <resource>/integration/worklistapp</resource>
        <resource>/integration/worklistapp/.../*</resource>
        <resource>/workflow/sdpmessagingsca-ui-worklist/faces/adf.task-flow</resource>
        <resource>/workflow/WebCenterWorklistDetail/faces/adf.task-flow</resource>
        <resource>/workflow/sdpmessagingsca-ui-worklist</resource>
        <resource>/workflow/sdpmessagingsca-ui-worklist/.../*</resource>
        <resource>/sdpmessaging/userprefs-ui</resource>
        <resource>/sdpmessaging/userprefs-ui/.../*</resource>
        <resource>/rss/rssservlet</resource>
        <resource>/owc_discussions/login!withRedirect.jspa</resource>
        <resource>/owc_discussions/login!default.jspa</resource>
        <resource>/owc_discussions/login.jspa</resource>
        <resource>/owc_discussions/admin</resource>
        <resource>/owc_discussions/admin/.../*</resource>
        <resource>/rest/api/resourceIndex</resource>
        <resource>/rest/api/spaces</resource>
        <resource>/rest/api/spaces/.../*</resource>
        <resource>/rest/api/discussions</resource>
        <resource>/rest/api/discussions/.../*</resource>
        <resource>/rest/api/tags</resource>
        <resource>/rest/api/tags/.../*</resource>
        <resource>/rest/api/taggeditems</resource>
        <resource>/rest/api/taggeditems/.../*</resource>
        <resource>/rest/api/activities</resource>
        <resource>/rest/api/activities/.../*</resource>
        <resource>/rest/api/activitygraph</resource>
        <resource>/rest/api/activitygraph/.../*</resource>
        <resource>/rest/api/feedback</resource>
        <resource>/rest/api/feedback/.../*</resource>
        <resource>/rest/api/people</resource>
        <resource>/rest/api/people/.../*</resource>
        <resource>/rest/api/messageBoards</resource>
        <resource>/rest/api/messageBoards/.../*</resource>
        <resource>/rest/api/searchresults</resource>
        <resource>/rest/api/searchresults/.../*</resource>
        <resource>/activitygraph-engines</resource>
        <resource>/activitygraph-engines/.../*</resource>
        <resource>/wcps/api</resource>
        <resource>/wcps/api/.../*</resource>
        <resource>/adfAuthentication</resource>
        <resource>/pageletadmin</resource>
        <resource>/pageletadmin/.../*</resource>
        <resource>/authenticateWithApplicationServer</resource>
        <resource>/em</resource>
        <resource>/em/…/*</resource>
        <resource>/console</resource>
        <resource>/console/…/*</resource>
        <resource>/soa/composer</resource>
        <resource>/soa/composer/…/*</resource>
        <resource>/soa-infra</resource>
        <resource>/soa-infra/deployer</resource>
        <resource>/soa-infra/deployer/…/*</resource>
        <resource>/soa-infra/events/edn-db-log</resource>
        <resource>/soa-infra/events/edn-db-log/…/*</resource>
        <resource>/soa-infra/cluster/info</resource>
        <resource>/soa-infra/cluster/info/…/*</resource>
        <resource>/inspection.wsil</resource>
        <resource>/cs/idcplg</resource>
        <resource>/cs/idcplg/…/*</resource>
        <resource>/cs/groups</resource>
        <resource>/cs/groups/…/*</resource>
    </protectedResourcesList>
    <publicResourcesList>
        <resource>/webcenter</resource>
        <resource>/webcenter/…/*</resource>
        <resource>/owc_discussions</resource>
        <resource>/owc_discussions/…/*</resource>
        <resource>/rss</resource>
        <resource>/rss/…/*</resource>
        <resource>/workflow</resource>
        <resource>/workflow/…/*</resource>
        <resource>/rest/api/cmis/…/*</resource>
        <resource>/cs</resource>
        <resource>/cs/…/*</resource>
        <resource>/soa-infra/services/…/*</resource>
        <resource>/soa-infra/directWSDL</resource>
        <resource>/integration/services</resource>
        <resource>/integration/services/…/*</resource>

    </publicResourcesList>
    <userDefinedParameters>
        <userDefinedParam>
            <name>ipValidationExceptions</name>
            <value>10.1.1.1</value>
        </userDefinedParam>
    </userDefinedParameters>
</OAM11GRegRequest>

10.3.4.3 Running the oamreg Tool

Run the oamreg tool using the following command:

$ ./RREG_Home/bin/oamreg.sh inband input/OAM11GRequest.xml

When prompted for the agent credentials, enter your OAM administrator credentials.

The run should look as follows:

------------------------------------------------
Welcome to OAM Remote Registration Tool!
Parameters passed to the registration tool are:
Mode: inband
Filename: /scratch/aime1/install/MW_HOME/Oracle_IDM1/oam/server/rreg/input/WebCenterOAM11gRequest.xml
Enter your agent username:weblogic
Username: weblogic
Enter agent password:          
Do you want to enter a Webgate password?(y/n):
y
Enter webgate password:          
Enter webgate password again:          
Password accepted. Proceeding to register..
Aug 16, 2010 1:22:30 AM oracle.security.am.engines.rreg.client.handlers.request.OAM11GRequestHandler getWebgatePassword
INFO: Passwords matched and accepted.
Do you want to import an URIs file?(y/n):
n
----------------------------------------
Request summary:
OAM11G Agent Name:WEBHOST1_webcenter
URL String:WEBHOST1_webcenter
Registering in Mode:inband
Your registration request is being been sent to the Admin server at: http://oamserver.mycompany.com:7001
----------------------------------------
Inband registration process completed successfully! Output artifacts are created in the output folder.

10.3.4.4 Copy Access files to WEBHOSTs

The following two files are generated in RREG_Home/output/$$webtierhost$$_webcenter:

  • ObAccessClient.xml

  • cwallet.sso

Copy these files to the Webgate instance (Webgate_Instance_Home/config/OHS/ohsN/webgate/config/) location on the WEBHOST machine.

10.3.4.5 Set REST policies

Logon to the OAM Administration Console, and follow these steps:

  1. Select Application Domain, $$webtierhost$$_webcenter, and then Authentication Policies, and create a new policy underneath it named WebCenter REST Auth Policy. Choose Authentication scheme as BASICScheme.

  2. Select Application Domain, $$webtierhost$$_webcenter, and then Authentication Policies, and then Protected Resource Policy, and remove all entries starting with /rest.

  3. Go back to WebCenter REST Auth Policy created in step 1 and add all entries removed in step 2. See below for reference and click Apply.

The REST must follow the BASIC authentication scheme, so that external clients, such as outlook plugins and iphone applications can connect to WebCenter REST protected by SSO.

10.3.5 Setting Up the WebLogic Authenticators

This section assumes that you have already set up the LDAP authenticator by following the steps in Section 10.1.2.1, "Creating the LDAP Authenticator." If you have not already created the LDAP authenticator, do it before continuing with this section.

This section includes the following topics:

10.3.5.1 Back Up Configuration Files

To be safe, first back up the relevant configuration files:

ORACLE_BASE/admin/domain_name/aserver/domain_name/config/config.xml 
ORACLE_BASE/admin/domain_name/aserver/domain_name/config/fmwconfig/jps-config.xml
ORACLE_BASE/admin/domain_name/aserver/domain_name/config/fwmconfig/system-jazn-data.xml

In addition, back up the boot.properties file for the Administration Server.

10.3.5.2 Setting Up the OAM ID Asserter

To set up the OAM ID Asserter:

  1. Log into Weblogic Console, if not already logged in.

  2. Navigate to SecurityRealms\<Default Realm Name>\Providers.

  3. Click New and Select OAM Identity Asserter from the dropdown menu.

  4. Name the asserter (for example, OAM ID Asserter) and click Save.

  5. Click the newly added asserter to see the configuration screen for OAM Identity Asserter.

  6. Set the control flag to 'REQUIRED' .

  7. Select both the ObSSOCookie and OAM_REMOTE_USER options under active types.

  8. Save the settings.

Finally, log in as admin to WLST console and run the following command:

addOAMSSOProvider(loginuri="/${app.context}/adfAuthentication", logouturi="/oamsso/logout.html")

10.3.5.3 Setting the Order of Providers

Reorder the OAM Identity Asserter, OID Authenticator, and Default Authenticator by ensuring that the control flag for each authenticator is set as follows:

  • OAM Identity Asserter: REQUIRED

  • OID LDAP Authenticator (or OVD LDAP Authenticator): SUFFICIENT

  • Default Authenticator: SUFFICIENT

10.3.6 Understanding Virtual Host configuration

The WebCenter Suite includes applications that use "/" as the context root. To route these applications through Oracle HTTP Server without virtual hosts you can add the following entry to mod_wl_ohs.conf file:

<Location  />
      SetHandler weblogic-handler
      WebLogicHost webcenter.example.com
      WebLogicPort 8889
</Location>

However, this would affect all context roots not explicitly defined.

The term virtual host refers to the practice of running more than one Web site (such as www.company1.com and www.company2.com) on a single machine. Virtual hosts can be IP-based, where you have a different IP address for each Web site, or name-based, where you have multiple names running on each IP address.

You must configure virtual hosts both on the HTTP Server and on the load balancer. On the load balancer, configure an externally-facing URL, such as wcedg-pagelet.mycompany.com. This configuration routes to the virtual host configured on the HTTP Servers. For example:

  • wcedg.mycompany.com -> webhostn:7777

  • wcedg-pagelet.mycompany.com -> webhostn-pagelet:7777

The steps for configuring the virtual host on the HTTP Server are outlined in Section 10.3.7, "Configuring Virtual Hosts for OAM11g."

10.3.7 Configuring Virtual Hosts for OAM11g

To configure OAM 11g for virtual hosts, bypass single sign-on and the authentication end points for RSS and the SES crawler, as their use by external RSS readers and SES only support BASIC authorization. In addition, these integrations do not require single sign-on.

To configure virtual hosts for OAM 11g:

  1. Locate and comment out the following configuration in webgate.conf:

    #Comment out this and move to VirtualHost configuration
          #<LocationMatch "/*">
          #AuthType Oblix
          #require valid-user
          #</LocationMatch> 
    

    This entry causes the WebGate to intercept all requests and process them.

  2. Move this entry into the virtual host configuration where single sign-on is required. as shown in the example below:

    NameVirtualHost *:7777
     
    <VirtualHost *:7777>
            ServerName webhost1.example.com
    <LocationMatch "/*">
              AuthType Oblix
              require valid-user
    </LocationMatch>
    </VirtualHost>
     
    <VirtualHost *:7777>
    ServerName https://wc.mycompany.com:443
    <LocationMatch "/*">
    AuthType Oblix
    require valid-user
    </LocationMatch>
    </VirtualHost>
     
    <VirtualHost *:7777>
    ServerName admin.mycompany.com:80
    <LocationMatch "/*">
    AuthType Oblix
    require valid-user
    </LocationMatch>
    </VirtualHost>
     
    <VirtualHost *:7777>
    ServerName wcinternal.mycompany.com:80
    <LocationMatch "/*">
    AuthType Oblix
    require valid-user
    </LocationMatch>
    </VirtualHost>
     
    <VirtualHost *:7777>
            ServerName webhost1-pagelet.example.com
    <Location  />
                SetHandler weblogic-handler
                WLExcludePathOrMimeType /oamsso
                WebLogicCluster wchost1:9001,wchost2:9001
                AuthType Oblix
                require valid-user
    </Location>
    </VirtualHost>
    
  3. Restart Oracle HTTP Server. Also be sure to update the DNS with entries for webhost1-pagelet.example.com

10.4 Configuring WebCenter Applications

This section covers the following topics:

10.4.1 Configuring System Properties

There is a system property that tells WebCenter and ADF that the application is configured in SSO mode and some special handling is required. The following system property is required in this mode:

Table 10-2 System Property

Property Value Comment

oracle.webcenter.spaces.osso

true

This flag tells WebCenter that SSO is being used, so no login form should be displayed on the default landing page. Instead, it will render a login link that the user can click to invoke the SSO authentication.


To set this property for WCHOST1 and WCHOST2, edit the setDomainEnv.sh script which is located in your <managedserver_domain_home>/bin directory. Add the property to the EXTRA_JAVA_PROPERTIES variable, as follows:

EXTRA_JAVA_PROPERTIES="-Dweblogic.security.SSL.ignoreHostnameVerification=true -Doracle.mds.bypassCustRestrict=true -Djps.update.subject.dynamic=true -Doracle.webcenter.spaces.osso=true -noverify ${EXTRA_JAVA_PROPERTIES}"
 

10.4.2 Configuring the WebCenter Administrator Role

After Oracle Internet Directory or Oracle Virtual Directory is configured as primary authenticator in WebCenter, the "weblogic" user should not be used as the WebCenter administrator. Create a user in Oracle Internet Directory and make that user the WebCenter administrator, either using WLST or Enterprise Manager:

10.4.2.1 Granting the WebCenter Spaces Administrator Role Using WLST

To grant the WebCenter Administrator role using WLST:

  1. Start WLST.

  2. Connect to the WebCenter Spaces Administration Server for the target domain with the following command:

    connect('<user_name>','<password>, '<host_id:port>')
    

    Where:

    • <user_name> is the name of the user account with which to access the Administration Server (for example, weblogic)

    • <password> is the password with which to access the Administration Server

    • <host_id> is the host ID of the Administration Server

    • <port> is the port number of the Administration Server (for example, 7001).

  3. Create a user in the LDAP Store named WCAdmin.

    This user will be assigned the role.

  4. Grant the WebCenter Spaces administrator application role to the user in LDAP using the grantAppRole command as shown below:

    grantAppRole(appStripe="webcenter", appRoleName="s8bba98ff_4cbb_40b8_beee_296c916a23ed#-#Administrator",
    principalClass="weblogic.security.principal.WLSUserImpl", principalName="WCAdmin")
    

    where <WCAdmin> is the name of the administrator account.

    Note:

    Before grantAppRole is called, WCAdmin must exist in LDAP. For user creation details, see Section 10.1.2.2.1, "Provisioning Admin Users and Groups in an LDAP Directory."
  5. To test the new account, log in to WebCenter Spaces using the new account name.

    The Administration link should appear, and you should be able to perform all administrator operations.

10.4.2.2 Granting the WebCenter Spaces Administrator Role Using Enterprise Manager

This section describes how to grant the WebCenter Spaces administrator role to a user account other than the default "weblogic" account.

To grant the WebCenter Spaces Administrator role using Enterprise Manager:

  1. Log into Fusion Middleware Control and select the WebLogic domain for WebCenter Spaces.

  2. From the WebLogic Domain menu, select Security, and then Application Roles.

    The Application Roles page displays.

  3. Search for the Administration application role by selecting the Application name for WebCenter Spaces (WC_Spaces/webcenter), and providing the following internal identifier used by WebCenter Spaces as the Role Name:

    s8bba98ff_4cbb_40b8_beee_296c916a23ed#-#Administrator
    

    The search should return s8bba98ff_4cbb_40b8_beee_296c916a23ed#-#Administrator, which is the administrator role identifier.

  4. Click the administrator role name (s8bba98ff_4cbb_40b8_beee_296c916a23ed#-#Administrator) in the Role Name column.

    The Edit Application Role page displays.

  5. Click Add User.

    The Add User pop-up displays.

  6. Use the Search function to search for the user to assign the Administrator role to.

  7. Use the arrow keys to move the user from the Available Users column to the Selected Users column, and click OK.

  8. On the Edit Application Role page, click OK.

  9. Restart the WC_Spaces managed server.

    When you log in to WebCenter Spaces, the Administration link should appear and you should be able to perform all administrator operations.

10.4.3 Setting Up Discussions Server to Use OAM as SSO Provider

When associating the domain with a identity store that does not contain the group "Administrators", you must assign some other valid user or group the admin role for the discussions server. You can do this by issuing the following command in the wlst console:

cd ORACLE_HOME/common/bin/
 
./wlst.sh
 
connect('weblogic', 'weblogic', 'ADMINVHN:7001')
 
addDiscussionsServerAdmin(appName='owc_discussions', name='weblogic_wc', type='USER', server='wc_collaboration1')

or:

addDiscussionsServerAdmin(appName='owc_discussions', name='discussions-admin-group', type='GROUP', server='wc_collaboration1')

Where weblogic_wc is an example of the user you want to assign the administrator role for the discussions server.

To configure Oracle WebCenter Discussions Server for OAM single sign-on:

  1. Log in to the Oracle WebCenter Discussions Server Admin Console at:

    http://host:port/owc_discussions/admin

    Where host and port are the host ID and port number of the WC_Collaboration managed server.

  2. Open the System Properties page and edit, (if it already exists), or add the owc_discussions.sso.mode property, setting its value to true.

  3. Edit or add the jiveURL property to point to the base URL of the SSO server. For example:

    jiveURL = example.com:8890/owc_discussions
    

10.4.4 Configuring the Worklist Service for SSO

After completing the setup required for OAM SSO, run the following command on the WebCenter Administration server so that the Worklist service changes to take effect:

> setBPELConnection('webcenter','WebCenter-Worklist', 'https://wc.mycompany.com',server='wc_spaces1')

10.5 Configuring WebCenter and BPEL Authentication

This section covers the following topics:

10.5.1 Set Authenticator

Ensure that the SOA domain is using the same authenticators as the WebCenter domain and has been configured for OAM Authentication.

10.5.2 Set Role Members for BPMWorkflowAdmin Application Role in soa-infra

When associating the domain with a identity store that does not contain the user "weblogic", you must assign some other valid user into the application role BPMWorkflowAdmin. To assign the role to a valid user, the following may be done:

  1. Create a user in LDAP Store, in this case named WCAdmin, who will be assigned the role.

  2. Assign the role. This can be done using wlst from the SOA Oracle home:

    For example:

    cd ORACLE_HOME/common/bin/
    wlst.sh
    
    connect('weblogic','weblogic', 'SOAADMINHOST:7001')
    revokeAppRole(appStripe="soa-infra", appRoleName="BPMWorkflowAdmin", principalClass="oracle.security.jps.service.policystore.ApplicationRole", principalName="SOAAdmin")
    grantAppRole(appStripe="soa-infra", appRoleName="BPMWorkflowAdmin", principalClass="weblogic.security.principal.WLSUserImpl", principalName="WCAdmin")
    

10.5.3 Configure SOA Callback URLs

In order for Worklist to work properly when Oracle Access Manager is enabled, it is mandatory that the SOA Callback URLs are configured correctly. For information about callback URLs, see Section 5.17, "Setting the Frontend HTTP Host and Port."

The Callback Server URL should be set to http://wcinternal.mycompany.com for both the Callback Server URL and for the Server URL. To modify this URL using Fusion Middleware Control:

  1. Select Farm_wcedg_domain, SOA, soa-infra (wls_soa1), SOA, Infrastructure, SOA Administration, and then Common Properties.

  2. Enter http://wcinternal.mycompany.com.

  3. Restart the SOA severs.

10.6 Backing Up the Installation

After you have verified that the extended domain is working, back up the installation. This is a quick backup for the express purpose of immediate restore in case of problems in the further steps. The backup destination is the local disk. This backup can be discarded once the enterprise deployment setup is complete. At this point, the regular deployment-specific backup and recovery process can be initiated. The Oracle Fusion Middleware Administrator's Guide provides further details. For information on describing the Oracle HTTP Server data that must be backed up and restored, refer to the "Backup and Recovery Recommendations for Oracle HTTP Server" section in this guide. For information on how to recover components, see "Recovery of Components" and "Recovery After Loss of Component" sections in the guide. For recommendations specific to recovering from the loss of a host, see the "Recovering Oracle HTTP Server to a Different Host" in the guide. Also refer to the Oracle Database Backup and Recovery User's Guide for information on database backup.

To back up the installation a this point, complete these steps:

  1. Back up the web tier:

    1. Shut down the instance using opmnctl.

      ORACLE_BASE/admin/instance_name/bin/opmnctl stopall
      
    2. Back up the Middleware Home on the web tier using the following command (as root):

      tar -cvpf BACKUP_LOCATION/web.tar $MW_HOME
      
    3. Back up the Instance Home on the web tier using the following command (as root):

      tar -cvpf BACKUP_LOCATION/web_instance.tar $ORACLE_INSTANCE
      
    4. Start the instance using opmnctl:

      ORACLE_BASE/admin/instance_name/bin/opmnctl startall
      
  2. Back up the AdminServer domain directory. Perform a backup to save your domain configuration. The configuration files all exist under the ORACLE_BASE/ admin/<domain_name> directory.

    SOAHOST1> tar -cvpf edgdomainback.tar ORACLE_BASE/admin/domain_name