10 Setting Up Unified Inventory Management for Single Sign-On Authentication

This chapter provides instructions for setting up Oracle Communications Unified Inventory Management (UIM) for single sign-on (SSO) authentication.

UIM implements the single sign-on (SSO) authentication solution using Oracle Access Manager, which enables you to seamlessly access multiple applications without being prompted to authenticate for each application separately. The main advantage of SSO is that you are authenticated only once, which is when you log in to the first application; you are not required to authenticate again when you subsequently access different applications with the same (or lower) authentication level (as the first application) within the same web browser session.

UIM also supports the single logout (SLO) feature. If you access multiple applications using SSO within the same web browser session, and then if you log out of any one of the applications, you are logged out of all the applications.

This solution supports SSO authentication between UIM and Network Integrity applications.

For more information, see Oracle Fusion Middleware Administrator's Guide for Oracle Access Management.

Installing Required Software

Install and configure the following software that UIM requires for implementing SSO authentication:

  • External Lightweight Directory Access Protocol (LDAP) Server. Oracle recommends Oracle Internet Directory (OID) or Oracle Unified Directory (OUD) as the LDAP store external to the WebLogic server.

  • Oracle Access Manager (OAM), included with Oracle Identity and Access Management 12c (12.2.1.2.0)

  • Oracle WebLogic Server 12c (12.2.1.2.0)

  • Oracle HTTP Server (OHS) 12c (12.2.1.2.0)

  • Oracle HTTP Server 12c WebGate for OAM

  • Oracle WebLogic Server 12c (12.2.1.2.0)

To install the required software, do the following:

  1. Install WebLogic Server 12c and create the Oracle Middleware Home directory (MW_Home). This is the directory in which the Oracle Fusion Middleware products are installed.

    For more information, see Oracle Fusion Middleware Installation Guide for Oracle WebLogic Server 12c.

  2. Install Oracle Access Manager (OAM) in the same Oracle Middleware Home directory that you created when you installed Oracle WebLogic Server 11g.

    For more information, see Oracle Fusion Middleware Installation Guide for Oracle Identity and Access Management.

  3. Install and configure Oracle HTTP Server, which is a Web server that acts as the front end to the Oracle WebLogic Server.

    For more information, Oracle Fusion Middleware Installing and Configuring Oracle HTTP Server.

  4. Install and configure Oracle HTTP Server WebGate for OAM.

    A WebGate is a web-server plug-in for Oracle Access Manager (OAM) that intercepts HTTP requests and forwards them to the Access Server for authentication and authorization. For more information, see Oracle Fusion Middleware Installing WebGates for Oracle Access Manager.

  5. Install an external LDAP server. For example, Oracle Internet Directory (OID). Oracle recommends Oracle Internet Directory as an external LDAP store.

    For information on installing and configuring Oracle Internet Directory, see Oracle Fusion Middleware Installation Guide for Oracle Identity Management.

  6. Configure the external LDAP as the user identity store in OAM.

    For more information, see Oracle Fusion Middleware Administrator's Guide for Oracle Access Management.

  7. Register the Oracle HTTP Server WebGate instance with OAM by using the Oracle Access Manager Administration Console.

    For more information, see the chapter on ”Registering Partners (Agents and Applications) by Using the Console” in Oracle Fusion Middleware Administrator's Guide for Oracle Access Manager with Oracle Security Token Service.

  8. Install Oracle WebLogic Server 12c. For more information, see "Installing and Configuring Oracle WebLogic Server".

  9. Continue with the steps in "Configuring UIM to Enable SSO Authentication".

Configuring UIM to Enable SSO Authentication

Configuring UIM to enable SSO authentication involves the following tasks:

Prerequisites

Before configuring UIM for SSO, ensure that the server on which UIM is installed can connect to the server on which OID is installed.

To enable the UIM server to connect to the OID server, edit the UIM server's hosts file and add the host name and IP address of the OID server. On Windows, the hosts file is typically located at C:\Windows\System32\drivers\etc\. On Unix and Solaris, the hosts file is located at /etc/hosts.

Installing and Deploying UIM Specifying the External LDAP Provider

Install and deploy UIM specifying the external LDAP provider. When installing UIM, in the Security Provider Selection screen, select the External_LDAP option, and then enter the required information in the External Security Provider Connection Information screen. Follow the instructions provided in "Installing UIM by Using Interactive Install".

Configuring the Frontend URL in Administration Console

Set the front-end host and port so that all requests to access the applications (UIM/Network Integrity) deployed in the WebLogic administration server go through the Oracle HTTP server:

To configure the Frontend URL:

  1. Log in to the WebLogic Server Administration Console.

  2. In the Domain Structure tree, expand Environment, and click Servers.

    The Summary of Servers screen appears.

  3. Click AdminServer.

    The Setting for AdminServer screen appears.

  4. Click the Protocols tab.

  5. On the HTTP tab, do the following:

  6. In the Frontend Host field, enter the name of the Oracle HTTP Server host machine.

    WebLogic Server uses this value instead of the one in the host header. All HTTP URLs are redirected to this HTTP host.

  7. In the Frontend HTTP Port field, enter the Oracle HTTP Server port number.

    All HTTP URLs are redirected to this HTTP port.

  8. Click Save.

  9. In the Change Center of the Administration Console, click Activate Changes, which activates these changes.

Creating and Configuring Providers for OAM SSO

You must create a new OAMIdentityAsserter provider for OAM SSO in WebLogic Server Administration Console.

To create the OAMIdentityAsserter provider:

  1. Log in to the WebLogic Server Administration Console.

  2. Under Your Application's Security Settings, click Security Realms.

    The Summary of Security Realms screen appears.

  3. Select the realm YourRealmName, for which you need to configure the OAM identity asserter.

    The Settings For YourRealmName screen appears.

  4. Click the Providers tab, and then click the Authentication tab.

  5. Click New.

    The Create a New Authentication Provider screen appears.

  6. In the Name field, enter a name for the new provider; for example, OAM ID Asserter.

  7. From the Type list, select OAMIdentityAsserter.

  8. Click OK.

    The Settings For YourRealmName screen appears, showing the newly created authentication name in the Authentication tab.

  9. Click the link for AuthenticatorName (For example, OAM ID Asserter).

    The Settings for AuthenticatorName screen appears.

  10. On the Common tab, from the Control Flag list, select REQUIRED.

  11. Under Active Types, use the directional arrow buttons to move OAM_REMOTE_USER from the Available column to the Chosen column.

  12. (Optional) If you use Oracle Internet Directory as the external LDAP store, ensure that you move OAM_IDENTITY_ASSERTION to the Chosen column.

  13. Click Save.

  14. Click the Providers tab, and then click the Authentication tab.

  15. Click the link for DefaultAuthenticator and ensure that the default authenticator's control flag is set to SUFFICIENT.

  16. Click the link for OID/OUD Authenticator (for example, OracleInternetDirectoryAuthenticator) and ensure that the OID/OUD authenticator's control flag is set to SUFFICIENT.

    See "Installing and Configuring an Authentication Provider" for more information.

  17. On the Authentication tab, click Reorder.

    The Reorder Authentication Providers screen appears

  18. Use the Up and Down arrows to reorder the listed Authentication Providers as follows:

    • OAMIdentityAsserter (REQUIRED)

    • OracleInternetDirectoryAuthenticator (SUFFICIENT)

    • DefaultAuthenticator (SUFFICIENT)

  19. Click OK.

Configuring web.xml for the OAM Identity Asserter

You configure the web.xml file for the OAM Identity Asserter by updating the deployment plan. You use deployment plans to change an application's WebLogic Server configuration for a specific environment without modifying existing deployment descriptors.

To configure the web.xml file:

  1. For using Oracle Access Manager Identity Asserter, you must specify the authentication method as CLIENT-CERT in the web.xml file for the appropriate realm by editing the deployment plan. The web.xml file is located at UIM_Home/app/inventory.ear/inv.war/WEB-INF/, where UIM_Home is the directory in which the UIM software is installed.

    • Depending on your deployment configuration, do one of the following:

      • If UIM is installed in a single server environment, navigate to and open the UIM_Home/app/plan/Plan.xml file.

      • If UIM is installed in a clustered server environment, navigate to and open the UIM_Home/app/plan/ClusterPlan.xml file.

    • Update the variable-definition and variable-assignment elements; specifically, add CLIENT-CERT as follows:

      <variable-definition>
       <variable>
           <name>ClientCertAuthMethod</name> 
           <value>CLIENT-CERT</value> 
       </variable>
       <variable>
           <name>RealmName</name>  
           <value>myrealm</value>  
       </variable>
      </variable-definition>
      <module-override>
          <module-name>inv.war</module-name>
          <module-type>war</module-type> <module-descriptor external="false">
            <root-element>web-app</root-element>
            <uri>WEB-INF/web.xml</uri>
       <variable-assignment>
           <name>ClientCertAuthMethod</name>
           <xpath>/web-app/login-config/auth-method</xpath>
           <operation>replace</operation>
       </variable-assignment>
       <variable-assignment>
           <name>RealmName</name>
           <xpath>/web-app/login-config/realm-name</xpath>
           <operation>add</operation>
        </variable-assignment>
          </module-descriptor>
      </module-override> 
      
    • Save and close the Plan.xml/ClusterPlan.xml file.

  2. Update the deployment plan for the currently-deployed UIM application:

    1. Log in to the WebLogic Server Administration Console.

    2. In the Domain Structure tree, expand Environment, and click Deployments.

      The Summary of Deployments screen appears.

    3. Select the check box for oracle.communications.inventory.

    4. Click Update.

      The Update Application Assistant page appears.

    5. Select Update this application in place with new deployment plan changes and click Next.

    6. (Optional) Click Change Path beside the Deployment Plan Path filed and browse to the location of the Plan.xml/ClusterPlan.xml file.

      The Summary page appears.

    7. Click Finish.

    8. In the Change Center of the Administration Console, click Activate Changes, which activates these changes.

Configuring the mod_wl_ohs Plug-In for Oracle HTTP Server

You must configure the mod_wl_ohs plug-in and edit the mod_wl_ohs.conf file to enable the Oracle HTTP Server instances to forward requests to the applications deployed on the Oracle WebLogic server or clusters.

For more information, see Oracle Fusion Middleware Using Web Server Plug-Ins with Oracle WebLogic Server.

Configuring the mod_wl_ohs plug-in involves the following tasks:

Configuring the WebLogic Proxy Plug-In

To configure the WebLogic Proxy Plug-in

  1. Log in to the Oracle WebLogic Server administration console.

  2. In the Domain Structure tree, expand Environment, and do one of the following:

    • Select Clusters (if the server instances to which you want to proxy requests from Oracle HTTP Server are in a cluster)

    • Select Servers.

      The Summary of Servers page appears.

  3. Select the server or cluster to which you want to proxy requests from Oracle HTTP Server.

  4. Click the Configuration tab.

  5. On the General tab, in the Advanced section, select the WebLogic Plug-In Enabled check box.

  6. If you selected Servers in step 2, repeat steps 3 and 4 for the other servers to which you want to proxy requests from Oracle HTTP Servers.

  7. Click Save.

  8. Restart the WebLogic server.

Editing the mod_wl_ohs.conf File

To edit the mod_wl_ohs.conf file:

  1. Open the mod_wl_ohs.conf file from the following location:

    Domain_Home/config/fmwconfig/components/OHS/ohs1/

    where:

    Domain_Home is the directory containing the configuration for the domain into which UIM is installed.

  2. Add directives within the <IfModule weblogic_module> element in the configuration file as follows:

    • To forward requests to the UIM application running on a single Oracle WebLogic Server instance, specify /Inventory within the <location> element as follows:

      <IfModule weblogic_module>
      <Location /Inventory>
      SetHandler weblogic-handler
      WebLogicHost host
      WebLogicPort port
      </Location>
      </IfModule>
      

      where:

      • host is the name of the WebLogic Administration server machine

      • port is the port of the server on which UIM is installed

    • To forward requests to the UIM application running on a cluster of Oracle WebLogic Server instances, specify /Inventory within a new <location> element as follows:

      <IfModule weblogic_module>
      <Location /Inventory>
      SetHandler weblogic-handler
      WebLogicCluster host1:port1,host2:port2
      </Location>
      </IfModule>
      

      where:

      • host1 and host 2 are host names of the managed servers

      • port1 and port2 are ports of the managed servers

    • To forward requests to the UIM Web services running on a single Oracle WebLogic Server instance, specify /InventoryWS within the <location> element as follows:

      <IfModule weblogic_module>
      <Location /InventoryWS>
      SetHandler weblogic-handler
      WebLogicHost host
      WebLogicPort port
      </Location>
      </IfModule>
      

      where:

      • host is the name of the WebLogic Administration server machine

      • port is the port of the server on which UIM is installed

    • To forward requests to the UIM Web services running on a cluster of Oracle WebLogic Server instances, specify /InventoryWS within a new <location> element as follows:

      <IfModule weblogic_module>
      <Location /InventoryWS>
      SetHandler weblogic-handler
      WebLogicCluster host1:port1,host2:port2
      </Location>
      </IfModule>
      

      where:

      • host1 and host 2 are host names of the managed servers

      • port1 and port2 are ports of the managed servers

    • To forward requests to the UIM application running on a single Oracle WebLogic Server instance into which you want to deploy cartridges, specify /cartridge within the <location> element as follows:

      <IfModule weblogic_module>
      <Location /cartridge>
      SetHandler weblogic-handler
      WebLogicHost host
      WebLogicPort port
      </Location>
      </IfModule>
      

      where:

      • host is the name of the WebLogic Administration server machine

      • port is the port of the server on which UIM is installed

    • To forward requests to the UIM application running on a cluster of Oracle WebLogic Server instances into which you want to deploy cartridges, specify /cartridge within a new <location> element as follows:

      <IfModule weblogic_module>
      <Location /cartridge>
      SetHandler weblogic-handler
      WebLogicHost host
      WebLogicPort ms_port
      </Location>
      </IfModule>
      

      where:

      • host is the machine where the managed server is running

      • ms_port is the port of the managed server running on the host specified in the host variable above

      For example, if a managed server uim_ms1 with listen port 8065 is running on the machine UIM1, you must specify the following:

      <IfModule weblogic_module>
      <Location /cartridge>
      SetHandler weblogic-handler
      WebLogicHost UIM1
      WebLogicPort 8065
      </Location>
      </IfModule>
      

Protecting Resources For SSO Authentication

You must protect resources (for example, the UIM application) in Oracle Access Manager for SSO authentication. For more information, see Fusion Middleware Administrator's Guide for Oracle Access Management.

To protect resources for SSO authentication:

  1. Open the Oracle Access Management Console.

  2. On the Policy Configuration tab, expand the Application Domains node.

  3. Expand the node for the application domain.

  4. Within the application domain, expand the Resources node.

  5. Click the Resources tab, and then click the New Resource button in the upper-right corner of the Search page.

    The Resource Definition page appears.

  6. Do the following to configure the UIM application as a protected resource for SSO authentication:

    • From the Type list, select HTTP.

    • In the Resource URL field, enter /Inventory/*.

    • From the Protection Level list, select Protected.

  7. Click Apply.

Excluding Resources From SSO Authentication

You can exclude HTTP resources that do not require SSO authentication. For example, when accessing a Web Services Description Language (WSDL) document for Web services. The excluded resources are public and do not require an OAM Server check for authentication.

When allowing access to excluded resources, WebGate does not contact the OAM Server. Excluded resources cannot be added to any user-defined policy in the console. For more information, see Fusion Middleware Administrator's Guide for Oracle Access Management.

To exclude resources from SSO authentication:

  1. Open the Oracle Access Management Console.

  2. On the Policy Configuration tab, expand the Application Domains node.

  3. Expand the node for the application domain.

  4. Within the application domain, expand the Resources node.

  5. Click the Resources tab, and then click the New Resource button in the upper-right corner of the Search page.

    The Resource Definition page appears.

  6. Do the following to exclude UIM Web services from SSO authentication:

    • From the Type list, select HTTP.

    • In the Resource URL field, enter /InventoryWS/.../*.

    • From the Protection Level list, select Excluded.

  7. Click Apply.

  8. Click the New Resource button in the upper-right corner of the Search page.

    The Resource Definition page appears.

  9. Do the following to exclude the UIM cartridge deployment process from SSO authentication:

    • From the Type list, select HTTP.

    • In the Resource URL field, enter /cartridge/.../*.

    • From the Protection Level list, select Excluded.

  10. Click Apply.