2 Security Features

This chapter covers the following topics:

2.1 Configuring Authentication

Enterprise Manager authentication is the process of determining the validity of the user accessing Enterprise Manager. The authentication feature is available across the different interfaces such as Enterprise Manager console and Enterprise Manager Command Line Interface (EM CLI).

Enterprise Manager's authentication framework consists of pluggable authentication schemes that let you use the type of authentication protocol best suited to your environment.

Note:

Oracle Enterprise Manager 12c relies on the underlying WebLogic Server that is part of the OMS stack for external Authentication methods. For this reason, Enterprise Manager 12c can be authenticated using any authentication method that is supported by Oracle WebLogic Server.

2.1.1 Supported Authentication Schemes

Enterprise Manager supports the following authentication schemes:

  • Repository-Based Authentication:

    This scheme involves saving the administrator's username and password in the Enterprise Manager repository and performing validation against these saved values whenever a user logs on to the Enterprise Manager console. An Enterprise Manager user created is also a repository (database) user. By using this option, you can take advantage of all the benefits of Oracle database user management that this authentication method provides like password control via password profile, enforced password complexity, password life time, and number of failed attempts allowed. During the password grace period, the administrator is prompted to change the password but when the password has expired, it must be changed. For more details, refer to Section 2.1.2, "Creating a New Administrator".

  • Oracle Access Manager (OAM) Single Sign-On (SSO) Based Authentication: Oracle Access Manager is the Oracle Fusion Middleware single sign-on solution. The underlying identity stores will be the Enterprise Directory Identity Stores being supported by Oracle Access Manager. This authentication scheme is used for data centers that have standardized on Oracle Access Manager as the central tool for authentication across all enterprise applications. If you want to support protocols, such as Kerberos, for authentication, you would configure OAM for this. For more information about OAM, see Oracle® Fusion Middleware Administrator's Guide for Oracle Access Manager 12c Release 1 (11.1.1).

  • Single Sign-On (SSO) Based Authentication: The single sign-on based authentication provides strengthened and centralized user identity management across the enterprise. After you have configured Enterprise Manager to use the Oracle Application Server Single Sign-On, you can register any single sign-on user as an Enterprise Manager administrator. You can then enter your single sign-on credentials to access the Oracle Enterprise Manager console.

  • Enterprise User Security Based Authentication: The Enterprise User Security (EUS) option enables you to create and store enterprise users and roles for the Oracle database in an LDAP-compliant directory server. Once the Enterprise Manager repository is configured with EUS, you can configure Enterprise Manager to use EUS as its authentication mechanism as described in Section 2.1.4, "Enterprise User Security Based Authentication". You can register any EUS user as an Enterprise Manager administrator.

    In addition to using EUS to authenticate Enterprise Manager administrators, it can also be used to simplify management of database target credentials. EUS helps centralize the administration of users and roles across multiple databases. If the managed databases are configured with EUS, the process of logging into these databases is simplified. When you drill down to a managed database, Enterprise Manager will attempt to connect to the database using Enterprise Manager credentials. If successful, Enterprise Manager will directly connect you to the database without displaying a logon page.

  • LDAP Authentication Options: Oracle Internet Directory and Microsoft Active Directory

    • Oracle Internet Directory (OID) Based Authentication - Oracle Internet Directory is a LDAP v3 compliant directory built on the Oracle database and is fully integrated into Oracle Fusion Middleware and Oracle Applications. Thus, it is ideally suited for Oracle environments or enterprises with Oracle database expertise. When using an authentication scheme based on Oracle Internet Directory as the identity store, you can have your applications authenticate users against the OID.

    • Microsoft Active Directory Based Authentication - Microsoft Active Directory is a directory service that provides authentication and authorization functionality in a Windows network. When using a Microsoft Active Directory as an identity store, you can plug in this scheme to have your applications authenticate users against the Microsoft Active Directory.

    Note:

    Enterprise Manager will support external authentication as long as the specific authentication scheme is supported and integrated with the WebLogic Server.

These authentication schemes have been tested in house and some of the external authentication schemes mentioned below can be configured using the emctl config auth utility command, which configures the required WebLogic providers as well as set the required OMS properties.

Authenticating schemes where the emctl utility command configures the WebLogic authentication providers, the command sets the required configuration parameters and leaves most of the other parameters to the default values. Administrators should ensure the configuration parameters of the WebLogic providers are tuned for performance suited to their environment before going into production. This can be done through the WebLogic Administration Console.

For more information on tuning the providers, see Oracle® Fusion Middleware Securing Oracle WebLogic Server

2.1.2 Creating a New Administrator

Enterprise Manager allows you to create and manage new administrator accounts. Each administrator account includes its own logon credentials as well as a set of roles and privileges that are assigned to the account. You can also assign a password profile to the administrator. You will need to have Enterprise Manager Super Administrator privileges to create and manage new administrator accounts.

To create, edit, or view an administrator account:

  1. From the Setup menu, select Security, then select Administrators. The Administrators page is displayed.

  2. Click the appropriate task button on the Administrators page. The Authentication page is displayed:

    Figure 2-1 Authentication Page

    Create Administrators page

    Repository Based Authentication is selected as the default authentication method.

2.1.2.1 Repository Based Authentication

Repository Based Authentication is the default method of Enterprise Manager Authentication. With this authentication method, a new administrator is created in the repository. The following page displays allowing you to define the new administrator.

Figure 2-2 Create / Edit Administrator

Creating and Editing Administrators

Note:

Repository-based authentication is the default authentiction method.

On this page, you can specify the type of administrator account being created and select the password profile. The password cannot be changed by the administrator if the Prevent Password Change checkbox is selected.

If you select the Expire Password Now checkbox, the password for the new administrator account will be set to an expired state. If the password has expired, when the new administrator logs in, the following screen is displayed and he is prompted to change the password.

Figure 2-3 Password Expiry Page

Surrounding text describes Figure 2-3 .

The administrator should enter his current password and the new password and click Apply. He can now start using Enterprise Manager.

Creating a New User (Command Line)

The following examples make User1 an Enterprise Manager user, provide a description for the user, and prevent the password from being changed. Only another Super Administrator can change the password. The profile is set as MGMT_ADMIN_USER_PROFILE.

Example 2-1 Command Line

emcli create_user
      -name="User1"
      -desc="This is temp hire."
      -prevent_change_password="true"
      -profile="MGMT_ADMIN_USER_PROFILE"

Example 2-2 Scripting and Interactive

create_user
      (name="User1"
      ,desc="This is temp hire."
      ,prevent_change_password="true"
      ,profile="MGMT_ADMIN_USER_PROFILE")

2.1.2.2 Restoring to the Default Authentication Method

The following sections detail how to restore the default Enterprise Manager authentication methods.

2.1.2.2.1 Bypassing the Single Sign-On Logon Page

If the OMS is configured with SSO or OAM or some other authentication method, you may want to by-pass the Single Sign-On or OAM authentication under certain circumstances.To bypass the SSO logon page, connect to the following URL:

  1. Connect to https://ms_host:ms_https_port/em

    ms_host & ms_https_port are WLS-managed server's hostname & port#. These parameters can be found in the EM_INSTANCE_HOME/emgc.properties file. They are listed as EM_INSTANCE_HOST & MS_HTTPS_PORT in this file.

  2. Log in using a repository user's credentials.

2.1.2.2.2 Restoring the Default Authentication Method
  1. Run the following command on each OMS:

    emctl config auth repos [-sysman_pwd <pwd>]

    Sample command output:

    Oracle Enterprise Manager Cloud Control 12c Release 12.1.0.3.0
    Copyright (c) 1996, 2013 Oracle Corporation.  All rights reserved.
    Configuring Repos Authentication ... Started
    Configuring Repos Authentication ... Successful
    If you have updated files like httpd.conf (for example, while installing WebGate), rollback them.
    If this is a multi-OMS environment, execute this command on remaining servers.
    After that, restart OMS(s) using: 'emctl stop oms -all' and 'emctl start oms'
    
  2. Run the following commands on each OMS:

    emctl stop oms -all

    emctl start oms

If you have configured OAM SSO, you need to manually un-install Webgate and remove the Webgate directives from Apache httpd.conf.

If you have configured with OSSO, you need to manually remove the OSSO directives from httpd.conf.

2.1.3 Oracle Access Manager Single Sign-On Based Authentication

When using an Oracle Access Manager Single Sign-On (OAM SSO) authentication scheme, the underlying identity stores will consist of Enterprise Directory Identity Stores supported by Oracle Access Manager. This section provides instructions on how to configure OAM SSO-based authentication schemes.

Upon creation of a new user using External Authentication via OAM SSO, you will select the External User Identity Store radio button as shown in the following graphic.

Figure 2-4 Oracle Access Manager Single Sign-on

Create Admin Authorization OID

Prerequisites

Oracle Access Manager (OAM) is installed on a separate host. Webgate needs to be installed on each OMS host where Apache server is running. For Webgate installation, refer to http://docs.oracle.com/cd/E21764_01/install.1111/e12002/webgate.htm

Enterprise Manager comes with an OAM template called OAMRequest.xml.template, which needs to be used when registering the Enterprise Manager application with the OAM SSO server. You can find the template at the following location:

$MW_HOME/oms/sysman/config

You need to replace the server, host identifier and Agent information before using for registration. For instructions on how to register, see the Registering Partners (Agents and Applications) Remotely chapter of the Oracle Fusion Middleware Administrator's Guide for Oracle Access Manager with Oracle Security Token Service.

As part of the registration process, certain configuration files get generated, which need to be used while configuring Webgate on the OMS host. For more details, see the "Installing and Configuring Oracle HTTP Server 11g Webgate for OAM" chapter of the Oracle Fusion Middleware Installation Guide for Oracle Identity Management.

  1. Run the emctl config auth command on each OMS.

    emctl config auth oam [-sysman_pwd <pwd>] -oid_host <host> -oid_port <port>
            -oid_principal <principal> [-oid_credential <credential>] [-use_anonymous_bind]
            -user_base_dn <dn> -group_base_dn <dn>
            -oam_host <host< -oam_port <port> [-logout_url <url>] [-is_oam10g]
            [-user_dn <dn>] [-group_dn <dn>] [-enable_auto_provisioning] [-auto_provisioning_minimum_role <min_role>] [-minimum_privilege <min_priv>]
            [-use_ssl] [-cert_file <cert>] [-trust_cacerts] [-keystore_pwd <passwd>]
    

    Command options are as follows:

    • [-enable_auto_provisioning] if specified, turns on auto provisioning in Enterprise Manager, where external LDAP users do not have to be provisioned manually in Enterprise Manager

    • [-auto_provisioning_minimum_role <min_role>] if specified, auto provisions only those external users in Enterprise Manager who have the min_role granted to them in LDAP

    • [-minimum_privilege <min_priv>] if specified, prevents access to Enterprise Manager to users who do not have the min_priv granted to them.

    • [-use_ssl] use ssl to connect to LDAP server

    • [-cert_file <cert>] use the passed in LDAP server certificate to establish trust while connecting to LDAP server over ssl. Specify this option if the LDAP server has certificate signed by not well-known (or trusted) Certificate Authority. Note: This expects a single certificate. We do not support importing certificate chains. Please import using keytool utility before running this command.

    • [-trust_cacerts] trust the LDAP server's certificate while connecting to LDAP server. This is typically used if certificate is signed by well known CA

    • [-keystore_pwd <passwd>] the password for the default DemoTrust.jks keystore (if default password has changed) or any custom keystore to which the LDAP server's certificate will be imported as part of validation.

    • [-use_anonymous_bind] if specified, uses anonymous bind to connect to LDAP server

    Note: Pass the -is_oam10g option only if the OAM version is 10g.

  2. Stop each OMS.

    emctl stop oms -all

  3. Restart each OMS.

    emctl start oms

2.1.3.1 Removing Oracle Access Manager Single Sign-On

To remove SSO configuration, run emctl config auth repos command. This will remove the Weblogic providers that were configured with emctl config auth oam command and the OMS properties as well.

Note:

The administrator has to manually un-install Webgate and edit httpd.conf to remove the Webgate related entries.

2.1.3.2 Oracle Application Server Single Sign-On (SSO) Based Authentication

If you are currently using Oracle Application Server Single Sign-On (Oracle SSO) to control access and authorization for your enterprise applications, you can extend those capabilities to the Enterprise Manager console.

By default, Enterprise Manager displays the main logon page. However, you can configure Enterprise Manager so it uses Oracle Application Server Single Sign-On to authenticate your Enterprise Manager users. Instead of seeing the Enterprise Manager logon page, users will see the standard Oracle Application Server Single Sign-On logon page. From the logon page, administrators can use their Oracle Application Server Single Sign-On credentials to access the Oracle Enterprise Manager 12c Cloud Control console.

Note:

  • You can configure Enterprise Manager to use either Oracle Application Server Single Sign-On or Enterprise User Security features, but not both.

  • When Enterprise Manager is configured to use Single Sign-On with Server Load Balancer, make sure that the correct monitoring settings have been defined.

The following sections describe how to configure Enterprise Manager as an Oracle Application Server Single Sign-On Partner Application:

2.1.3.2.1 Registering Enterprise Manager as a Partner Application

To register Enterprise Manager as a partner application manually, follow these steps:

  1. Stop all OMSs by running emctl stop oms on each OMS.

  2. Enter the following URL to navigate to the SSO Administration page.

    https://sso_host:sso_port/pls/orasso
    
  3. Log in as orcladmin user and click on SSO Server Administration.

  4. Click Administer Partner Applications and then click Add Partner Application.

  5. Enter the following information on the Add Partner Application page.

    Name: <EMPartnerName>
    Home URL: protocol://em_host:em_port
    Success URL: protocol://em_host:em_port/osso_login_success 
    Logout URL: protocol://em_host:em_port/osso_logout_success
    Administrator Email: user@host.com
    

    Note1: host, port, and protocol refer to the Enterprise Manager host, port and the protocol (http or https) used.

    Note2: The em_host, em_port, email and Enterprise Manager Partner Name must be replaced with the appropriate values and not typed as shown in this example.

  6. Go back to the Administer Partner Applications page and click on the Edit icon for <EMPartnerName>.

    Record the values of ID, Token, Encryption Key, Login URL, Single Sign-Off URL, Home URL and write the following in a file osso.txt:

    sso_server_version= v1.2
    cipher_key=<value of EncryptionKey>
    site_id=<value of ID>
    site_token=<value of Token>
    login_url=<value of Login URL>
    logout_url=<value of Single Sign-Off URL>
    cancel_url=<value of Home URL>
    sso_timeout_cookie_name=SSO_ID_TIMEOUT
    sso_timeout_cookie_key=9E231B3C1A3A808A
    
  7. Set the ORACLE_HOME environment variable to WebTier Oracle Home location.

    setenv ORACLE_HOME /scratch/12c/MWHome/Oracle_WT

    Then, run the following:

    $ORACLE_HOME/ohs/bin/iasobf <location of osso.txt> <location of osso.conf>

  8. Run the following command on each OMS:

    emctl config auth sso -ossoconf <osso.conf file loc> -dasurl <DAS URL> [-unsecure] [-sysman_pwd <pwd>] [-domain <domain>]-ldap_host <ldap host> -ldap_port <ldap port> -ldap_principal <ldap principal> [-ldap_credential <ldap credential>] -user_base_dn <user base DN> -group_base_dn <group base DN> [-logout_url <sso logout url>]
    

    where ldap_host, ldap_port, ldap_principal and ldap_credential are the details of SSO's LDAP.

    The sample output for this command is shown below:

    Oracle Enterprise Manager Cloud Control 12c Release 12.1.0.3.0
    Copyright (c) 1996, 2013 Oracle Corporation.  All rights reserved.
    SSO Configuration done successfully. Please restart Admin & Managed Servers.
    
  9. Run the following commands on each OMS:

    emctl stop oms -all
    emctl start oms
    
2.1.3.2.2 Removing Single Sign-On Configuration

To remove the single sign-on configuration, perform the following:

  1. Run the following command on each OMS:

    emctl config auth repos [-sysman_pwd <pwd>]
    

    Sample command output:

    Oracle Enterprise Manager Cloud Control 12c Release 12.1.0.3.0
    Copyright (c) 1996, 2013 Oracle Corporation.  All rights reserved.
    Configuring Repos Authentication ... Started
    Configuring Repos Authentication ... Successful
    

    If you have updated files such as, for example, httpd.conf (when installing WebGate) or any other required files should be backed up prior in order to rolled back during this step.If you are using multi-OMS environment, you must execute emctl config auth repos on the remaining servers.

  2. Bounce all OMSs by issuing the following on each OMS:

    emctl stop oms -all
    emctl start oms
    
2.1.3.2.3 Registering Single Sign-On Users as Enterprise Manager Administrators

After you have configured Enterprise Manager to use the Single Sign-On logon page, you can register any Single Sign-On user as an Enterprise Manager administrator. You can register single sign-on users using:

  • Enterprise Manager Graphical User Interface

  • Enterprise Manager Command Line Interface

2.1.3.2.4 Registering Single Sign-On Users Using the Graphical User Interface

You can use the graphical user interface to register single sign-on users by following these steps:

  1. Go the Enterprise Manager Console URL.

    The browser is redirected to the standard Single Sign-On Log on page.

  2. Enter the credentials for a valid Single Sign-On user. Note: This step requires that an SSO user is already registered with Enterprise Manager.

    If no SSO user is yet registered as an Enterprise Manager user, you can create them using the following procedure:

    1. Log in to Enterprise Manager by connecting to Managed Server (MS) directly. For example, https://ms_host:ms_https_port/em.

    2. Log in as a Repository user.

    3. From the Setup menu, select Security then select Administrator.

    4. Create SSO users.

  3. Log in to Enterprise Manager as a Super Administrator.

  4. From the Setup menu, select Security, then select Administrators to display the Administrators page.

    Because Enterprise Manager has been configured to use Single Sign-On, the first page in the Create Administrator wizard now offers you the option of creating an administrator either as an External User or as Repository User.

  5. Select External User Identity Store and advance to the next page in the wizard.

  6. Enter the name and e-mail address of the External User Identity Store user, or click the flashlight icon to search for a user name in the Oracle Internet Directory.

  7. Use the rest of the wizard pages to define the roles, system privileges, and other characteristics of the Enterprise Manager administrator and then click Finish.

    Enterprise Manager displays a summary page that lists the characteristics of the administrator account.

  8. Click Finish to create the new Enterprise Manager administrator.

    The External User Identity Store user is now included in the list of Enterprise Manager administrators. You can now verify the account by logging out of the Cloud Control console and logging back in using the External User Identity Store user credentials on the Single Sign-On logon page.

2.1.3.2.5 Registering Single Sign-On Users Using EM CLI

You can use the following EM CLI command to create Single Sign-On users:

emcli create_user -name=ssouser -type=EXTERNAL_USER

This command creates a user with the name ssouser who is authenticated via Oracle single sign-on.

Argument Description
-name Name of the administrator.
-type The type of user. The default value for this parameter is EM_USER. The other possible values are:
  • EXTERNAL_USER: Used for single-sign-on based authentication.

  • DB_EXTERNAL_USER: Used for enterprise user based security authentication.

-password The password for the administrator.
-roles The list of roles that can be granted to this administrator.
-email The list of email addresses for this administrator.
-privilege The system privileges that can be granted to the administrator. This option can be specified more than once.
-profile The name of the database profile. This is an optional parameter. The default profile used is DEFAULT.
-desc The description of the user being added.
-expired This parameter is used to set the password to "expired" status. This is an optional parameter and is set to False by default.
-prevent_change_password When this parameter is set to True, the user cannot change the password. This is an optional parameter and is set to False by default.
-input_file This parameter allows the administrator to provide the values for any of these arguments in an input file. The format of value is name_of_argument:file_path_with_file_name.

Example 1

emcli create_user
         -name="new_admin"
         -email="first.last@oracle.com;joe.shmoe@shmoeshop.com"
         -roles="public"
         -privilege="view_job;923470234ABCDFE23018494753091111"
         -privilege="view_target;<host>.com:host" 

This example creates an Enterprise Manager administrator named new_admin. This administrator has two privileges: The ability to view the job with ID 923470234ABCDFE23018494753091111 and the ability to view the target <host>.com:host. The administrator new_admin is granted the PUBLIC role.

Example 2

   emcli create_user
         -name="User1"
         -type="EXTERNAL_USER"
         -input_file="privilege:/home/user1/priv_file"

         Contents of priv_file are:
           view_target;<host>.com:host

This example makes user1 which has been created externally as an Enterprise Manager user. user1 will have view privileges on <host>.com:host.

Example 3

   emcli create_user
         -name="User1"
         -desc="This is temp hire."
         -prevent_change_password="true"
         -profile="MGMT_ADMIN_USER_PROFILE"

This example sets user1 as an Enterprise Manager user with some description. The prevent_change_password is set to true to indicate that the password cannot be changed by user1 and the profile is set to MGMT_ADMIN_USER_PROFILE.

Example 4

   emcli create_user
         -name="User1"
         -desc="This is temp hire."
         -expire="true" 

This example sets user1 as an Enterprise Manager with some description. Since the password is set to expire immediately, when the user logs in for the first time, he is prompted to change the password.

2.1.3.2.6 Bypassing the Single Sign-On Logon Page

If the OMS is configured with SSO or OAM or some other authentication method, you may want to by-pass the Single Sign-On or OAM authentication under certain circumstances.To bypass the SSO logon page, connect to the following URL:

  1. Connect to https://ms_host:ms_https_port/em

    ms_host & ms_https_port are WLS-managed server's hostname & port#. These parameters can be found in the EM_INSTANCE_HOME/emgc.properties file. They are listed as EM_INSTANCE_HOST & MS_HTTPS_PORT in this file.

  2. Log in using a repository user's credentials.

2.1.3.2.7 Restoring the Default Authentication Method
  1. Run the following command on each OMS:

    emctl config auth repos [-sysman_pwd <pwd>]
    

    Sample command output:

    Oracle Enterprise Manager Cloud Control 12c Release 12.1.0.3.0
    Copyright (c) 1996, 2013 Oracle Corporation.  All rights reserved.
    Configuring Repos Authentication ... Started
    Configuring Repos Authentication ... Successful
    If you have updated files like httpd.conf (for example, while installing WebGate), rollback them.
    If this is a multi-OMS environment, execute this command on remaining servers.
    After that, restart OMS(s) using: 'emctl stop oms -all' and 'emctl start oms'
    
  2. Run the following commands on each OMS:

    emctl stop oms -all
    emctl start oms
    

2.1.4 Enterprise User Security Based Authentication

Enterprise User Security enables you to create and store Oracle database information as directory objects in an LDAP-compliant directory server such as Oracle Internet Directory (OID) or Microsoft Active Directory. For example, an administrator can create and store enterprise users and roles for the Oracle database in the directory, which helps centralize the administration of users and roles across multiple databases.

See Also:

Enterprise User Security Configuration Tasks and Troubleshooting in the Oracle Database Advanced Security Administrator's Guide

If you currently use Enterprise User Security to mange Oracle users and roles for all your Oracle databases, you can also extend this feature to manage Enterprise Manager administrator accounts. Configuring Enterprise Manager for use with Enterprise User Security simplifies the process of logging in to database targets you are managing with the Oracle Enterprise Manager console.

To configure Enterprise Manager for use with Enterprise User Security:

  1. Ensure that you have enabled Enterprise User Security for your Oracle Management Repository database, as well as the database targets you will be managing with the Cloud Control console. Refer to Oracle Database Advanced Security Administrator's Guide for details.

  2. Using the emctl set property command, set the following properties:

    oracle.sysman.emSDK.sec.DirectoryAuthenticationType=EnterpriseUser
    oracle.sysman.emSDK.sec.eus.Domain=<ClientDomainName> (For example:mydomain.com) Note: URL of the LDAP service or Active Directory domain.
    oracle.sysman.emSDK.sec.eus.DASHostUrl=<das_url> (For example: oracle.sysman.emSDK.sec.eus.DASHostUrl=http://my.dashost.com:7777 ) Note: URL for the directory authentication service.
    

    Note:

    For multiple OMS configurations, the command must be run on each OMS.

    For example:

    emctl set property -name oracle.sysman.emSDK.sec.DirectoryAuthenticationType -value EnterpriseUser
    
  3. Stop the Oracle Management Service.

    emctl stop oms -all

    See Also:

    Controlling the Oracle Management Service on page 24-4
  4. Start the Management Service.

    emctl start oms

The next time you use the Oracle Enterprise Manager console to drill down to a managed database, Enterprise Manager will attempt to connect to the database using Enterprise User Security. If successful, Enterprise Manager will connect you to the database without displaying a logon page. If the attempt to use Enterprise User Security fails, Enterprise Manager will prompt you for the database credentials.

2.1.4.1 Registering Enterprise Users (EUS Users) as Enterprise Manager Users

After you have configured Enterprise Manager to use Enterprise Users (EUS), you can register existing enterprise users as Enterprise Manager Users and grant them the necessary privileges so that they can manage Enterprise Manager effectively.

You can register existing enterprise users by using:

  • Enterprise Manager Console

  • Enterprise Manager Command Line Interface (EM CLI)

2.1.4.1.1 Registering Enterprise Users Using the Enterprise Manager Console

You can use the Enterprise Manager console to register enterprise users by following these steps:

  1. Log in to Enterprise Manager as a Super Administrator.

  2. From the Setup menu, select Security then select Administrators to display the Administrators page. Since Enterprise Manager has been configured to use Enterprise Users, the first page of the Create Administrator wizard will provide the option to create an administrator based on a registered Oracle Internet Directory user or a normal database user.

  3. Select Oracle Internet Directory and click Continue to go to the next page in the wizard.

  4. Enter the name and e-mail address of the Oracle Internet Directory user or click the flashlight icon to search for a user name in the Oracle Internet Directory.

  5. Use the rest of the wizard pages to define the roles, system privileges, and other characteristics of the Enterprise Manager administrator and then click Finish. Enterprise Manager displays a summary page that lists the characteristics of the administrator account.

  6. Click Finish to create the new Enterprise Manager administrator.

    The OID user is now included in the list of Enterprise Manager administrators. You can now verify the account by logging out of the Cloud Control console and logging back in using the OID user credentials on the Single Sign-On logon page.

2.1.4.1.2 Registering Enterprise Users Using the Command Line Interface

To register Enterprise Users as Enterprise Manager users using EM CLI, enter the following command:

emcli create_user -name=eususer -type=DB_EXTERNAL_USER

This command registers the eususer as an Enterprise Manager user where eususer is an existing Enterprise User. For more details, refer to Registering Single Sign-On Users Using EM CLI.

2.1.5 Oracle Internet Directory (OID)

You can implement an OID-based authentication scheme to have Enterprise Manager authenticate users against the OID.

Running the emctl config auth oid command on the OMS creates a WebLogic authentication provider of type OracleInternetDirectoryAuthenticator that uses the configuration parameter values specified by the command. Any configuration values not specified retain the default values. Tuning and modification of advanced OID configuration parameters is carried out through the WebLogic Server Administration Console and not the emctl config auth oid command.

Note:

In the event you need to perform LDAP troubleshooting, enable LDAP tracing log file (ldap_trace.logATN) generation from the WebLogic Server Console. For more information, see "Troubleshooting Authentication Issues in Enterprise Manager".

Prerequisites

Oracle Internet Directory LDAP server is set up and running.

WebLogic Administration Server is up and running.

  1. Run the emctl config auth oid command on each OMS.

    emctl config auth ad -ldap_host <ldap host> -ldap_port <ldap port>
        -ldap_principal <ldap principal> [-ldap_credential <ldap credential>] [-sysman_pwd <pwd>]
        -user_base_dn <user base DN> -group_base_dn <group base DN> [-user_dn <dn>] [-group_dn <dn>]
        [-enable_auto_provisioning] [-auto_provisioning_minimum_role <min_role>] [-minimum_privilege <min_priv>]
        [-use_ssl] [-cert_file <cert>] [-trust_cacerts] [-use_anonymous_bind] [-keystore_pwd <passwd>]
    

    where:

    • ldap_host: LDAP host name

    • ldap_port: LDAP port

    • ldap_principal: The distinguished name (DN) of the LDAP user the WebLogic server should use to connect to the LDAP server.

    • ldap_credential: Password for the user specified by ldap_principal.

    • user_base_dn: The base distinguished name (DN) of the tree in the LDAP directory that contains users.

    • group_base_dn - The base distinguished name (DN) of the tree in the LDAP directory that contains groups.

    • enable_auto_provisioning:If specified, turns on auto provisioning in Enterprise Manager, where external LDAP users do not have to be provisioned manually in Enterprise Manager

    • auto_provisioning_minimum_role <min_role>: if specified, auto provisions only those external users in Enterprise Manager who have the min_role granted to them in LDAP

    • minimum_privilege <min_priv>: If specified, prevents access to Enterprise Manager to users who do not have the min_priv granted to them.

    • use_ssl: Use SSL to connect to the LDAP server

    • cert_file <cert>: Use the passed in LDAP server certificate to establish trust while connecting to LDAP server over ssl. Specify this option if the LDAP server has certificate signed by not well-known (or trusted) Certificate Authority. Note: This expects a single certificate. We do not support importing certificate chains. Please import using keytool utility before running this command.

    • trust_cacerts: Trust the LDAP server's certificate while connecting to LDAP server. This is typically used if certificate is signed by well known CA

    • keystore_pwd <passwd>: The password for the default DemoTrust.jks keystore (if default password has changed) or any custom keystore to which the LDAP server's certificate will be imported as part of validation.

    • use_anonymous_bind: If specified, uses anonymous bind to connect to LDAP server

    Example:

    emctl config auth oid -ldap_host "ldaphost" -ldap_port "3060" -ldap_principal "cn=orcladmin,cn=users,dc=us,dc=oracle,dc=com" -user_base_dn "cn=users,dc=us,dc=oracle,dc=com" -group_base_dn "cn=groups,dc=us,dc=oracle,dc=com" -ldap_credential "my_ldap_password" -sysman_pwd "my_sysman_password"
    
  2. Stop the OMS.

    emctl stop oms -all

  3. Restart the OMS.

    emctl start oms

    Note:

    For Enterprise Manager deployments consisting of multiple OMS instances, emctl config auth oid must be run on each OMS. Each OMS must be restarted in order for changes to take effect.

Testing the OID Configuration

Use the WebLogic Server Administration Console (Users and Groups tab) to check whether the OID configuration has been successful. To navigate to this tab, select Home/Summary of Security Realms/myrealm/Users and Groups. From the Users and Groups tab, you should see users and groups showing up from the OID.

2.1.6 Microsoft Active Directory Based Authentication

You can implement Microsoft AD-based authentication scheme to have Enterprise Manager authenticate users against the Active Directory.

Running the emctl config auth ad command on the OMS creates a WebLogic authentication provider of type ActiveDirectoryAuthenticator that uses the configuration parameter values specified by the command. Any configuration values not specified retain the default values. Tuning and modification of advanced AD configuration parameters is carried out through the WebLogic Server Administration Console and not the emctl config auth ad command.

Before running the following procedure, ensure the Active Directory LDAP server is up and running.

  1. Run the emctl config auth oid command on each OMS.

    emctl config auth ad -ldap_host <ldap host> -ldap_port <ldap port>    -ldap_principal <ldap principal> [-ldap_credential <ldap credential>] [-sysman_pwd <pwd>]    -user_base_dn <user base DN> -group_base_dn <group base DN>
    

    where:

    • ldap_host: Name of the machine name where Active Directory has been installed.

    • ldap_port: Active port where Active Directory is listening for requests.

    • ldap_principal: The distinguished name (DN) of the Active Directory user the WebLogic server should use to connect to the LDAP server to ensure the user's validity.

    • ldap_credential: Password for the user specified by ldap_principal.

    • sysman_pwd: SYSMAN password. This password is required to set the necessary property value changes to Enterprise Manager

    • user_base_dn: The users specified as the ldap_principal must have read access to this directory.

    • group_base_dn - The users specified as the ldap_principal must have read access to this directory.

    Example:

    emctl config auth ad -ldap_host "ldaphost" -ldap_port "3060" -ldap_principal "cn=orcladmin" -user_base_dn "cn=users,dc=us,dc=oracle,dc=com" -group_base_dn "cn=groups,dc=us,dc=oracle,dc=com" -ldap_credential "my_ldap_password" -sysman_pwd "my_sysman_password"
    
  2. Stop the OMS.

    emctl stop oms -all

  3. Restart the OMS.

    emctl start oms

    Note:

    For Enterprise Manager deployments consisting of multiple OMS instances, emctl config auth ad must be run on each OMS. Each OMS must be restarted in order for changes to take effect.

Testing the Microsoft Active Directory Configuration

Use the WebLogic Server Administration Console (Users and Groups tab) to check whether the Microsoft Active Directory configuration has been successful. To navigate to this tab, select Home/Summary of Security Realms/myrealm/Users and Groups. From the Users and Groups tab, you should see users and groups showing up from the Microsoft Active Directory.

2.1.7 External Authorization using External Roles

When configuring Enterprise Manager for external authentication of users, you can also configure it to work with the external authentication provider to manage authorization as well. This is done using external roles. This is useful in many scenarios including, but not limited to, auto-provisioned users where the auto-provisioned user will not have any Enterprise Manager roles granted to them. The idea behind external roles is to create a role in Enterprise Manager with the relevant privileges and have the name of the role match the name of a LDAP group. Users who are part of the LDAP group will automatically be granted privileges in the role once they log on to Enterprise Manager.

To set up external roles, create a role in Enterprise Manager and mark it as external. The name of this role should be the same as an external LDAP group. Set up this role with the necessarily roles and privileges. For example, in Enterprise Manager you can create a role called EM_ADMIN that is marked external. The EM_ADMIN name matches an LDAP group called EM_ADMIN. Assume JohnDoe is a member of the EM_ADMIN LDAP group and is also an Enterprise Manager user. When JohnDoe logs on to Enterprise Manager, he will be granted all the privileges defined in the Enterprise Manager role EM_ADMIN.

Auto Provisioning

Typically the external LDAP users need to be created in Enterprise Manager before they can log in to the Enterprise Manager console. Auto provisioning removes that requirement by automatically creating the Enterprise Manager user account upon successful authentication of the user the first time he logs on to Enterprise Manager.

To enable auto provisioning, set the OMS property oracle.sysman.core.security.auth.autoprovisioning to true.

This parameter can be set using emctl or the console.

This allows the external users to login without being first created as an Enterprise Manager user in the Enterprise Manager repository. Their user account gets created automatically upon the first login. Once this property is set, all external LDAP users will be able to login to Enterprise Manager console. If you want to further restrict the auto provisioning feature to a subset of users, such as only to members of certain LDAP groups, then set another OMS property "oracle.sysman.core.security.auth.autoprovisioning_minimum_role". This property should be set to the LDAP group name whose members should be auto-provisioned For example, if set to "EM_ADMIN", only members of that LDAP group called EM_ADMIN will be able to login to Enterprise Manager and have user accounts automatically created in Enterprise Manager.

2.1.8 Mapping LDAP User Attributes to Enterprise Manager User Attributes

When external authentication is enabled, a flashlight icon appears next to the name field in the Create User flow.

Note:

External authentication is enabled when an administrator is first created in Enterprise Manager.

Clicking on the flashlight displays a popup window, giving Enterprise Manager administrators the ability to search for enterprise users in the external LDAP server (for example AD/OID) that have been configured. The user's LDAP attributes are shown as well. This helps the Enterprise Manager administrator to verify external user's attributes before creating them in Enterprise Manager. The screen shot below gives an example of the popup with external LDAP user 'johndoe' and all his LDAP account attributes displayed, as shown in the following figure.

Figure 2-5 User Account Attributes

user account attributes

When external authentication has been configured, it is often desirable to automatically propagate user information such as email address, department, that is defined for the user in LDAP to the corresponding Enterprise Manager user account. This can be done by setting the OMS property oracle.sysman.core.security.auth.ldapuserattributes_emuserattributes_mappings. This property will contain the mapping between the Enterprise Manager user properties and the corresponding LDAP user attributes that will be used to populate the user properties. The mapping between an Enterprise Manager property and an LDAP attribute is expressed in the format <key>={%attribute%}where:

  • key - An Enterprise Manager user property. Values for user properties are:

    USERNAME

    EMAIL

    CONTACT

    LOCATION

    DEPARTMENT

    COSTCENTER

    LINEOFBUSINESS

    DESCRIPTION

    Any other values specified for keys will be ignored.

  • attribute - A user attribute that needs to be fetched from LDAP and is used to set the properties of the user in Enterprise Manager. The attribute should be specified using the following format {%attribute%}, for example {%mail%}

    The value between % should be a valid attribute in the LDAP server. You can also specify literal strings when specifying attribute values, for example:

    DESCRIPTION={%firstname% %lastname% employee}

    In this example, only firstname and lastname will be fetched from LDAP but the description for the user will be "firstname lastname employee". For example, "John Doe employee".

    Another example is CONTACT={telephone number %phone%}. If a comma needs to be specified in the literal string value, it needs to be escaped with "\" For example,

    DESCRIPTION={%lastname% \, %firstname% \, %phone%}

    This will result in a user with description "Doe, John, 212-454-0000". The other characters that need to be escaped with backslash (\), if specified in the literal string, are ':' and '=', so they should be entered as \: or \=.

The OMS property oracle.sysman.core.security.auth.ldapuserattributes_emuserattributes_mappings should thus be set to a set of comma separated key-attribute pairs.

As an example, let us assume user JOHNDOE exists in LDAP and has the following attributes:

uid=johndoe,mail=johndoe@company.com,description=EM LDAP Admin,postalcode=90210,department=EnterpriseAdmin,telephone=2124540000,displayname=JohnDoe

If you set OMS property:

oracle.sysman.core.security.auth.ldapuserattributes_emuserattributes_mappings to "USERNAME={%uid%},EMAIL={%mail%},CONTACT={%telephone%},DEPARTMENT={%department%},DESCRIPTION={%description%},LOCATION={%postalcode%}" 

then when you select the user from the popup window and hit Ok, the user's attributes are automatically populated in the appropriate fields of the 'Create User' page. In the example above, the page appear as follows:

Figure 2-6 Create User Page: Administrator Properties

admistrator properties

2.1.9 Changing User Display Names in Enterprise Manager

In some LDAP environments, users may have numeric login IDs. Enterprise Manager has the ability to display user-friendly username in when a user logs in using a numeric ID. When they log on to the Enterprise Manager console, the numeric ID is displayed and used everywhere the user's name is shown including audit records. In order to show a more user-friendly name, you can use the OMS property oracle.sysman.core.security.auth.enable_username_mapping to enable the mapping of a an external, more intuitive name than the name shown in Enterprise Manager. You can use emctl to change this property.

emctl set property –name ”oracle.sysman.core.security.auth.enable_username_mapping” –value ”true” 

You can also set this using the Enterprise Manager console as well. These are dynamic properties and do not require bouncing the Management Service.

Once enabled, an External User ID field will be added that will contain the name or ID used by the user to log on to Enterprise Manager (this name/ID exists as a valid user in LDAP). The Create Administratorpage will thus look like this (note the extra field 'External User ID').

administrator properties

For example, if external user 123456 wants to log in and johndoe needs to be shown as logged in user, specify 'johndoe' in the Name field. The Create Administrator page will appear as follows:

create administrator page with content

User 123456 will still log in as that ID as that user exists in the LDAP server as 123456 but the name 'johndoe' will be shown as his user name in the Enterprise Manaer console.

The OMS property oracle.sysman.core.security.auth.ldapuserattributes_emuserattributes_mappings can also be used in this environment to automatically populate the user's name and external ID. An extra field called EXTERNALUSERID needs to be set. Using the example above, set the OMS property to the following:

"USERNAME={%displayname%},EXTERNALUSERID={%uid%},EMAIL={%mail%},CONTACT="{%telephone%},DEPARTMENT={%department%},DESCRIPTION={%description%},LOCATION={%postalcode%}"

When we select that user from popup and click OK, the page will appear as follows:

administrator properties page filled in.

The features described above are available in EM CLI as well. With the OMS properties set, the EM CLI create_user verb can be used to create users with their LDAP attributes automatically populated.

2.1.10 Configuring Other LDAP/SSO Providers

Oracle Enterprise Manager currently offers native support for Oracle Internet Directory, Oracle Access Manager, Active Directory and Single Sign-On. Native support allows WebLogic Server and Enterprise Manager to be configured for external authentication using the EMCTL command.For more information on configuring Enterprise with Oracle Internet Directory, see"Oracle Internet Directory (OID)", with Oracle Access Manager see "Oracle Access Manager Single Sign-On Based Authentication", with Active Directory see "Microsoft Active Directory Based Authentication". See the chapter "Configuring Authentication Providers" of the Oracle Fusion Middleware Securing Oracle WebLogic Server 11g Release 1 documentation.

LDAP providers need to be marked 'SUFFICIENT' and should be ahead of the Enterprise Manager Repository authenticator in the list of providers as illustrated in the following graphics.

ldap/sso
ldap/sso 2

For SSO providers, please refer to the requirements of the specific SSO provider configuration. Along with configuring the appropriate authentication providers, certain OMS properties have to be set as well in order for Enterprise Manager to work.

For configuring Enterprise Manager with any other type of LDAP server, the following OMS properties need to be set. You can use emctl or the console to set these properties. The properties need to be set for each OMS.

emctl set property -name "oracle.sysman.core.security.auth.is_external_authentication_enabled" -value "true"

  • oracle.sysman.core.security.auth.is_external_authentication_enabled=true.

  • oracle.sysman.emSDK.sec.DirectoryAuthenticationType to LDAP

For configuring Enterprise Manager with any other type of SSO solution, along with configuring the weblogic authentication/identity assertion providers, the following OMS properties need to be set.

  • oracle.sysman.core.security.auth.is_external_authentication_enabled=true

  • oracle.sysman.core.security.sso.type=OTHERSSO

  • oracle.sysman.core.security.sso.logout_url=<whatever value was provided for configuring logout on SSO server>

  • oracle.sysman.emSDK.sec.DirectoryAuthenticationType=SSO

2.1.10.1 Configuring Single Sign-on based Authentication

This section covers the following topics:

2.1.10.1.1 Configuring Single-Sign-on with Oracle Access Manager 10g

When using an Oracle Access Manager Single Sign-On authentication scheme, the underlying identity stores will consist of Enterprise Directory Identity Stores supported by Oracle Access Manager. This section provides instructions on how to configure OAM SSO-based authentication schemes.

Prerequisites

Oracle Access Manager is installed.

The Oracle Access Manager Single Sign-On server is configured with Oracle HTTP server, Web Gate, and the Oracle Access Manager Identity Store.

  1. Run the emctl config auth command.

    emctl config auth oam [-sysman_pwd <pwd>] -oid_host <host> -oid_port <port>
    -oid_principal <principal> [-oid_credential <credential>]
    -user_base_dn <dn> -group_base_dn <dn>
    -oam_host <host< -oam_port <port> [-logout_url <url>] [-is_oam10g] [-user_dn <dn>] [-group_dn <dn>]
    

    Note: Use the -is_oam10g option only if the OAM version is 10g.

  2. Stop each OMS.

    emctl stop oms -all

  3. Restart each OMS.

    emctl start oms

2.1.10.1.2 Configuring Single-Sign-on with Oracle AS SSO 10g

If you are currently using Oracle Application Server Single Sign-On to control access and authorization for your enterprise, you can extend those capabilities to the Enterprise Manager console.

By default, Enterprise Manager displays the main logon page. However, you can configure Enterprise Manager so it uses Oracle Application Server Single Sign-On to authenticate your Enterprise Manager users. Instead of seeing the Enterprise Manager logon page, users will see the standard Oracle Application Server Single Sign-On logon page. From the logon page, administrators can use their Oracle Application Server Single Sign-On credentials to access the Oracle Enterprise Manager 12c Cloud Control console.

Note:

  • You can configure Enterprise Manager to use one of the default Oracle Application Server Single Sign-On or Enterprise User Security features, but not both.

  • When Enterprise Manager is configured to use Single Sign-On with Server Load Balancer, make sure that the correct monitoring settings have been defined.

Partner applications are applications that are designed to delegate authentication to the OracleAS Single Sign-On server. The following sections describe how to configure Enterprise Manager as an OracleAS Single Sign-On Partner Application:

2.1.10.1.3 Registering Enterprise Manager as a Partner Application

To register Enterprise Manager as a partner application manually, follow these steps:

  1. Stop all OMSs by running emctl stop oms on each OMS.

  2. Enter the following URL to navigate to the SSO Administration page.

    https://sso_host:sso_port/pls/orasso
    
  3. Log in as orcladmin user and click on SSO Server Administration.

  4. Click Administer Partner Applications and then click Add Partner Application.

  5. Enter the following information on the Add Partner Application page.

    Name: <EMPartnerName>
    Home URL: protocol://em_host:em_port
    Success URL: protocol://em_host:em_port/osso_login_success 
    Logout URL: protocol://em_host:em_port/osso_logout_success
    Administrator Email: user@host.com
    

    Note1: host, port, and protocol refer to the Enterprise Manager host, port and the protocol (http or https) used.

    Note2: The em_host, em_port, email and Enterprise Manager Partner Name must be replaced with the appropriate values and not typed as shown in this example.

  6. Go back to Administer Partner Applications page and click on the Edit icon for <EMPartnerName>.

    Record the values of ID, Token, Encryption Key, Login URL, Single Sign-Off URL, Home URL and write the following in a file osso.txt:

    sso_server_version= v1.2
    cipher_key=<value of EncryptionKey>
    site_id=<value of ID>
    site_token=<value of Token>
    login_url=<value of Login URL>
    logout_url=<value of Single Sign-Off URL>
    cancel_url=<value of Home URL>
    sso_timeout_cookie_name=SSO_ID_TIMEOUT
    sso_timeout_cookie_key=9E231B3C1A3A808A
    
  7. Set the ORACLE_HOME environment variable to WebTier Oracle Home location.

    setenv ORACLE_HOME /scratch/12c/MWHome/Oracle_WT

    Then, run the following:

    $ORACLE_HOME/ohs/bin/iasobf <location of osso.txt> <location of osso.conf>

  8. Run the following command on each OMS:

    emctl config auth sso -ossoconf <osso.conf file loc> -dasurl <DAS URL> [-unsecure] [-sysman_pwd <pwd>] [-domain <domain>]-ldap_host <ldap host> -ldap_port <ldap port> -ldap_principal <ldap principal> [-ldap_credential <ldap credential>] -user_base_dn <user base DN> -group_base_dn <group base DN> [-logout_url <sso logout url>]
    

    where ldap_host, ldap_port, ldap_principal and ldap_credential are the details of SSO's LDAP.

    The sample output for this command is shown below:

    Oracle Enterprise Manager Cloud Control 12c Release 12.1.0.3.0
    Copyright (c) 1996, 2013 Oracle Corporation.  All rights reserved.
    SSO Configuration done successfully. Please restart Admin & Managed Servers.
    
  9. Run the following commands on each OMS:

    emctl stop oms -all
    emctl start oms
    
2.1.10.1.4 Removing Single Sign-On Configuration

To remove the single sign-on configuration, perform the following:

  1. Run the following command on each OMS:

    emctl config auth repos [-sysman_pwd <pwd>]
    

    Sample command output:

    Oracle Enterprise Manager Cloud Control 12c Release 12.1.0.3.0
    Copyright (c) 1996, 2013 Oracle Corporation.  All rights reserved.
    Configuring Repos Authentication ... Started
    Configuring Repos Authentication ... Successful
    
    

    If you have updated files such as, for example, httpd.conf (when installing WebGate) or any other required files should be backed up prior in order to rolled back during this step.If you are using multi-OMS environment, you must execute emctl config auth repos on the remaining servers.

  2. Bounce all OMSs by issuing the following on each OMS:

    emctl stop oms -all
    emctl start oms
    
2.1.10.1.5 Registering Single Sign-On Users as Enterprise Manager Administrators

After you have configured Enterprise Manager to use the Single Sign-On logon page, you can register any Single Sign-On user as an Enterprise Manager administrator. You can register single sign-on users using:

  • Enterprise Manager Graphical User Interface

  • Enterprise Manager Command Line Interface

2.1.10.1.6 Registering Single Sign-On Users Using the Graphical User Interface

You can use the graphical user interface to register single sign-on users by following these steps:

  1. Go the Enterprise Manager Console URL.

    The browser is redirected to the standard Single Sign-On Logon page.

  2. Enter the credentials for a valid Single Sign-On user. Note: This step requires that an SSO user is already registered with Enterprise Manager.

    If no SSO user is yet registered as Enterprise Manager user, you can create them using the following procedure:

    1. Navigate to Enterprise Manager by connecting to the OMS directly. For example, https://oms_host:oms_https_port/em.

    2. Log in as a Repository user.

    3. From the Setup menu, select Security then select Administrator

    4. Create SSO users.

  3. Log in to Enterprise Manager as a Super Administrator.

  4. From the Setup menu, select Security, then select Administrators to display the Administrators page.

    Because Enterprise Manager has been configured to use Single Sign-On, the first page in the Create Administrator wizard now offers you the option of creating an administrator either as an External User or as Repository User.

  5. Select External User Identity Store and advance to the next page in the wizard.

  6. Enter the name and e-mail address of the External User Identity Store user, or click the flashlight icon to search for a user name in the Oracle Internet Directory.

  7. Use the rest of the wizard pages to define the roles, system privileges, and other characteristics of the Enterprise Manager administrator and then click Finish.

    Enterprise Manager displays a summary page that lists the characteristics of the administrator account.

  8. Click Finish to create the new Enterprise Manager administrator.

    The External User Identity Store user is now included in the list of Enterprise Manager administrators. You can now verify the account by logging out of the Cloud Control console and logging back in using the External User Identity Store user credentials on the Single Sign-On logon page.

2.1.10.1.7 Registering Single Sign-On Users Using EM CLI

You can use the following EM CLI command to create Single Sign-On users:

emcli create_user -name=ssouser -type=EXTERNAL_USER

This command creates a user with the name ssouser who is authenticated against the single sign-on user.

Argument Description
-name Name of the administrator.
-type The type of user. The default value for this parameter is EM_USER. The other possible values are:
  • EXTERNAL_USER: Used for single-sign-on based authentication.

  • DB_EXTERNAL_USER: Used for enterprise user based security authentication.

-password The password for the newly created administrator.
-roles The list of roles that can be granted to this administrator.
-email The list of email addresses for this administrator.
-privilege The system privileges that can be granted to the administrator. This option can be specified more than once.
-profile The name of the database profile. This is an optional parameter. The default profile used is DEFAULT.
-desc The description of the user being added.
-expired This parameter is used to set the password to "expired" status. This is an optional parameter and is set to False by default.
-prevent_change_password When this parameter is set to True, the user cannot change the password. This is an optional parameter and is set to False by default.
-input_file This parameter allows the administrator to provide the values for any of these arguments in an input file. The format of value is name_of_argument:file_path_with_file_name.

Example 1

emcli create_user
         -name="new_admin"
         -email="first.last@oracle.com;joe.shmoe@shmoeshop.com"
         -roles="public"
         -privilege="view_job;923470234ABCDFE23018494753091111"
         -privilege="view_target;<host>.com:host" 

This example creates an Enterprise Manager administrator named new_admin. This administrator has two privileges: the ability to view the job with ID 923470234ABCDFE23018494753091111 and the ability to view the target <host>.com:host. The administrator new_admin is granted the PUBLIC role.

Example 2

   emcli create_user
         -name="User1"
         -type="EXTERNAL_USER"
         -input_file="privilege:/home/user1/priv_file"

         Contents of priv_file are:
           view_target;<host>.com:host

This example makes user1 which has been created externally as an Enterprise Manager user. user1 will have view privileges on <host>.com:host.

Example 3

   emcli create_user
         -name="User1"
         -desc="This is temp hire."
         -prevent_change_password="true"
         -profile="MGMT_ADMIN_USER_PROFILE"

This example sets user1 as an Enterprise Manager user with some description. The prevent_change_password is set to true to indicate that the password cannot be changed by user1 and the profile is set to MGMT_ADMIN_USER_PROFILE.

Example 4

   emcli create_user
         -name="User1"
         -desc="This is temp hire."
         -expire="true" 

This example sets user1 as an Enterprise Manager with some description. Since the password is set to expire immediately, when the user logs in for the first time, he is prompted to change the password.

2.1.10.1.8 Bypassing the Single Sign-On Logon Page

If the OMS is configured with SSO or OAM or some other authentication method, you may want to by-pass the Single Sign-On or OAM authentication under certain circumstances.To bypass the SSO logon page, connect to the following URL:

  1. Connect to https://ms_host:ms_https_port/em

    ms_host & ms_https_port are WLS-managed server's hostname & port#. These parameters can be found in the EM_INSTANCE_HOME/emgc.properties file. They are listed as EM_INSTANCE_HOST & MS_HTTPS_PORT in this file.

  2. Log in using a repository user's credentials.

2.1.10.1.9 Restoring the Default Authentication Method
  1. Run the following command on each OMS:

    emctl config auth repos [-sysman_pwd <pwd>]
    

    Sample command output:

    Oracle Enterprise Manager Cloud Control 12c Release 12.1.0.3.0
    Copyright (c) 1996, 2013 Oracle Corporation.  All rights reserved.
    Configuring Repos Authentication ... Started
    Configuring Repos Authentication ... Successful
    If you have updated files like httpd.conf (for example, while installing WebGate), rollback them.
    If this is a multi-OMS environment, execute this command on remaining servers.
    After that, restart OMS(s) using: 'emctl stop oms -all' and 'emctl start oms'
    
  2. Run the following commands on each OMS:

    emctl stop oms -all
    emctl start oms
    

2.1.11 Configuring Enterprise User Security based Authentication

Enterprise User Security enables you to create and store Oracle database information as directory objects in an LDAP-compliant directory server. For example, an administrator can create and store enterprise users and roles for the Oracle database in the directory, which helps centralize the administration of users and roles across multiple databases.

See Also:

Enterprise User Security Configuration Tasks and Troubleshooting in the Oracle Database Advanced Security Administrator's Guide

If you currently use Enterprise User Security for all your Oracle databases, you can extend this feature to Enterprise Manager. Configuring Enterprise Manager for use with Enterprise User Security simplifies the process of logging in to database targets you are managing with the Oracle Enterprise Manager console.

To configure Enterprise Manager for use with Enterprise User Security:

  1. Ensure that you have enabled Enterprise User Security for your Oracle Management Repository database, as well as the database targets you will be managing with the Cloud Control console. Refer to Oracle Database Advanced Security Administrator's Guide for details.

  2. Using the emctl set property command, set the following properties:

    oracle.sysman.emSDK.sec.DirectoryAuthenticationType=EnterpriseUser
    oracle.sysman.emSDK.sec.eus.Domain=<ClientDomainName> (For example:mydomain.com)
    oracle.sysman.emSDK.sec.eus.DASHostUrl=<das_url> (For example:
    oracle.sysman.emSDK.sec.eus.DASHostUrl=http://my.dashost.com:7777 )
    

    Note:

    For multiple OMS configurations, the command must be run on each OMS.

    For example:

    emctl set property -name oracle.sysman.emSDK.sec.DirectoryAuthenticationType -value EnterpriseUser
    
  3. Stop the Oracle Management Service.

  4. Start the Management Service.

The next time you use the Oracle Enterprise Manager console to drill down to a managed database, Enterprise Manager will attempt to connect to the database using Enterprise User Security. If successful, Enterprise Manager will connect you to the database without displaying a logon page. If the attempt to use Enterprise User Security fails, Enterprise Manager will prompt you for the database credentials.

2.1.11.1 Registering Enterprise Users as Enterprise Manager Users

After you have configured Enterprise Manager to use Enterprise Users, you can register existing enterprise users as Enterprise Manager Users and grant them the necessary privileges so that they can manage Enterprise Manager effectively.

You can register existing enterprise users by using:

  • Enterprise Manager Graphic User Interface

  • Enterprise Manager Command Line Interface

2.1.11.1.1 Registering Enterprise Users Using the Graphical User Interface

You can use the graphical user interface to register enterprise users by following these steps:

  1. Log in to Enterprise Manager as a Super Administrator.

  2. From the Setup menu, select Security then select Administrators to display the Administrators page. Since Enterprise Manager has been configured to use Enterprise Users, the first page of the Create Administrator wizard will provide the option to create an administrator based on a registered Oracle Internet Directory user or a normal database user.

  3. Select Oracle Internet Directory and click Continue to go to the next page in the wizard.

  4. Enter the name and e-mail address of the Oracle Internet Directory user or click the flashlight icon to search for a user name in the Oracle Internet Directory.

  5. Use the rest of the wizard pages to define the roles, system privileges, and other characteristics of the Enterprise Manager administrator and then click Finish. Enterprise Manager displays a summary page that lists the characteristics of the administrator account.

  6. Click Finish to create the new Enterprise Manager administrator.

    The OID user is now included in the list of Enterprise Manager administrators. You can now verify the account by logging out of the Cloud Control console and logging back in using the OID user credentials on the Single Sign-On logon page.

2.1.11.1.2 Registering Enterprise Users Using the Command Line Interface

To register Enterprise Users as Enterprise Manager users using EM CLI, enter the following command:

emcli create_user -name=eususer -type=DB_EXTERNAL_USER

This command registers the eususer as an Enterprise Manager user where eususer is an existing Enterprise User. For more details, refer to Registering Single Sign-On Users Using EM CLI.

2.1.12 Restoring to Default Authentication Method

2.1.12.1 Bypassing the Single Sign-On Logon Page

If the OMS is configured with SSO or OAM or some other authentication method, you may want to by-pass the Single Sign-On or OAM authentication under certain circumstances.To bypass the SSO logon page, connect to the following URL:

  1. Connect to https://ms_host:ms_https_port/em

    ms_host & ms_https_port are WLS-managed server's hostname & port#. These parameters can be found in the EM_INSTANCE_HOME/emgc.properties file. They are listed as EM_INSTANCE_HOST & MS_HTTPS_PORT in this file.

  2. Log in using a repository user's credentials.

2.1.12.2 Restoring the Default Authentication Method

  1. Run the following command on each OMS:

    emctl config auth repos [-sysman_pwd <pwd>]
    

    Sample command output:

    Oracle Enterprise Manager Cloud Control 12c Release 12.1.0.3.0
    Copyright (c) 1996, 2013 Oracle Corporation.  All rights reserved.
    Configuring Repos Authentication ... Started
    Configuring Repos Authentication ... Successful
    If you have updated files like httpd.conf (for example, while installing WebGate), rollback them.
    If this is a multi-OMS environment, execute this command on remaining servers.
    After that, restart OMS(s) using: 'emctl stop oms -all' and 'emctl start oms'
    
  2. Run the following commands on each OMS:

    emctl stop oms -all
    emctl start oms
    

2.2 Configuring Privileges and Role Authorization

Giving the same level of access to all targets to all administrators is dangerous, but individually granting access to tens, hundreds, or even thousands of targets to every new member of the group is time consuming. With Enterprise Manager's administrator privileges and roles feature, these tasks can be streamlined and can easily scale as the enterprise grows. Authorization controls the access to the secure resources managed by Enterprise Manager via system, target, and object level privileges and roles.

This section describes Enterprise Manager's Authorization model including roles and privileges assigned to each user class.

2.2.1 Understanding Users, Privileges and Roles

When an Enterprise Manager administrator adds a user to the system, the first thought must be "what does this person need to do?" Once the job for this new user is defined and understood, appropriate privileges must be assigned to this user and access granted to the required systems required to complete the job.

Privileges are ultimately granted to administrators to enable them to manage targets in Enterprise Manager. While you can grant specific privileges to individual administrators, tracking and granting privileges on many targets across many administrators easily becomes error-prone and an administrative burden in itself. Our recommendation is to define and use roles to manage the granting of privileges to administrators.

A role is a user-defined set of privileges typically containing the set of privileges that you want to grant to a team of users. A role can contain other roles as well. For example, you can create a First Line Support role containing the privileges needed for the administrators to view and manage incidents on targets. Once this role is created, you can grant this role to the appropriate administrators who will manage these incidents as part of their job responsibility. If you need to change the set of privileges for your administrators, e.g. add new privileges or remove privileges, then all you need to do is update the role. The updated set of privileges in the role is automatically enabled for the administrators to whom the role has been granted. Likewise if new administrators are added, all you need to do is grant them the appropriate role(s) instead of granting them individual privileges. See "Classes of Users" for more information.

Using roles is one big step towards managing privileges. However, there is still the challenge of having to keep the role updated with privileges on new targets as they are added to Enterprise Manager.

2.2.1.1 Classes of Users

Oracle Enterprise Manager supports different classes of Oracle users, depending upon the environment you are managing and the context in which you are using Oracle Enterprise Manager.

The Enterprise Manager administrators you create and manage in the Enterprise Manager console are granted privileges and roles to log in to the Enterprise Manager console and to manage specific target types and to perform specific management tasks. The default super administrator for the Enterprise Manager console is the SYSMAN user, which is a database user associated with the Oracle Management Repository. You define the password for the SYSMAN account during the Enterprise Manager installation procedure.

By restricting access to privileged users and providing tools to secure communications between Oracle Enterprise Manager 12c components, Enterprise Manager protects critical information in the Oracle Management Repository.

The Management Repository contains management data that Enterprise Manager uses to help you monitor the performance and availability of your entire enterprise. This data provides you with information about the types of hardware and software you have deployed, as well as the historical performance and specific characteristics of the applications, databases, applications servers, and other targets that you manage. The Management Repository also contains information about the Enterprise Manager administrators who have the privileges to access the management data.

You can create and manage Enterprise Manager administrator accounts. Each administrator account includes its own login credentials, as well as a set of roles and privileges that are assigned to the account. There are three classes of users:

  • Super Administrator: Super Administrators are users having Super Administrator privilege. Users with this privilege are powerful users who can create/edit/delete users/roles. They can manage all the resources in the system with the following restrictions:

    - Do not have access to Named credentials created by other users - Cannot manage jobs, deployment procedures created by ohter users.

    The Super Administrator, SYSMAN is created by default when Enterprise Manager is installed. The Super Administrator can create other administrator accounts.

  • Administrator: Regular Enterprise Manager administrator.

  • Repository Owner: Database administrator for the Management Repository. This account cannot be modified, duplicated, or deleted.

The types of management tasks that the administrator can perform and targets that he can access depends on the roles, system privileges, resource privileges, and target privileges that he is granted. The Super Administrator can choose to let certain administrators perform only certain management tasks, or access only certain targets, or perform certain management tasks on certain targets. In this way, the Super Administrator can assign the minimum level of privileges that administrators need to do their job.

2.2.1.2 Aggregate Target Privileges

An Aggregate Target type is a target that has one or more member targets, for example groups, systems, or Real Application Cluster. Aggregate target privileges allows an Administrator to grant different levels of privileges to the member targets and to the Aggregate target. For example, an Administrator may want to grant VIEW privilege on the aggregate group level and FULL to each member target within the group. If the administrator does not grant specific privileges on the aggregate and its members, the default is the same privilege for the aggregate and it members.

For example, you can grant VIEW privilege at a group (Aggregate level) and FULL at the member target level. This allows a DBA granted FULL on a member target to perform full life cycle tasks including delete of the target. The DBA has VIEW privilege on the group, preventing him from deleting the group.

You can view/modify these privilege settings when creating or editing an Enterprise Manager administrator. From the Setup menu, select Security, and then select Administrators. Navigate to the Target Privilege page.

target privilege

At the bottom of the Target Privileges page, you will find the Target Privileges region.

target privileges region

Check the Advanced Privilege Settings option to view settings for the aggregate target types that have been added to the user.

aggregate target settings

Two additional columns are displayed:

  • Manage Aggregate Only Privilege Grants

  • Manage Member Only Privilege Grants

Click the Edit (pencil) icon to change the privilege grant properties.

2.2.2 Privileges and Roles

Granting users specific privileges provide a basic level of security in Enterprise Manager. They are designed to control access to data and limit the management operations you can perform in Enterprise Manager such as changing monitoring settings or patching targets.

When Enterprise Manager is installed, the SYSMAN user (Super Administrator) is created by default. The SYSMAN Super Administrator can then create other administrator accounts for daily administration work. The SYSMAN account should only be used to perform infrequent system-wide, global configuration tasks.

The Super Administrator should grant the minimum level of privileges required to allow administrators to perform their tasks within Enterprise Manager. For example, the Super Administrator can allow some administrators to view any target and to add any target in the enterprise and other administrators to only perform specific operations such as maintaining and cloning on a target for which they are responsible.

Administrators and Database Privileges

Having DBA privileges on a database allows users to delete other database users, drop tables and perform other administrative operations. Hence, having DBA privileges on a repository database allows an administrator to perform all operations that can be performed as an Enterprise Manager Super Administrator: The administrator is implicitly treated as a Super Administrator. This is similar to OS authentication supported by the database where OS users with "DBA" privileges can connect to the Oracle server and exercise SYSDBA privileges.

If this level of access is not the intended behavior, Oracle recommends using one of the following:

  • The Enterprise Manager repository database needs to be considered as a special database. Do not grant DBA privileges to any users on that database other than to users who have Super Administrator privileges in Enterprise Manager.

  • Set up external authentication and migrate Enterprise Manager users to Active Directory or LDAP. This ensures that there are no shadow database users for Enterprise Manager application users being created and so DBA privileges cannot be granted to Enterprise Manager users.

Best Practice:

Enterprise Manager administrators should not be given DBA privileges.

In situations where an Enterprise Manager Super Administrator has DBA privileges, SYSMAN will NOT be able to convert that user into a regular (non-Super Administrator) administrator until DBA privileges have are removed.

2.2.2.1 Granting Privileges

A privilege is a right to perform management actions within Enterprise Manager. Privileges can be divided into two categories:

  • Target Privileges

  • Resource Privileges

Target Privileges: These privileges allow an administrator to perform operations on a target. As such, there is a defined hierarchy the categorizes target privileges into the following levels:

  • FULL: Highest level that includes OPERATOR and VIEW

  • OPERATOR: Medium level that permits specific management actions. OPERATOR privilege is also an example of a privilege that can include other privileges. For example, OPERATOR privileges include blackout privileges, and any user granted an OPERATOR target privilege is automatically granted the Blackout Target privilege. See Table B-2, "Target Privileges Applicable to Specific Targets" for more information.

  • VIEW: Lowest level permitting only view access to targets.

There are two categories of target privileges:

  • Privileges applicable to all targets. These privileges allow administrators to perform operations on all components with the Enterprise Manager infrastructure.

  • Privileges applicable to a specific target instance. These privileges allow Administrators to perform operations on specific targets in the Enterprise Manager infrastructure.

The Target Privileges page shows a list of privileges granted to all targets. For a detailed list of target privileges, see Appendix B, "Privileges."

Resource Privileges: These privileges grant administrator access to a specific functionality within Enterprise Manager. Examples of resource privileges include Backup Configurations, Cloud Policy, Compliance Framework, Enterprise Manager Plug-in, Job System, Patch Plan, Self Update and Template Collection. For a complete list refer to the Privileges and Roles section of Oracle Enterprise Manager Cloud Control Security Guide.

For example, to grant an administrator the ability to create new named credentials:

  1. From the Setup menu, select Security and then Administrators. The Administrators page displays.

  2. Either edit and existing administrator or create a new administrator to access the Administrator wizard.

  3. Proceed to the Resource Privileges page.

  4. From the Resource Type column, scroll down to Named Credential.

  5. From the Manage Privilege Grants column, click on the corresponding pencil icon. The Resource Type Privileges page displays.

  6. Select the privilege Create new named credential and click Continue to proceed with the administrator creation/edit processes

2.2.2.2 Creating Roles

A role is a collection of Enterprise Manager resource privileges, or target privileges, or both, which you can grant to administrators or to other roles. These roles can be based upon geographic location (for example, a role for Canadian administrators to manage Canadian systems), line of business (for example, a role for administrators of the human resource systems or the sales systems), or any other model. Administrators do not want to perform the task of individually granting access to tens, hundreds, or even thousands of targets to every new member of their group.By creating roles, an administrator needs only to assign the role that includes all the appropriate privileges to his team members instead of having to grant many individual privileges. He can divide workload among his administrators by filtering target access, or filtering access to management tasks, or both. You can also configure Enterprise Manager to work with an external authentication provider to manage authorization as well by using external roles. For more information, see "External Authorization using External Roles".

Out-of-Box Roles: Enterprise Manager Cloud Control 12c comes with predefined roles to manage a wide variety of resource and target types. The following table lists some of the roles along with their function. The number and type of roles displayed depend on the number and type of installed plug-ins. For a complete list of out-of-box roles, see Appendix A, "Roles."

Public Roles: Enterprise Manager creates one role by default called Public. This role is unique in that it is automatically assigned to all new non-super administrators when they are created. By default it has no privileges assigned to it. The Public role should be used to define default privileges you expect to assign to a majority of non-super administrators you create. Privileges need not be assigned to Public initially - they can be added at any time. The role may be deleted if your enterprise does not wish to use it. If deleted, it can be added back in later if you later decide to implement it.

2.2.2.3 Private Roles

Private Roles are a new role type introduced in Enterprise Manager Release 12.1.0.4 and are used to control the granting of sensitive/powerful privileges to administrators or roles. There are certain sensitive privileges which Enterprise Manager does not make available to Super Administrators. Specifically, they are:

  • LAUNCH_DP

  • FULL_DP

  • GET_CREDENTIAL

  • EDIT_CREDENTIAL

  • FULL_CREDENTIAL

  • FULL_JOB

These privileges are particularly sensitive and powerful, which is the reason Enterprise Manager does not grant these privileges to roles. Granting these privileges to roles would also make them available to other Administrators.

To accommodate the granting of these types of privileges in a more secure manner, roles are divided into two categories - system roles and private roles.

  • Private roles are managed by administrators with the "create_role" privilege. Administrators granted the "create_role" privilege (Private Role) will maintain the lifecycle of the named credential and job roles, and will allow an administrator to grant these full job and full credential privileges to other administrators and to roles.

  • System roles define all roles accessible to all Administrators with the "manage_system_role" privilege.

A private role can be granted to other administrators and roles via the Enterprise Manager console and EM CLI using the emcli create_role verb, and made grantable via emcli grant_privs verb.

For example:

emcli create_role
-name="my_private_role"
-type="EM_ROLE"
-desc="This is a new private role called my_private_role"
-roles="role1;role2;role3"
-privilege="full_job;923470234ABCDFE23018494753091111"
-privilege="FULL_CREDENTIAL;CRED_NAME=cred1:CRED_OWNER=user2"
-users="USER1;USER2:WITH_ADMIN"
-private_role[ Optional ]

This will create my_private_role owned by the logged-in user. USER1 will be granted this role as WITHOUT_ADMIN option and USER2 will be granted this role as WITH_ADMIN optionThis role will consists FULL_JOB and FULL_CREDENTIAL privileges on respective objects.Verb WITH_ADMIN supported:create_role -usersmodify_role -userscreate_user -rolesmodify_user -rolesgrant_roles -roles

The owner of a private role can grant this role to an administrator, and can specify if the other administrator has the right to further grant this private role to another administrator (by using the –WITH_ADMIN option) or to another private role. In effect, the role owner is privately administering access to this role, hence the name "private role." A system role can be granted to a private role, but a private role cannot be granted to a system role.

2.2.2.4 Using Roles to Manage Privileges

Privileges are ultimately granted to administrators to enable them to manage targets in Enterprise Manager. While you can grant specific privileges to individual administrators, tracking and granting privileges on many targets across many administrators easily becomes error-prone and an administrative burden in itself. Our recommendation is to define and use roles to manage the granting of privileges to administrators. A role is a user-defined set of privileges typically containing the set of privileges that you want to grant to a team of users. A role can contain other roles as well. For example, you can create a First Line Support role containing the privileges needed for the administrators to view and manage incidents on targets. Once this role is created, you can grant this role to the appropriate administrators who will manage these incidents as part of their job responsibility. If you need to change the set of privileges for your administrators, e.g. add new privileges or remove privileges, then all you need to do is update the role. The updated set of privileges in the role is automatically enabled for the administrators to whom the role has been granted. Likewise if new administrators are added, all you need to do is grant them the appropriate role(s) instead of granting them individual privileges.

Using roles is one big step towards managing privileges. However, there is still the challenge of having to keep the role updated with privileges on new targets as they are added to Enterprise Manager. Privilege-propagating groups are meant to address this challenge and will be discussed next.

2.2.3 Managing Privileges with Privilege Propagating Groups

To manage the granting of privileges across potentially hundreds or thousands of targets to a large set of administrators, use privilege propagating groups in conjunction with roles. A group is a user-defined collection of targets that you can create in order to manage and monitor the targets collectively as a unit. A privilege propagating group is a special type of group where a privilege that is granted on the group to a user automatically gives him that same privilege to all existing and new members of the group.

Leverage the privilege-propagating nature of Administration Groups

Enterprise Manager administration groups are privilege-propagating in nature. This means that a privilege on the administration group that is granted to a user or a role automatically propagates to all members of the group including any subgroups. If a new target is added to an administration group, then because the administration group is privilege-propagating, the user or role that has privileges on the administration group automatically gets privileges on the newly added target by virtue of it joining the group. No additional work is needed for granting privileges on the new target. Thus granting target privileges is much simpler because all you need to do is a one-time setup of granting privileges on the group to a role.

Create Roles for Different Job Responsibilities

After you have planned the various job responsibilities and mapped these to the corresponding privileges in Enterprise Manager, the next step is to create roles in Enterprise Manager containing privileges required for each job responsibility. In our example below, here are the various roles that need to be created for each job responsibility. Note that when it comes to privileges on targets in the administration group, the recommendation is to grant the privilege on the administration group and not on individual targets in order to leverage the privilege propagating nature of administration groups.

Table 2-1 EXAMPLES OF ROLES YOU CAN CREATE FOR DIFFERENT JOB RESPONSIBILITES*

JOB RESPONSIBILITY ROLE IN ENTERPRISE MANAGER PRIVILEGES IN THE ROLE(MINIMUM SET)

Group Administrator

Responsible for defining group membership and for granting privileges on the group to other administrators.

GROUP_ADMIN_ROLE

Group Administration on the group

Senior Administrator

Responsible for adding and removing targets in Enterprise Manager, and for planning and setting up monitoring settings for targets. He is also responsible for setting up rules related to creating incidents for events and sending notifications.

SENIOR_ADMIN_ROLE

Add Any Target

Create Enterprise Rule Set

Operator on the group

Create on Job System

EM_TC_DESIGNER role

Target Owner

For the targets he owns, he is responsible for setting monitoring settings, responding to events/incidents, and for performing maintenance operations

TARGET_OWNER_ROLE

Operator on the Administration Group(s) that he is managing

Create on Job System

View Any Monitoring Template

View on the Template Collection(s) associated with the group(s) he is managing

First Level Support

Responsible for responding to events/incidents on targets. As part of operational procedures, he is allowed to blackout a target that is down.

FIRST_LEVEL_SUPPORT

Manage Target Events on the appropriate Administration Group(s)

Blackout Target on the appropriate Administration Group(s)


The privileges listed in the table represent the minimum set of privileges in the role. Additional privileges can be added based on other responsibilities. Also note that you will need to have Super Administrator privileges to create roles. Once roles have been defined, you can now grant these roles to your Enterprise Manager administrators. This can be done in several ways:

  • Assign roles while creating/editing an Enterprise Manager administrator.

  • As part of creating/editing a role, you to choose administrators to whom you would like to grant the role.

  • When creating/editing administrators using the Enterprise Manager Command Line tool (EM CLI), you can specify the roles granted to the user. You can also use EM CLI to grant roles directly to an existing user.

As an example, say you want to grant Operator privileges on host targets used by the development team to all members of the development team. You can first ceate a privilege propagating group (Devt-Group) containing the relevant host targets. Then create a role (Devt-Role) and in this role include Operator privileges on Devt-Group. Finally grant the Devt-Role to all members of the development team. This will result in providing all members of the development team Operator privileges on all targets in Devt-Group. As new host targets are added, you can simply add these new targets to Devt-Group and all members of the development team automatically obtain Operator privileges on the newly added targets. The following scenarios provide additional examples of using privilege propagating groups with roles.

We shall step through two use cases which outline when best to use privilege propagating groups, how to create target groups, add member to this group, and assign roles and Administrators to these target groups.

2.2.3.1 Example1: Granting various teams different levels of access to target groups

Consider a collection of Database Instances and WebLogic Servers within an organization are managed by separate teams within the organization. Both teams are using Enterprise Manager to manage their targets.The DBAs want full access privileges to their Database Instances and view privileges on the WebLogic Servers. Similarly, the WebLogic Server administrators want full privileges on the WebLogic Servers and view privileges on the Database Instances.

To manage privileges across the two teams, first create two privilege propagating groups containing the targets of the respective teams. For example, you can create a target group called DBAGroup containing the database Instances and another target group called WLSGroup containing the Oracle WebLogic Servers. DBAGroup contains the Database Instances that can be modified and managed by DBAs. While the WLSGroup is a group of Web Logic Servers modified and managed by the Web Logic Server administrators . Additionally, the DBAs want to view the Web Logic Server targets and the Web Logic Server technicians want to view the Database Instances. The following steps will show how to set up these target groups, privileges and roles, and how to grant the appropriate roles to the correct Administrator.

Here are the steps to follow:

  1. Create a target group. On the console go to Targets->Groups from the drop down menu.

    target group
  2. Click "Create" from the menu and select "Group" from the drop down menu.

    group menu
  3. Enter the name DBAGroup.

    Enable "Privilege Propagation" group, by checking the box. This allows Administrators to do a one-time grant of privileges on a group to a user and that privilege will automatically be propagated (or applied) to each member of that group.

  4. Add the database targets you want to add to the new database group, DBAGroup. This is done by hitting the "Add" button, selecting the Database Instance targets from the list. Hit the "Select" button.

    select button
  5. Select "OK".

    select ok
  6. Your new group, DBAGroup, should be displayed in the list of available groups.

    new group
  7. Now create a second privilege propagating group, by repeating the steps 1-6, calling it WLSGroup, and adding the appropriate WebLogice Server targets to this group.

  8. Your second group, WLSGroup, should be displayed in the list of available groups.

    WLS group
  9. Next, create the Roles. A role contains privileges that can be granted to an administrator. Proceed to the Roles page. Go to the Setup->Security->Roles page. As in the snapshot below.

    roles page
  10. Click Create.

    create button
  11. On the Properties page, type the name of your role. In this example we have named it DBA-ROLE. This Role will contain privileges for the DBA team. It will contain Full privilege on all database Instances in the DBAGroup and view privilege on all Web Logic Server Instances in the WLSGroup. Hit the "Next" button.

    properties page
  12. On the Roles page, click Next.

    click nex on roles
  13. On the "Target Privileges" page, scroll down to the "Target Privileges" section, at the bottom of the page. Click the "Add" button. The list of available targets is displayed. Select the "Group" Target Type, to improve the search. Select the two groups we just created, DBAGroup and WLSGroup.

    wls and dba group
  14. Our two groups will be displayed. For this role, DBA-ROLE, we want to grant "Full" on all databases in the DBAGroup and grant "View" on all WebLogic server targets in the WLSGroup. As the default privilege is "View" we need only modify the DBAGroup privilege for this Role, leaving the WLSGroup, with the default "View" privilege. This is done by selecting the pencil icon, to the right of "View" in the "Manage Target Privilege Grants" column. Hit the "Continue" button.

    Manage Target Privilege Grants
  15. Click the privilege "Full", select the "Continue" button.

    full privilege
  16. The new privilege will be displayed. Select the "Next" button.

    target privilege
  17. Select the "Next" button on the Resource Privilege page.

    resource privilege
  18. Select the Administrators you want to grant this role, DBA-ROLE too. Select the "Next" button.

    administrator privilege
  19. Review the setting of your new role DBA-ROLE.

    review page
  20. Next we create our second Role, WLS-ROLE. This Role will allow users granted this role full privilege on all the WebLogic Servers in WLSGroup and view privilege on all Database Instances in the DBAGroup. Repeat Steps 10-19, naming our second Role WLS-ROLE. Proceed to the review page, as displayed below.

    wls-role review page

2.2.3.2 Example2: Granting developers view access to target database instances.

DBAs within datacenters would often like to provide application developers read-only access to database performance pages in Enterprise Manager in order for them to get firsthand information on the impact of their applications on the underlying database and restrict them from performing any write operations on the database. The DBAs may not want to share database user account information with the developers nor create individual user accounts on every Database Instance.

You can use the 'Connect Target Read-Only' privilege to enable read-only access to a target. To manage the granting of this privilege across many databases to a team of developers, you can create a privilege propagating group, and add the Database Instances to this target group, calling it, for example DevGroup. You create a role, for example DEV-ROLE and grant the privilege, "Connect Target Read-Only" on his Role, in doing so, you assign this Role to each Developer, granting him access to the performance data in those Database Instances. As these engineers do not have individual user accounts on each Database Instance we will create a Named Credential, call it DevCred which contains database user credentials and we will assign this Named Credential to each Developer needing access to the performance data in the Database Instances. The following steps will show you how to set up the target group and assign Roles and Named Credentials to this group.

Here are the steps to follow:

  1. Create a group of targets. On the console go to Targets->Groups from the drop down menu.

    target group menu
  2. Click "Create" and select "Group" from the drop down menu.

    select group from menu
  3. Enter the name of your new target group, for this User Case we shall call it DevGroup.

  4. Enable "Privilege Propagation" group, by checking the box. This allows Administrators to do a one-time grant privileges on a group to a user and have that privilege be automatically propagated (or applied) to each member of that group. Add the database Targets you want to add to the group. This is done by hitting the "Add" button and selecting the Targets from the list.

    Privilege Propagation
  5. Select "OK".

  6. The new target group, DevGroup, is displayed in the list of available groups.

    target group devgroup
  7. Next, create a view only Role for the Target DevGroup. A Role is a privilege that is granted to an Administrator. Proceed to the Roles page, go to the Setup->Security->Roles page. As indicated below.

    create view only role
  8. Click "Create" button.

  9. On the properties page, type the name of the new Role, DEV-ROLE, hit the "Next" button.

    properties page
  10. Click "Next" on the "Roles" page.

    roles page
  11. On the "Target Privileges" page, scroll down to the "Target Privileges" section, at the bottom of the page. Click the "Add" button. The available targets are displayed. Select the "Group" Target Type, to improve the search. Select the group we just created, DevGroup. Hit the "Select" button.

    target privileges page
  12. The target group is displayed. For this role, DEV-ROLE, we want to grant "Connect Target Read-Only" on all databases in the DevGroup. This is done by selecting the pencil icon, to the right of "View" in the "Manage Target Privilege Grants" column.

    Connect Target Read-Only
  13. Click the privilege "Connect Target Read-Only", scroll to the bottom of the page. Select the "Continue" button.

    Connect Target Read-Only
  14. The new privilege is displayed. Select the "Next" button

    new privilege
  15. Select the "Next" button on the Resource Privilege page.

    Resource Privilege page
  16. Select the Administrators you want to grant this role, DEV-ROLE too. Select the "Next" button.

    Select the Administrators
  17. Review the setting of your new role DEV-ROLE.

    dev role
  18. Next we will create a Named Credential. In this case a Named Credential contains the database credentials used to log on to the database. It will be used by the developer to access the database performance pages in Enterprise Manager. Follow the link "Setup"->"Security"->"Named Credential".

    Named Credential
  19. Hit the "Create" button.

    create named credential
  20. Enter the Username and Password information that this Named Credential will use to log onto the database. We have selected the following information:

    Credential name: DevCred

    Authenticating Target Type: Database Instance -For this Use Case, we are interested in granting access to the development engineers the database Instances in the DevGroup.

    Credential Type: Database Credentials - For this Use Case, we are supplying the username and password for the target Type specified above.

    Scope: Global - For this User Case, this username and password will apply to every Database. Hit the "Test and Save" button.

    named credential parameters
  21. Enter a valid "Test Target Name", and click Test and Save.

    test options
  22. Our new Named Credential will be displayed. To Grant this Named Credential to a one of the development Engineers, click Manage Access.

    named credential manage access
  23. Hit the "Add Grant" button.

    add grant
  24. Select the Development Engineers you wish to use this Named Credential. Hit the "Select" button.

    Named Credential
  25. The User information will be displayed at the bottom of the page. More users may be added, if desired.

    user information
  26. When this Development Engineer logs into Enterprise Manager they will have access to view necessary data, such as performance information. However, as expected, they are unable to perform any write operation to the databases. If the user does attempt to perform a write operation on any database, the following error will be displayed in Enterprise Manager.

    error message

2.2.3.3 Entitlement Summary

The Administrators Entitlement page displays all the privileges and roles granted to that Administrator. This page also summarizes an Administrators access to targets as well as displaying the named credentials and secure resources owned by that Administrator. The following fiture shows an example of the Enterprise Manager Administrator Entitlement page. You can access this page by clicking on the dropdown menu, beside the Administrators name, and clicking Entitlement Summary.

Figure 2-7 Entitlement Summary Page

Surrounding text describes Figure 2-7 .

2.3 Configuring Secure Communication

This section contains the following topics:

2.3.1 About Secure Communication

Enterprise Manager Framework Security provides safe and secure communication channels between the components of Enterprise Manager. For example, Framework Security provides secure connections between your Oracle Management Service and its Management Agents. Secure communication also protects against network threats such as eavesdropping and ensures confidentiality/integrity by utilizing technologies such as public-key cryptography.

See Also:

Oracle Enterprise Manager Concepts for an overview of Enterprise Manager components.

Enterprise Manager Framework Security implements the following types of secure connections between the Enterprise Manager components:

  • HTTPS and Public Key Infrastructure (PKI) components, including signed digital certificates, for communications between the Management Service and the Management Agents.

    See Also:

    Oracle® Database 2 Day + Security Guide for an overview of Public Key Infrastructure features, such as digital certificates and public keys
  • Oracle Advanced Security for communications between the Management Service and the Management Repository.

2.3.2 Enabling Security for the Oracle Management Service

To enable Enterprise Manager Framework Security for the Management Service, you use the emctl secure oms utility, which is located in the following subdirectory of the Management Service home directory:

<OMS_ORACLE_HOME>/bin

The emctl secure oms utility performs the following actions:

  • Generates a Root Key within your Management Repository. The Root Key is used during distribution of Oracle Wallets containing unique digital certificates for your Management Services & Management Agents. An Oracle Wallet is used to store security credentials on Oracle Clients and servers, see oracle Advanced Security Administrators Guide for more information on Oracle Wallets.

  • Modifies your WebTier to enable an HTTPS channel between your Management Service and Management Agents, independent from any existing HTTPS configuration that may be present in your WebTier.

  • Enables your Management Service to accept requests from Management Agents using Enterprise Manager Framework Security.

To run the emctl secure oms utility you must first choose an Agent Registration Password. The Agent Registration password is used to validate that future installation of Oracle Management Agents are authorized to load their data into this Enterprise Manager installation.

To enable Enterprise Manager Framework Security for the Oracle Management Service:

  1. Stop the Management Service, the WebTier using the following command:

    <OMS_ORACLE_HOME>/bin/emctl stop oms
    
  2. Enter the following command:

    <OMS_ORACLE_HOME>/bin/emctl secure oms
    
  3. You will be prompted for the Enterprise Manager Root Password. Enter the SYSMAN password.

  4. You will be prompted for the Agent Registration Password, which is the password required for any Management Agent attempting to establish secure communication with the Management Service. Specify an Agent Registration Password for the Management Service.

  5. Restart the OMS.

  6. After the Management Service restarts, test the secure connection to the Management Service by browsing to the following secure URL using the HTTPS protocol:

    https://hostname.domain:https_console_port/em
    

    Note: The Enterprise Manager console URL can be found by running the "emctl status oms -details" command.

    For example:

    $ emctl status oms -details
    Oracle Enterprise Manager Cloud Control 12c Release 3
    Copyright (c) 1996, 2013 Oracle Corporation. All rights reserved.
    Enter Enterprise Manager Root (SYSMAN) Password :
    ...
    Console URL: https://omshost.mydomain.com:5416/em
    

    If the Management Service security has been enabled successfully, your browser displays the Enterprise Manager login page.

Example 2-3 Sample Output of the emctl secure oms Command

$ emctl secure oms
Oracle Enterprise Manager Cloud Control 12c Release 3
Copyright (c) 1996, 2013 Oracle Corporation. All rights reserved.
Securing OMS... Started.
Enter Enterprise Manager Root (SYSMAN) Password :
Enter Agent Registration Password :
Securing OMS... Successful
Restart OMS

2.3.2.1 Configuring the OMS with Server Load Balancer

When you deploy a Management Service that is available behind a Server Load Balancer (SLB), special attention must be given to the DNS host name through which the Management Service will be available. Although the Management Service may run on a particular local host, for example myhost.mycompany.com, your Management Agents will access the Management Service using the host name that has been assigned to the Server Load Balancer. For example, oracleoms.mycompany.com.

As a result, when you enable Enterprise Manager Framework Security for the Management Service, it is important to ensure that the Server Load Balancer host name is embedded into the Certificate that the Management Service uses for SSL communications. This may be done by using emctl secure oms and specifying the host name using an extra -host parameter as shown below.

Note:

Before running the commands, you must first identify the SLB hostname, port, and ensure that the SLB is configured.
  • Enable security on the Management Service by entering the following command:

    emctl secure oms -host <slb_hostname> [-slb_console_port <slb UI port>] [-slb_port <slb upload port>] [other params]

    Run this command on each OMS. You will need to restart each OMS after running the 'emctl secure oms' command.

  • Create virtual servers and pools on the Server Load Balancer.

  • Verify that the console can be accessed using the following URL:

    https://slbhost:slb_console_port/em

  • Re-secure the Agents with Server Load Balancer by using the following command:

    emctl secure agent -emdWalletSrcUrl <SLB Upload or UI URL>

    For example:

    Agent_Home/bin/emctl secure agent -emdWalletSrcUrl https://slbost:slb_upload_port/em

Removing a Server Load Balancer Configuration

If you had previously configured the OMS with an SLB using emctl secure oms -host and now want to remove the SLB configuration, run the following command:

emctl secure oms -no_slb

If you had secured Agents using the SLB hostname they will need to be re-secured using the OMS hostname. To re-secure the Agents, run the following command:

emctl secure agent -emdWalletSrcUrl <Upload URL>

2.3.2.2 Creating a New Certificate Authority

You may need to create a new Certificate Authority (CA) if the current CA is expiring, if you want to change the key strength, or if you want to change the signature algorithm. A unique identifier is assigned to each CA. For instance, the CA created during installation may have an identifier as ID 1, subsequent CAs will have the IDs 2,3, and so on. At any given time, the last created CA is active and issues certificates for OMSs and Agents.

  1. Run the emctl secure createca command on one of the OMS machines.

  2. If there are multiple OMSs in your environment, copy <EM_Instance_Home>/sysman/config/b64LocalCertificate.txt from the machine on which emctl secure createca was run to all other OMS machines at the same location i.e <EM_Instance_Home>/sysman/config/b64LocalCertificate.txt

  3. Restart all the OMSs.

Example 2-4 Creating a New Certificate Authority

emctl secure createca [-sysman_pwd <pwd>] [-host <hostname>] [-key_strength <strength>] [-cert_validity <validity>] [-root_dc <root_dc>] [-root_country <root_country>] [-root_email <root_email>] [-root_state <root_state>] [-root_loc <root_loc>] [-root_org <root_org>] [-root_unit <root_unit>] [-sign_alg <md5|sha1|sha256|sha384|sha512>] [-cert_validity <validity>]
Oracle Enterprise Manager 12c Release 3 Cloud Control
Copyright (c) 1996, 2013 Oracle Corporation.  All rights reserved.
Creating CA... Started.
Successfully created CA with ID 2

Example 2-5 Viewing Information about a Certificate Authority

emcli get_ca_info -ca_id="1;2" -details
Info about CA with ID: 1
CA is not configured
DN: CN=myhost.example.com, C=US
Serial# : 3423643907115516586
Valid From: Tue Mar 16 11:06:20 PDT 2011
Valid Till: Sat Mar 14 11:06:20 PDT 2020
Number of Agents registered with CA ID 1 is 1
myhost.mydomain.com:3872

Info about CA with ID: 2
CA is configured
DN: CN=myhost.example.com, C=US, ST=CA
Serial# : 1182646629511862286
Valid From: Fri Mar 19 05:17:15 PDT 2011
Valid Till: Tue Mar 17 05:17:15 PDT 2020
There are no Agents registered with CA ID 2
2.3.2.2.1 Administration Credentials Wallet

The WebLogic Administrator and Node Manager passwords are stored in the Administration Credentials Wallet. This is present in the EM_INSTANCE_HOME/sysman/config/adminCredsWallet directory. To recreate Administrator Credentials wallet, run the following command on each machine on which the Management Service is running:

emctl secure create_admin_creds_wallet [-admin_pwd <pwd>] [-nodemgr_pwd <pwd>]

2.3.2.3 Viewing the Security Status and OMS Port Information

To view the security status and OMS port information, use the following command

Example 2-6 emctl status oms -details

Oracle Enterprise Manager Cloud Control 12c Release 3
Copyright (c) 1996, 2013 Oracle Corporation. All rights reserved.
Console Server Host : mymachine.oracle.com
HTTP Console Port : 7802
HTTPS Console Port : 5416
HTTP Upload Port : 7654
HTTPS Upload Port : 4473
EM Instance Home : /ade/myadmin_txn48/oracle/work/em/EMGC_OMS1
OMS Log Directory Location : /ade/myadmin_txn48/oracle/work/em/EMGC_OMS1/sysman/log
OMS is not configured with SLB or virtual hostname
Agent Upload is locked.
OMS Console is unlocked.
Active CA ID: 2
Console URL: https://mymachine.oracle.com:5416/em
Upload URL: https://mymachine.oracle.com:4473/empbs/upload
 
WLS Domain Information
Domain Name : EMGC_DOMAIN
Admin Server Host : mymachine.oracle.com
Admin Server HTTPS Port: 7022
Admin Server is RUNNING
 
Managed Server Information
Managed Server Instance Name: EMGC_OMS1
Managed Server Instance Host: mymachine.oracle.com
WebTier is Up
Oracle Management Server is Up

2.3.2.4 Configuring Transport Layer Security

The Oracle Management Service can be configured in the following modes:

  • TLSv1-only mode: To configure the OMS to use only TLSv1 connections, do the following:

    1. Stop the OMS by entering the following command:

      <OMS_ORACLE_HOME>/bin/emctl stop oms
      
    2. Enter the following command:

      emctl secure oms -protocol TLSv1
      
    3. Append -Dweblogic.security.SSL.protocolVersion=TLS1 to JAVA_OPTIONS in <Domain_Home>/bin/startEMServer.sh/<sh/cmd>. If this property already exists, update the value to TLS1. Use startEMServer.sh or startEMServer.cmd depending on your platform.

    4. Restart the OMS with the following command:

      <OMS_ORACLE_HOME>/bin/emctl start oms
      
  • SSLv3 Only Mode: To configure the OMS to accept SSLv3 connections only, do the following:

    1. Stop the OMS by entering the following command:

      <OMS_ORACLE_HOME>/bin/emctl stop oms
      
    2. Enter the following command:

      emctl secure oms -protocol SSLv3
      
    3. Append -Dweblogic.security.SSL.protocolVersion=SSL3 to JAVA_OPTIONS in Domain_Home/bin/startEMServer.sh or startEMServer.cmd on Windows. If this property already exists, update the value to SSL3.

    4. Restart the OMS with the following command:

      <OMS_ORACLE_HOME>/bin/emctl start oms
      
  • Mixed Mode: To configure the OMS to use both SSLv3 and TLSv1 connections, do the following:

    1. Stop the OMS by entering the following command:

      <OMS_ORACLE_HOME>/bin/emctl stop oms
      
    2. Enter the following command:

      emctl secure oms
      
    3. Append -Dweblogic.security.SSL.protocolVersion=ALL to JAVA_OPTIONS in Domain_Home/bin/startEMServer.sh. If this property already exists, update the value to ALL.

    4. Restart the OMS with the following command:

      <OMS_ORACLE_HOME>/bin/emctl start oms
      

Note:

By default, the OMS is configured to use the Mixed Mode. To configure the Management Agent in TLSv1 only mode, set allowTLSOnly=true in the emd.properties file and restart the Agent.

2.3.3 Securing the Oracle Management Agent

When you install the Management Agent on a host, you must identify the Management Service that will be used by the Management Agent. To enable Enterprise Manager Framework Security for the Management Agent, use the emctl secure agent utility, which is located in the following directory of the Management Agent home directory:

<AGENT_INSTANCE_HOME>/bin (UNIX)
<AGENT_INSTANCE_HOME>\bin (Windows)

The emctl secure agent utility performs the following actions:

  • Obtains an Oracle Wallet from the Management Service that contains a unique digital certificate for the Management Agent. This certificate is required in order for the Management Agent to conduct SSL communication with the secure Management Service.

  • Obtains an Agent Key for the Management Agent that is registered with the Management Service.

  • Configures the Management Agent so it is available on your network over HTTPS and so it uses the Management Service HTTPS upload URL for all its communication with the Management Service.

To enable Enterprise Manager Framework Security for the Management Agent:

  1. Ensure that your Management Service and the Management Repository are up and running.

  2. Stop the Management Agent:

    emctl stop agent
    
  3. Enter the following command:

    emctl secure agent
    

    The emctl secure agent utility prompts you for the Agent Registration Password, authenticates the password against the Management Service, and reconfigures the Management Agent to use Enterprise Manager Framework Security.

    Example 2-7, "Sample Output of the emctl secure agent Utility" shows sample output of the emctl secure agent utility.

  4. Restart the Management Agent:

    emctl start agent
    
  5. Confirm that the Management Agent is secure by checking the Management Agent home page.

    Note:

    You can also check if the Agent Management is secure by running the emctl status agent -secure command, or by checking the Agent and Repository HTTPS URLs in the output of the emctl status agent command.

    In the Management Agent home page , the Secure Upload field indicates whether or not Enterprise Manager Framework Security has been enabled for the Management Agent.

Example 2-7 Sample Output of the emctl secure agent Utility

emctl secure agent
Oracle Enterprise Manager 12c Release 3 Cloud Control.
Copyright (c) 1996, 2013 Oracle Corporation.  All rights reserved.
Securing agent...   Started
Securing agent...   Successful.

Example 2-8 Sample Output of the emctl status agent secure Command

$ emctl status agent -secure
Oracle Enterprise Manager Cloud Control 12c Release 3
Copyright (c) 1996, 2013 Oracle Corporation. All rights reserved.
Checking the security status of the Agent at location set in /ade/pchebrol_emkey/oracle/work/agentStateDir/sysman/config/emd.properties... Done.
Agent is secure at HTTPS Port 1838.
Checking the security status of the OMS at http://adc4110148.us.oracle.com:7654/empbs/upload/... Done.
OMS is secure on HTTPS Port 4473

2.3.4 Managing Agent Registration Passwords

Enterprise Manager uses the Agent Registration password to validate that installations of Oracle Management Agents are authorized to load their data into the Oracle Management Service.

The Agent Registration password is created during installation when security is enabled for the Oracle Management Service. You can add/edit/delete registration passwords directly from the Enterprise Manager console.

Note:

If you want to avoid new Agents from being registered with the OMS, delete all registration passwords.'

2.3.4.1 Using the Cloud Control Console to Manage Agent Registration Passwords

You can use the Cloud Control Console to manage your existing registration passwords or create additional registration passwords:

  1. From the Setup menu, select Security, then select Registration Passwords.

  2. Enterprise Manager displays the Registration Passwords page (Figure 2-8). Registration password specified during install appears in the Registration Passwords table with description <Initial Agent Registration Password>.

  3. Use the Registration Passwords page to change your registration password, create additional registration passwords, or remove registration passwords associated with the current Management Repository.

Figure 2-8 Managing Registration Passwords in the Cloud Control Console

Managing Registration Passwords in the Grid Control Console

When you create or edit an Agent Registration Password on the Registration Passwords page, you can determine whether the password is persistent and available for multiple Management Agents or to be used only once or for a predefined period of time.

For example, if an administrator requests to install a Management Agent on a particular host, you can create a one-time-only password that the administrator can use to install and configure one Management Agent.

On the other hand, you can create a persistent password that an administrator can use for the next two weeks before it expires and the administrator must ask for a new password.

2.3.4.2 Using emctl to Add a New Agent Registration Password

To add a new Agent Registration Password, use the following emctl command on the machine on which the Management Service has been installed:

emctl secure setpwd [sysman pwd] [new registration pwd]

The emctl secure setpwd command requires that you provide the password of the Enterprise Manager super administrator user, sysman, to authorize the addition of the Agent Registration Password.

As with other security passwords, you should change the Agent Registration Password on a regular and frequent basis to prevent it from becoming too widespread.

2.3.5 Restricting HTTP Access to the Management Service

It is important that only secure Management Agent installations that use the Management Service HTTPS channel are able to upload data to your Management Repository and Cloud Control console is accessible via HTTPS only.

To restrict access so Management Agents can upload data to the Management Service only over HTTPS:

  1. Stop the Management Service, the WebTier:

    cd <OMS_ORACLE_HOME>/bin
    emctl stop oms
    
  2. Change directory to the following location in the Management Service home:

    <OMS_ORACLE_HOME>/bin
    
  3. Enter the following command to prevent Management Agents from uploading data to the Management Service over HTTP:

    emctl secure lock -upload
    

    To lock the console and prevent HTTP access to the console, enter the following command:

    emctl secure lock -console
    

    To lock both, enter either of the following commands:

    emctl secure lock or 
    emctl secure lock -upload -console
    

    To lock both the console access and uploads from Agents while enabling security on the Management Service, enter the following command:

    emctl secure oms -lock [other options]
    
  4. Restart the Management Service, the WebTier, and the other application server components:

    cd <OMS_ORACLE_HOME>/bin
    emctl start oms
    
  5. Verify that you cannot access the OMS upload URL using the HTTP protocol:

    For example, navigate to the following URL:

    http://hostname.domain:4889/empbs/upload
    

    You should receive an error message similar to the following:

    Forbidden
    You are not authorised to access this resource on the server.
    

    Note: The HTTP upload port number can be found using the emctl status oms -details command. Search for "HTTP Upload Port"

  6. Verify that you can access the OMS Upload URL using the HTTPS protocol:

    For example, navigate to the following URL:

    https://hostname.domain:4888/empbs/upload
    

    You should receive the following message, which confirms the secure upload port is available to secure Management Agents:

    Http XML File receiver
    Http Recceiver Servlet active!
    

To allow the Management Service to accept uploads from unsecure Management Agents, use the following command:

emctl secure unlock -upload

Note:

  • The OMS need to be stopped before running 'secure unlock', and then restarted afterwards.

  • To unlock the console and allow HTTP access to the console, enter the following command:

    emctl secure unlock -console
    
  • To unlock both, enter either of the following command:

    emctl secure unlock
    emctl secure unlock -console -upload
    

Example 2-9 Sample Output of the emctl secure lock Command

emctl secure lock
Oracle Enterprise Manager 12c Release 3 Cloud Control
Copyright (c) 1996, 2013 Oracle Corporation.  All rights reserved.
OMS Console is locked. Access the console over HTTPS ports.
Agent Upload is locked. Agents must be secure and upload over HTTPS port.
Restart OMS

Example 2-10 Sample Output of the emctl secure unlock Command

emctl secure unlock
Oracle Enterprise Manager 12c Release 3 Cloud Control
Copyright (c) 1996, 2013 Oracle Corporation.  All rights reserved.
OMS Console is unlocked. HTTP ports too can be used to access console.
Agent Upload is unlocked. Unsecure Agents may upload over HTTP.
Restart OMS

Note:

The Oracle Management Service is locked (both console & upload) by default beginning with Enterprise Manager 12c.

2.3.6 Enabling Security for the Management Repository Database

This section describes how to enable Security for the Oracle Management Repository. This section includes the following topics:

2.3.6.1 About Oracle Advanced Security and the sqlnet.ora Configuration File

You enable security for the Management Repository by using Oracle Advanced Security. Oracle Advanced Security ensures the security of data transferred to and from an Oracle database.

See Also:

Oracle Database Advanced Security Administrator's Guide

To enable Oracle Advanced Security for the Management Repository database, you must make modifications to the sqlnet.ora configuration file. The sqlnet.ora configuration file is used to define various database connection properties, including Oracle Advanced Security parameters.

The sqlnet.ora file is located in the following subdirectory of the Database home:

<OMS_ORACLE_HOME>/network/admin

After you have enabled Security for the Management Repository and the Management Services that communicate with the Management Repository, you must also configure Oracle Advanced Security for the Management Agent by modifying the sqlnet.ora configuration file in the Management Agent home directory.

It is important that both the Management Service and the Management Repository are configured to use Oracle Advanced Security. Otherwise, errors will occur when the Management Service attempts to connect to the Management Repository. For example, the Management Service might receive the following error:

ORA-12645: Parameter does not exist

To correct this problem, be sure both the Management Service and the Management Repository are configured as described in the following sections.

Note:

The procedures in this section describe how to manually modify the sqlnet.ora configuration file to enable Oracle Advanced Security. Alternatively, you can make these modifications using the administration tools described in the Oracle Database Advanced Security Administrator's Guide.

2.3.6.2 Configuring the Management Service to Connect to a Secure Management Repository Database

If you have enabled Oracle Advanced Security for the Management Service database—or if you plan to enable Oracle Advanced Security for the Management Repository database—use the following procedure to enable Oracle Advanced Security for the Management Service:

  1. Stop the Management Service:

    <OMS_ORACLE_HOME>/bin/emctl stop oms
    
  2. Set Enterprise Manager operational properties by using the emctl set property command. The following table shows the emoms properties that must be set.

    Table 2-2  Oracle Advanced Security Properties in the Enterprise Manager Properties

    Property Description

    oracle.sysman.emRep.dbConn.enableEncryption

    Defines whether or not Enterprise Manager will use encryption between Management Service and Management Repository.Possible values are TRUE and FALSE. The default value is TRUE.For example:

    emctl set property -name 'oracle.sysman.emrep.dbConn.enableEncryption" -value 'true'

    oracle.net.encryption_client

    Defines the Management Service encryption requirement.Possible values are REJECTED, ACCEPTED, REQUESTED, and REQUIRED.

    IMPORTANT: DO NOT set the encryption_client property to REQUIRED as this prevents Enterprise Manager from receiving notifications from server generated alerts (such as tablespace full). Currently, Enterprise Manager does not support server generated alerts with the REQUIRED setting; Only the REQUESTED setting is supported.

    The default value is REQUESTED. If the database supports secure connections, then the Management Service uses secure connections, otherwise the Management Service uses insecure connections.

    For example:

    oracle.net.encryption_client=REQUESTED

    oracle.net.encryption_types_client

    Defines the different types of encryption algorithms the client supports.Possible values should be listed within parenthesis. The default value is ( DES40C ).

    For example:

    oracle.net. encryption_types_client=( DES40C )

    oracle.net.crypto_checksum_client

    Defines the Client's checksum requirements.

    Possible values are REJECTED, ACCEPTED, REQUESTED, and REQUIRED.

    The default value is REQUESTED. In other words, if the server supports checksum enabled connections, then the Management Service uses them, otherwise it uses normal connections.

    For example:

    oracle.net. crypto_checksum_client=REQUESTED

    oracle.net.crypto_checksum_types_client

    This property defines the different types of checksums algorithms the client supports.

    Possible values should be listed within parentheses. The default value is ( MD5 ).

    For example:

    oracle.net. crypto_checksum_types_client=( MD5 )


  3. Restart the Management Service.

    <OMS_ORACLE_HOME>/bin/emctl start oms
    

2.3.6.3 Enabling Oracle Advanced Security for the Management Repository

To ensure your database is secure and that only encrypted data is transferred between your database server and other sources, review the security documentation available in the Oracle Database documentation library.

See Also:

Oracle Database Advanced Security Administrator's Guide

The following instructions provide an example of how you can confirm that Oracle Advanced Security is enabled for your Management Repository database and its connections with the Management Service:

  1. Locate the sqlnet.ora configuration file in the following directory of the database Oracle Home:

    <OMS_ORACLE_HOME>/network/admin
    
  2. Using a text editor, look for the following entries (or similar entries) in the sqlnet.ora file:

    SQLNET.ENCRYPTION_SERVER = REQUESTED
    SQLNET.CRYPTO_SEED = "abcdefg123456789"
    

    See Also:

    "Configuring Network Data Encryption and Integrity for Oracle Servers and Clients in the Oracle Application Server 10g Administrator's Guide.
  3. Save your changes and exit the text editor.

2.3.6.4 Enabling Security for a Management Agent Monitoring a Secure Management Repository or Database

After you have enabled Oracle Advanced Security for the Management Repository, you must also enable Advanced Security for the Management Agent that is monitoring the Management Repository:

  1. Locate the sqlnet.ora configuration file in the following directory inside the home directory for the Management Agent that is monitoring the Management Repository:

    AGENT_HOME/network/admin (UNIX)
    AGENT_HOME\network\admin (Windows)
    
  2. Using a text editor, add the following entry to the sqlnet.ora configuration file:

    SQLNET.CRYPTO_SEED = "abcdefg123456789"
    

    The SQLNET.CRYPTO_SEED can be any string between 10 to 70 characters.

    See Also:

    "Configuring Network Data Encryption and Integrity for Oracle Servers and Clients in the Oracle Application Server Administrator's Guide.
  3. Save your changes and exit the text editor.

  4. Restart the Management Agent.

2.3.7 Custom Configurations

2.3.7.1 Configuring Custom Certificates for WebLogic Server

WebLogic Servers installed as part of Enterprise Manager Cloud control (Administration Server and Managed Servers) are configured with a default identity keystore ( DemoIdentity.jks) and a default trust keystore ( DemoTrust.jks). In addition, WebLogic Server trusts the CA certificates in the JDK cacerts file. This default keystore configuration is appropriate for testing and development purposes. However, these keystores should not be used in a production environment.

Default Demo Certificate configured for WLS has a key length of 512 bits. If Microsoft's Security update for minimum certificate key length (KB2661254) has been applied on the browser m/c, the WebLogic Admin Console will not be accessible on Internet Explorer. If you want to access WebLogic Admin Console using Internet Explorer, please configure custom certificate for WLS.

The following sections step you through configuring custom Weblogic Server certificates:

  1. Create a Java KeyStore or Wallet for each OMS

  2. Import Custom CA Certificates into the Agents Monitoring Trust Store

  3. Configure the Custom Certificate for each WLS

Note:

This procedure is applicable to Enterprise Manager 12c Cloud Control (12.1.0.2) and higher.
2.3.7.1.1 Create a Java KeyStore or Wallet for each OMS
  1. Create a java keystore (JKS) for each OMS in the environment.

    Regardless of whether the OMS is configured with a server load balancer or not, specify the OMS machine name for CN (Example: CN=myoms.mydomain.com) while generating the Certificate Signing Request (CSR). The OMS machine name can be found from the value of EM_INSTANCE_HOST property in <EM_Instance_Home>/emgc.properties.

    Make a note of the keystore password, private key entry's alias, and private key password of each keystore.

    Note: Use only the signature algorithms supported by WLS.

  2. Copy the keystores to corresponding OMS machines or place them in a location accessible from OMS machines.

    Example: The keystores are /scratch/oms1.jks, /scratch/oms2.jks , /scratch/oms3.jks

  3. Write the CA certificates to individual files (one CA certificate per file). Either copy these certificate files to the OMS machines or place them in a location accessible from the OMS machines.

    Example: The filenames are /scratch/ca1cert.cer, /scratch/ca2cert.cer, /scratch/ca3cert.cer

2.3.7.1.2 Import Custom CA Certificates into the Agents Monitoring Trust Store

Execute the following steps on Management Agents running on the OMS machines which are installed along with the OMS.

Note:

Only required on Agents installed along with OMS and not on any other Agents.
  1. Stop the Agent

    <Agent_Instance_Home>/bin/emctl stop agent

  2. Import the custom CA certificate into Agent:

    <Agent_Instance_Home>/bin/emctl secure add_trust_cert_to_jks 
    -trust_certs_loc <ca_cert_file>
    -alias <certalias> [-password <montrust_jks_pwd>]
    

    Example:

    <Agent_Instance_Home>/bin/emctl secure add_trust_cert_to_jks -trust_certs_loc /scratch/ca1cert.cer
    -alias ca1certalias [-password welcome]
    

    Repeat this step for each CA involved in issuing the custom certificate.

    Specify different alias each time.

  3. Start the Agent.

    <Agent_Instance_Home>/bin/emctl

2.3.7.1.3 Configure the Custom Certificate for each WLS

Execute the following steps on each OMS:

  1. Stop the OMS.

    <OMS_Home>/bin/emctl stop oms

  2. Run the following cmd:

    emctl secure wls
    (-jks_loc <loc> -jks_pvtkey_alias <alias> [-jks_pwd <pwd>] [-jks_pvtkey_pwd <pwd>] | -wallet <loc>)
    Specify jks_loc,jks_pvtkey_alias or wallet 
    

    Example:

    <OMS_OH>/bin/emctl secure wls 
    -jks_loc /scratch/oms1.jks -jks_pvtkey_alias pvtkey1alias
    
    <OMS_OH>/bin/emctl secure wls -wallet /scratch/omswallet
    
  3. Stop the OMS.

    <OMS_Home>/bin/emctl stop oms -all

  4. Start the OMS.

    Note:

    Above steps need to be repeated on all the Management Services.

    <OMS_Home>/bin/emctl start oms

2.3.7.1.4 Rolling back the WebLogic Servers to Demonstration Certificate

If you need to switch to using the default WebLogic demonstration certificates, execute the following steps on each OMS.

  1. Stop the OMS.

    <OMS_Home>/bin/emctl stop oms

  2. Run the following command:

    <OMS_Home>/bin/emctl secure wls -use_demo_cert
    
  3. Stop the OMS.

    <OMS_Home>/bin/emctl stop oms -all

  4. Start the OMS.

    <OMS_Home>/bin/emctl start oms

Note:

The above steps need to be excuted on all Management Services.

2.3.7.2 Configuring Custom Certificates for OMS Console Access

To configure the third party certificate for HTTPS WebTier Virtual Host:

  1. Create a wallet for each OMS in the Cloud. Specify the host name of the machine where the OMS is installed or the Load Balancer Name if the OMS is behind the Server Load Balancer for Common Name.

  2. Run the following command on each OMS and the restart that OMS:

    emctl secure console -wallet <location of custom wallets> -self_signed [-host]
    

    Note:

    One of the arguments -wallet or -self_signed is mandatory.

    Note:

    Only Single-Sign-On (SSO) wallets are supported.

2.3.7.3 Configuring Custom Certificates for OMS Upload Access

You can configure the third party certificate for the HTTPS Upload Virtual Host in two ways:

Method I

  1. Create a wallet for each OMS in the Cloud.

  2. While creating the wallet, specify the host name of the machine where the OMS is installed or the Load Balancer Name if the OMS is behind the Load Balancer for Common Name.

  3. Write the certificates of all the Certificate Authorities in the certificate chain (like the Root Certificate Authority, Intermediate Certificate Authority) into a file named trusted_certs.txt.

  4. Download or copy the trusted_certs.txt file to the host machines on which each Agent that is communicating with the OMS is running.

  5. Import the custom CA certificate(s) as trust certificate(s) for Agent by running the following command:

    emctl secure add_trust_cert -trust_certs_loc <location of the trusted_certs.txt file>
    
  6. Restart the Agent.

  7. Secure the OMS and restart it.

    emctl secure oms -wallet <location of wallet> -trust_certs_loc <loc of trusted_certs.txt> [any other options]
    

Method 2

  1. Create a wallet for each OMS in the Cloud.

  2. Specify the host name of the machine where the OMS is installed or the Load Balancer Name if the OMS is behind the Server Load Balancer for Common Name (CN).

  3. Write the certificates of all the Certificate Authorities in the certificate chain (like the Root Certificate Authority, Intermediate Certificate Authority) into a file named trusted_certs.txt.

  4. Secure the OMS.

    emctl secure oms -wallet <location of wallet> -trust_certs_loc <loc of trusted_certs.txt> [any other options]
    
  5. Restart the OMS.

  6. Either re-secure the Agent by running the emctl secure agent command (should be run on all Agents) or import the trust points by running the emctl secure command.

    Note:

    The trusted certs file (trusted_certs.txt) should contain only certificates in base64 format and not any special characters or comments..

2.3.7.4 Configuring Transport Layer Security

The Oracle Management Service can be configured in the following modes:

  • TLSv1-only mode: To configure the OMS to use only TLSv1 connections, do the following:

    1. Stop the OMS by entering the following command:

      <OMS_ORACLE_HOME>/bin/emctl stop oms
      
    2. Enter the following command:

      emctl secure oms -protocol TLSv1
      
    3. Append -Dweblogic.security.SSL.protocolVersion=TLS1 to JAVA_OPTIONS in Domain_Home/bin/startEMServer.sh/cmd. If this property already exists, update the value to TLS1.

    4. Restart the OMS with the following command:

      <OMS_ORACLE_HOME>/bin/emctl start oms
      
  • SSLv3 Only Mode: To configure the OMS to use SSLv3 connections only, do the following:

    1. Stop the OMS by entering the following command:

      <OMS_ORACLE_HOME>/bin/emctl stop oms
      
    2. Enter the following command:

      emctl secure oms -protocol SSLv3
      
    3. Append -Dweblogic.security.SSL.protocolVersion=SSL3 to JAVA_OPTIONS in Domain_Home/bin/startEMServer.sh or startEMServer.cmd on Windows. If this property already exists, update the value to SSL3.

    4. Restart the OMS with the following command:

      <OMS_ORACLE_HOME>/bin/emctl start oms
      
  • Mixed Mode: To configure the OMS to use both SSLv3 and TLSv1 connections, do the following:

    1. Stop the OMS by entering the following command:

      <OMS_ORACLE_HOME>/bin/emctl stop oms
      
    2. Enter the following command:

      emctl secure oms
      
    3. Append -Dweblogic.security.SSL.protocolVersion=ALL to JAVA_OPTIONS in Domain_Home/bin/startEMServer.sh. If this property already exists, update the value to ALL.

    4. Restart the OMS with the following command:

      <OMS_ORACLE_HOME>/bin/emctl start oms
      

Note:

By default, the OMS is configured to use the Mixed Mode. To configure the Management Agent in TLSv1 only mode, set allowTLSOnly=true in the emd.properties file and restart the Agent.

2.3.8 Secure Communication Setup Tools

The following emctl commands are used to secure various components of the Enterprise Manager infrastructure.

2.3.8.1 emctl secure oms

emctl secure oms [-sysman_pwd <sysman password>] [-reg_pwd <registration password>]
        [-host <hostname>] [-ms_hostname <Managed Server hostname>]
        [-slb_port <SLB HTTPS upload port>] [-slb_console_port <SLB HTTPS console port>] [-no_slb]
        [-secure_port <OHS HTTPS upload Port>] [-upload_http_port <OHS HTTP upload port>]
        [-reset] [-console] [-force_newca]
        [-lock_upload] [-lock_console] [-unlock_upload] [-unlock_console]
        [-wallet <wallet_loc> -trust_certs_loc <certs_loc>]
        [-key_strength <strength>] [-sign_alg <md5|sha1|sha256|sha384|sha512>]
        [-cert_validity <validity>] [-protocol <protocol>]
        [-root_dc <root_dc>] [-root_country <root_country>] [-root_email <root_email>]
        [-root_state <root_state>] [-root_loc <root_loc>] [-root_org <root_org>] [-root_unit <root_unit>]
Parameter Description
sysman_pwd Oracle Management Repository user password.
reg_pwd The Management Agent registration password.
host The host name to be used in the certificate used by the Oracle Management Service. You may need to use the SLB host name if there is an SLB before the Management Service.
reset A new certificate authority will be created. All the Agents and Oracle Management Services need to be resecured.
secure_port Specify this to change HTTPS Upload port on WebTier.
upload_http_port Specify this to change HTTP Upload port on WebTier
slb_port This parameter is required when Server Load Balancer is used. It specifies the secure upload port configured in the Server Load Balancer.
slb_console_port This parameter is required when Server Load Balancer is used. It specifies the secure console port configured in the Server Load Balancer.
no_slb Remove SLB configuration.
root_dc The domain component used in the root certificate. The default value is com.
root_country The country to be used in the root certificate. The default value is US.
root_state The state to be used in the root certificate. The default value is CA.
root_loc The location to be used in the root certificate. The default value is EnterpriseManager on <hostname>.
root_org The organization name to be used in the root certificate. The default value is EnterpriseManager on <hostname>.
root_unit The organizational unit to be used in the root certificate. The default value is EnterpriseManager on <hostname>.
root_email The email address to be used in the root certificate. The default value is EnterpriseManager@<hostname>.
wallet This is the location of the wallet containing the third party certificate. This parameter should be specified while configuring third party certificates.
trust_certs_loc The location of the trusted_certs.txt (required when third party certificates are used).
key_strength The strength of the key to be used. Valid values are 512, 1024, 2048, and 4096.

Note: For the IBM AIX Platform, the maximum allowed key_strength is 2048 bits.

cert_validity The number of days for which the self-signed certificate is valid. The valid range is between 1 to 3650.
protocol This parameter is used to configure Oracle Management Service in TLSv1-only or SSLv3-only or mixed mode (default). Valid values are the allowed values as per Apache's SSLProtocol directive.

Note: The key_strength and cert_validity parameters are applicable only when the -wallet option is not used.

force_newca If specified, any Agents that are still configured with an older Certificate Authority are ignored.
ms_hostname Managed Server's hostname.
sign_alg Signature algorithm.
lock Locks the Upload
lock_console Locks the Console
console If specified, the certificate is recreated for the HTTPS console port as well.

2.3.8.2 emctl secure agent

Secures the agent against an OMS. The registration password (or password file) must be provided.

emctl secure agent <registration password> [-passwd_file <absolute path to file>]

2.3.8.3 emctl secure wls

emctl secure wls (-jks_loc <loc> -jks_pvtkey_alias <alias> | -wallet <loc> | -use_demo_cert)
Specify jks_loc,jks_pvtkey_alias or wallet or use_demo_cert
        [-jks_pwd <pwd>] [-jks_pvtkey_pwd <pwd>]
        -jks_loc : Location of JKS containing the custom cert for Admin & Managed Servers
        -jks_pvtkey_alias : JKS's private key alias
        -jks_pwd : JKS's keystore password
        -jks_pvtkey_pwd : JKS's private key password
        -wallet : Location of wallet containing the custom cert for Admin & Managed Servers
        -use_demo_cert: Configure the demo cert for Admin & Managed Servers

2.3.8.4 emctl status oms -details

emctl status oms -details [-sysman_pwd <pwd>]

2.3.9 Configuring Third Party Certificates

You can configure third party certificates for:

  • HTTPS Console Users

  • HTTPS Upload Virtual Host

Note:

Only Single Sign-On wallets are supported.

2.3.9.1 Configuring a Third Party Certificate for HTTPS Console Users

To configure the third party certificate for HTTPS WebTier Virtual Host:

  1. Create a wallet for each OMS. Specify the host name of the machine where the OMS is installed or the Load Balancer Name if the OMS is behind the Server Load Balancer for Common Name.

  2. Run the following command on each OMS and the restart that OMS:

    emctl secure console -wallet <location of custom wallets> -self_signed [-host]
    

    Note:

    One of the arguments -wallet or -self_signed is mandatory.

    Note:

    Only single-sign-on wallets are supported.

2.3.9.2 Configuring Third Party Certificate for HTTPS Upload Virtual Host

You can configure the third party certificate for the HTTPS Upload Virtual Host in two ways:

Method I

  1. Create a wallet for each OMS.

  2. While creating the wallet, specify the host name of the machine where the OMS is installed or the Load Balancer Name if the OMS is behind the Load Balancer for Common Name.

  3. Write the certificates of all the Certificate Authorities in the certificate chain (like the Root Certificate Authority, Intermediate Certificate Authority) into a file named trusted_certs.txt.

  4. Download or copy the trusted_certs.txt file to the host machines on which each Agent that is communicating with the OMS is running.

  5. Run the add_trust_cert command on each Agent and then restart that Agent.

    emctl secure add_trust_cert -trust_certs_loc <location of the trusted_certs.txt file>
    
  6. Secure the OMS and restart it.

    emctl secure oms -wallet <location of wallet> -trust_certs_loc <loc of trusted_certs.txt> [any other options]
    

Method 2

  1. Create a wallet for each OMS in the Cloud.

  2. Specify the host name of the machine where the OMS is installed or the Load Balancer Name if the OMS is behind the Server Load Balancer for Common Name (CN).

  3. Write the certificates of all the Certificate Authorities in the certificate chain (like the Root Certificate Authority, Intermediate Certificate Authority) into a file named trusted_certs.txt.

  4. Restart the OMS after it has been secured.

    emctl secure oms -wallet <location of wallet> -trust_certs_loc <loc of trusted_certs.txt> [any other options]
    
  5. Either re-secure the Agent by running the emctl secure agent command (should be run on all Agents) or import the trust points by running the emctl secure add_trust_cert -trust_certs_loc <location of the trusted_certs.txt file> command. The -trust_certs_loc parameter must contain the path and the filename of the trusted_certs.txt file.

    Note:

    This file must only contain certificates in base64 format and no special characters or empty lines.

2.4 Configuring and Using Target Credentials

The following topics are discussed in this section:

  • Credential Subsystem

  • Pluggable Authentication Modules (PAM) Support

  • Sudo and Powerbroker Support

2.4.1 Credential Subsystem

Credentials like user names and passwords are typically required to access targets such as databases, application servers, and hosts. The following flow chart illustrates the typical credential setup workflow.

Figure 2-9 Credential Setup Workflow

Credential flow chartl

Credentials are encrypted and stored in Enterprise Manager. Beginning with Enterprise Manager 12c, the credential subsystem supports, in addition to basic username-password, strong authentication schemes such as PKI, SSH keys and Kerberos. SSH key based host authentication, used by jobs, deployment procedures and other Enterprise Manger subsystems, is now supported.

By using appropriate credentials, you can:

  • Collect metrics in the background as well as real-time

  • Perform jobs such as backup, patching, and cloning

  • Perform real-time target administration such as start, and stop

  • Connect to My Oracle Support

Based on their usage, credentials can be classified into the following categories:

2.4.1.1 Named Credentials

Credentials are stored within Enterprise Manager as "named" entities. Administrators define and store credentials within Enterprise Manager and refer to the credential by a credential name.The advantages of saving the credentials are:

  • You do not have to expose the credential details to all the users.

  • It saves your time and effort as you do not have to specify the user name and password every time for each Oracle home or host machine, you can instead select a named profile that has used the saved credentials.

Named Credentials can be a username/password pair like the operating system login credentials, or Oracle home owner credentials primarily used for performing operations such as running jobs, patching and other system management tasks. For example, an administrator can store the username and password they want to use for patching as "MyPatchingCreds". He can later submit a patching job that uses "MyPatchingCreds" to patch a production databases.

Typical Scenarios for Using Named Credentials

  • In datacenters where only senior DBAs have knowledge of higher privileged credential, sys credentials for database, for example, they can store these credentials in named credential and share these with the junior administrators. Junior administrators can perform their jobs using the named credentials without knowing what the actual credentials are.

  • In datacenters where administrators have the same credentials for a target. They can create one named credential containing those credentials and share the named credential with appropriate personnel. This simplifies credential maintenance (changing passwords, for example) by eliminating the need to several copies of named credentials containing the same credentials.

Note:

For a video tutorial on using named credentials, see:

Oracle Enterprise Manager 12c: Create and Use Named Credentials

https://apex.oracle.com/pls/apex/f?p=44785:24:0::NO:24:P24_CONTENT_ID,P24_PREV_PAGE:5460,1

There are two category scopes of named credentials:

  • Global Named Credential

    A global named credential is an entity, containing authentication information for a target type. A global named credential can be applied to any Enterprise Manager target type at the time of its creation or, at a later time. Global named credentials consist of the credential type (also known as the authentication scheme) and the credential properties (also known as the authentication parameters).

    Each target type may have one or more credential types,

    For example:

    hostA has password based (requiring username/password) and SSH key (requiring public/private key pair) credential type and database instanceA has password based and Kerberos based credential type.

    Credential properties consist of the information needed for the credential type and may also contain parameters, if being used for Privilege Delegation, PDP, for more information about PDP, see the section on Privilege Delegation, for possible commands and parameters.

    As global named credentials are initially set up as independent entities, an Enterprise Manger administrator can associate this type of credential with a target type at a later time.

  • Target Named Credentials

    A target named credential is an entity, containing credential information applied to a specific target. A target named credential can be applied to an Enterprise Manager target and is applied at the time of creation. This entity will also contain a credential type (whether it is username/password or public/private key pair) along with credential parameters (In the case of PDP settings, the location of the PDP utility being used and the parameters and command to be run) for a target type.

Access Control

In order to create a named credential an administrator must have the CREATE_CREDENTIAL privilege. Once the administrator with the CREATE_CREDENTIAL privilege creates a named credential, he is considered the owner of that named credential. The owner of a named credential can share access to the named credential at any time. He is considered the grantor administrator. The administrator granted access to the named credential is the grantee administrator. The owner can share access to the named credential by granting the appropriate level of privilege to one or many grantee administrators. The type of privilege granted by the owner of the named credential depends on the level of access needed by the grantee administrator. The following privilege levels are available for all named credentials:

  • VIEW: The VIEW privilege is the default privilege level. Grantee administrators with VIEW privilege on a named credential will be able to use that named credential to run jobs, patching operations and other system management activities within Enterprise Manager. The grantee administrator will also be able to view the non-sensitive details (for example, SUDO or PowerBroker and the commands being used) and username of the named credential. The grantee administrator will not be unable to view any sensitive information of the named credential such as the password and public/private key.

  • EDIT: The EDIT privilege level also contains VIEW level privileges. Grantee administrators with EDIT privilege on a named credential can use that named credential to run jobs, patch operations and other management activities within Enterprise Manager. The grantee administrator will also be able to change the sensitive information such as the password, or the public/private key pair of that named credential. The grantee administrator can change both the Credential Type (such as Host or SSH key) of the named credential as well as the username for the credential. The authenticating target type cannot be changed.

  • FULL: The FULL privilege contains both VIEW and EDIT. Grantee administrators with FULL privilege on a named credential will be able to use that named credential for running jobs, patching operations and other management activities within Enterprise Manager. The grantee administrator will also be able to change the named credential username, sensitive information such as the password or the public/private key pair, and Credential Type (Host, SSH key etc). An administrator with FULL privilege on a named credential will also be able to delete that named credential.

Creating Named Credentials

You must have the Named Credential resource privilege to create named credentials.

To create named credentials, follow these steps:

  1. In Cloud Control, from the Setup menu, select Security, then select Named Credentials.

  2. On the Named Credentials page, click Create.

  3. On the Create Credentials page, in the General Properties section, provide the following details:

    1. Enter a unique Credential Name, and provide a description.

    2. Select Host as the Authentication Target Type, and Host Credentials as the Credential type

    3. Select Global to use the same credentials for all the targets.

  4. On the Create Credentials page, in the Credential Properties section, enter the UserName and Password required to access the host machine, and from the Run Privilege drop down list, do one of the following:

    • Select None, if you are using operating system host credentials (like Oracle) or the Oracle Home Owner credentials.

    • When you do not have access to the operating system host credentials or the root credentials of the host machine, then select Sudo or PowerBroker to SUDO (or pbrun)to the host machine using the credentials of another operating system user. To use the credentials of other users, in the Run As field, you need to enter operating system host credentials (like Oracle) or Oracle Home owner credentials of the host user.

    Surrounding text describes named.gif.
  5. On the Create Credentials page, in the Access Control section, click Add Grant to grant privileges on the named profile to the selected Administrators or roles. By default the selected Administrator is granted View privilege.

    Note:

    To enable Administrators (or users) to access, and leverage an OMS Agent Filesystem Software Library Location, the owner of the Named Credential must ensure that an explicit View privilege is granted to all the Administrators accesssing the OMS Agent location. To do so, you can either click Add Grant and add the names of the administrators while creating the Named Credential as mentioned in this section, or edit an existing Named Credential to grant privileges to other Administrators (or users) by following these steps:
    1. In Cloud Control, from the Setup menu, select Security, then select Named Credentials.

    2. On the Named Credentials page, click Manage Access.

    3. On the Manage Access page, click Add Grant to add a user, or Change Privilege to edit the privileges of an existing user.

    4. Click Save.

    For example, if you have a Cloud Plug-in installed, and are using the Cloud features in Enterprise Manager, then ensure that the CLOUD_ENGINE_USER is also granted View privileges on credentials associated with Software Library. Since the CLOUD_ENGINE_USER is a hidden user account, the owner of the named credential will not be able to grant him View privileges from the Enterprise Manager UI. To handle this situation, (especially on a Windows host where OMS Agent Filesystem is the recommended approach for setting up Software Library) you can run the following EMCLI commands:

    emcli login -username=<username> -password=<password>
    emcli grant_privs -name=CLOUD_ENGINE_USER -privilege="GET_CREDENTIAL;CRED_NAME=<>:CRDED_OWNER=<>"
    

    To change the privilege, select the administrator, and click Change Privilege. In the Select Privilege dialog box, change the privilege to Edit or Full, and then click OK.

  6. After entering all the details, click Test and Save. If the host credentials are correct, then the test is successful and the credentials get saved.

Enterprise Manager Administrators will be able to grant privileges to other administrators while creating the credential or by granting the privileges when editing the credential. The Named Credential page displays as shown in the following figure.

Figure 2-10 Named Credentials Page

Graphic shows the named credentials page.

From the Named Credential page, you can Create a new named credential, Edit an existing credential, Manage Access (grant/revoke privileges), Delete, Test, View References, or click the Query by Example icon to filter the list of named credentials.

Only the credential owner can manage access their credentials. When a credential owner views references, he can see all references even if not owned by him. Whereas a user who does not own the credential, will see only their own references.

Access Control for Named Credentials

Note:

You must have the Named Credentials resource privilges in order to create a named credential.

The access control model for named credentials adhere to the following rules:

  • Only named credential owners can grant privileges on named credentials they have created to other Enterprise Manager grantee administrators.

  • Enterprise Manager Super Administrators cannot obtain any privileges on a newly created named credential until he is explicitly granted privileges on the named credential.

  • Enterprise Manager administrators regardless of privilege level, cannot see the sensitive fields such as passwords and private keys from the console UI. This is achieved by replacing password with "*" characters.

  • Named credential privileges cannot be assigned to a role. This eliminates back door entry by Enterprise Manager Super Administrators to grant themselves privileges on the credentials for which they do not have explicit access.

  • An Enterprise Manager grantee administrator cannot view other administrators' credentials unless an explicit grant is provided by the owner. Even Enterprise Manager Super Administrators cannot view other users' named credentials by default.

  • Any Enterprise Manager administrator can create his own named credentials and, by default, has FULL privileges on the named credentials owned.

Note:

All the credentials owned by an Enterprise Manager administrator will be deleted if that administrator is deleted from Enterprise Manager. All references and grants to grantee administrators of that named credential will also be deleted. Since access to a named credential is not granted to a Super Administrator, by default, a super administrator cannot re-assign a named credential owned by another administrator, by default.
2.4.1.1.1 Authentication Scheme

An authentication scheme is the type of authentication supported by a target type. For example, a host can support a username/password-based authentication, Public Key authentication or Kerberos authentication. In fact, each target type in an enterprise may support different authentication schemes. To accommodate the many authentication schemes that can exist in a managed environment, Enterprise Manger allows you to configure the credentials for these authentication schemes.

2.4.1.2 Privileged Credentials

Privileged Credentials specify root users' authentication information on a system. Privileged credentials are the root account details used to perform privileged actions like executing root scripts. Privileged credentials are intended for privileged or power users. In Enterprise Manager 11g, each provisioning user required SUDO privileges that had to be explicitly granted. However, in Enterprise Manager 12c, you must set up privileged credentials to perform typical root user actions with SUDO privileges.

Creating Privileged Credentials

To create privileged credentials, follow these steps:

  1. Create the Named credentials using the steps mentioned in "Creating Named Credentials".

  2. On the Named Credentials page, select the credential, and then click Edit.

  3. On the Edit Credential Properties page, in the Credential Properties section, edit the existing UserName and Password required to access the host machine, and from the Run Privilege drop down list, do one of the following:

    • Select None, if you are using operating system host credentials (like Oracle) or the Oracle Home Owner credentials.

    • When you do not have access to the operating system host credentials or the root credentials of the host machine, then select Sudo or PowerBroker to sudo (or pbrun)to the host machine using the credentials of another operating system user. To use the credentials of other users, in the Run As field, you need to enter operating system host credentials (like Oracle) or Oracle Home owner credentials of the host user.

2.4.1.3 Monitoring Credentials

Monitoring credentials are used only by the Management Agent during the monitoring of specific types of targets. Targets requiring monitoring credentials will be displayed in the console. When targets are added to Enterprise Manager an administrator with the correct privilege will set up the monitoring credentials. An administrator must have the ADD_TARGET privilege to discover a target, and to enter the credentials for that target, he needs the CONFIGURE_TARGET privilege. Monitoring credentials are stored in the repository and propagated to the Agent. If the credentials are not set, the target will appear in the broken or down state, there will also be Metric Collection errors as the Agents will be unable to monitor without credentials.

To create or edit a monitoring credentials, from the Setup menu, choose Security and then Monitoring Credentials. The Monitoring Credentials page displays as shown in the following figure.

Figure 2-11 Monitoring Credentials

Surrounding text describes Figure 2-11 .

To modify monitoring credentials, select the desired target type and click Manage Monitoring Credentials. The monitoring credentials page for the selected target type displays. Alternatively, you can also modify monitoring credentials using EM CLI, as shown in the following example.

./emcli set_monitoring_credential -target_name=mytarget.myco.com 
-target_type=host -cred_type=HostCreds -set_name=Bob
-attributes="HostUserName:dwwolf;HostPassword:xxxxx:PDPTYPE:SUDO;RUNAS:root"

2.4.1.4 Preferred Credentials

Preferred credentials are used to simplify access to managed targets by storing the login information for those targets in the Management Repository. For example, for a database target one may have multiple logins, but store a preferred username/password credential to log in to perform specific operations. With preferred credentials, administrators can access an Enterprise Manager target that recognizes those credentials without being prompted to log in to the target, as the login happens automatically with those preferred credentials. Preferred credentials can also be used to carry out administrative operations using the job system. Unlike named credentials, which defines an independent entity, containing the username/password or public/private key, along with a Credential Type and optional parameters, which can be granted to grantee administrators by a named credential owner, a preferred credential is set up by each administrator for any target that they wish to access in a more convenient way.

To create a preferred credential:

  1. From the Setup menu, select Security and then Preferred Credentials. The Preferred Credentials page displays. Preferred Credentials page

  2. Choose a target type from the list.

  3. Click Manage Preferred Credentials. The Preferred Credentials page for the selected target type displays.

Example: An Enterprise Manager target owner defines two preferred credential sets for a host target: One named HostCredNormal and the other is named HostCredPriv. For simple operations he uses HostCredNormal as it uses a regular user (myusername/password) such as oracle/oracle123. However, he uses HostCredPriv for more privileged operations on that host as it uses the root user (root/rootpasswd). When submitting jobs, depending on the job, he could use either of these credential sets.

  • Default Preferred Credentials: Default credentials are configured for a specific target type and is available for all the targets of that target type. It will be overridden by target preferred credentials.

  • Normal Host Credentials (HostCredNormal in the example). Perform normal administrative operations.

  • Privileged Host Credentials (HostCredPriv in the example). Perform privileged operations requiring root access.

  • Target Preferred Credentials: Target preferred credentials are credentials set for a specific target. Target preferred credentials could be used by applications such as the job system, notifications, or patching. For example, if the administrator chooses to use target preferred credentials while submitting a job, then that target preferred credential set for the target (target credentials) will be used. If the target preferred credential is not present, then the default preferred credential (for the target type) will be used. If the default preferred credentials are not present, the job will fail. If not specified preferred credentials refer to preferred target credentials.

For example, to set the host preferred credentials, from the Setup menu, choose Security and then Preferred Credential. In the Preferred Credentials page, select the Host target type from the table and click Manage Preferred Credentials. The Host Preferred Credentials are displayed.

Figure 2-12 Host Preferred Credentials

Surrounding text describes Figure 2-12 .

On this page, you can set both default and explicit preferred credentials for the host target types.

2.4.1.4.1 Global Preferred Credentials

Beginning with Enterprise Manager Release 12.1.0.4, preferred credentials can be globally scoped. Global preferred credentials provide a convenient way to implement system-wide credentials by allowing an administrator (with required privileges) to apply these credentials to all users for a specific target or to apply them to all users for a target type.

The following graphic shows the Host Preferred Credentials page. Settings on the My Preferences tab refer to the preferred credentials set by an administrator to apply to a specific target or target type.

Figure 2-13 Host Preferred Credentials Page

Surrounding text describes Figure 2-13 .

Settings on the Global Preferences tab refer to the preferred credentials set by an Administrator (with required privileges) to apply to all users for a specific target or to apply to all users for all target types.

Figure 2-14 Global Preferred Credentials Page

Global Preferred Credentials
2.4.1.4.2 Required Privileges

The following privileges are required to use Global Preferred Credentials:

  • OPERATOR_ TARGET: Required to use a Global Preferred Credential.

  • FULL_TARGET: Required to set target-specific scope at the Global Preferences level.

  • FULL_ANY_TARGET: Required to set target type scope at the Global Preferences level.

2.4.1.4.3 Hierarchy of Credential Preference

Preferred credentials are resolved in specific order. User-scoped preferences will always takes precedence. Enterprise Manager first searches at the target level, searching first for the preferred credential for that target name. If not found, it then searches for the target type (default) preferred credential. If these user-scoped preferences are not found, Enterprise Manager then repeats the same search at the Global scope, searching first for the target name preferred credential then target type (default) preferred credential.

Enterprise Manager provides a Credential Hierarchy table that depicts the hierarchy determining which preferred credential is used by the system.

Figure 2-15 Credential Hierarchy Table

Credential Hierarchy

The credential search order is always the same and continues until a preferred credential is found: If credentials are not found at one level Enterprise Manager moves to the next level in the sequence.

The following table illustrates the hierarchy of credential preference.

User/Target User 1 User 2 User 3 ... All Users
Target 1          
Target 2          
Target 3   Level 1     Level 3
...          
All Targets   Level 2     Level 4

This example shows the hierarchy of preferred credentials chosen to complete a job if none is explicitly chosen during job execution. The order in which the preferred credential is chosen is always the same. In this example we will assume the job is running as User 2. The following order is always observed until a preferred credential is set at that level.

  • Level 1 - My Preferences, Target Preferred Credential

  • Level 2 - My Preferences, Default (Target Type) Preferred Credential

  • Level 3 - Global Preferences Target Preferred Credential

  • Level 4 - Global Preferences, Default (Target Type) Preferred Credential

It is assumed that the credential has been tested during setup. If a credential is not set at a specific level, the credential sub-system moves on to the next level (checking from level 1 to level 4) until a credential is found. The first credential found is the credential used for the job. Credentials set at subsequent levels are ignored.

Users preferences (preferred credentials), if set, always override global preferences.

2.4.1.5 Saving Preferred Credentials for Hosts and Oracle Homes

To save the credentials as preferred credentials in Cloud Control, follow these steps:

  1. In Cloud Control, from the Setup menu, select Security, then select Preferred Credentials. The Preferred Credentials page displays.

  2. On the Preferred Credentials page, select either Host or Oracle Home from the list of target types, and click Manage Preferred Credentials.

    Note: For setting up preferred credentials for virtual server targets, select Oracle VM Server as the target type and click the Set Credentials.

    • If you select Host for provisioning tasks, then the Host Preferred Credentials page appears.

    • On the Host Preferred Credentials page, in the Target Preferred Credentials section, select the host target on which you want to provision, and click Set.

  3. On the Preferred Credentials page, from the table, select either Host or Oracle Home, and click Manage Preferred Credentials.

    • If you select Oracle Home for patching tasks, then the Oracle Home Preferred Credentials page appears.

    • On the Oracle Home Preferred Credentials page, in the Target Preferred Credentials section, select the Oracle home you want to patch. Ensure that you set both Normal and Privileged credentials for the targets selected, and click Set.

2.4.1.6 Saving Preferred Credentials to Access My Oracle Support

To register the My Oracle Support credentials as preferred credentials in Cloud Control, follow these steps:

  1. In Cloud Control, from the Setup menu, select My Oracle Support, and then, click Set Credentials.

  2. On the My Oracle Support page, provide the My Oracle Support credentials, and click Apply.

Oracle recommends you to register the My Oracle Support credentials as preferred credentials in Cloud Control so that you do not have to explicitly provide the credentials every time you access the My Oracle Support console, which is integrated within the Cloud Control console.

2.4.1.7 Managing Credentials Using EM CLI

You can manage passwords using EM CLI verbs. Using EM CLI, you can perform such actions as:

  • Change the database user password in both the target database and Enterprise Manager.

    emcli update_db_password -change_at_target=Yes|No -change_all_reference=Yes|No
    
  • Update a password which has already been changed at the host target.

    emcli update_host_password -change_all_reference=Yes|No
    
  • Set preferred credentials for given users.

    emcli set_preferred_credential
    -set_name="set_name"
    -target_name="target_name"
    -target_type="ttype"
    -credential_name="cred_name"
    [-credential_owner ="owner]"
    

    And

    emcli set_preferred_credential
    -set_name="set_name"
    -target_name="target_name"
    -target_type="ttype"
    -credential_name="cred_name"
    [-credential_owner ="owner]"
    
  • Determine if a specific target type has perferred credentials configured for it..

    bin/emcli list -res=PreferredCredentials -bind="TargetType = 'host'
    

For a complete list of credential management verbs, refer to the Enterprise Manager Command Line Interface guide.

2.4.1.8 Host Authentication Features

This section covers the following topics:

2.4.1.8.1 Setting Up SSH Key-based Host Authentication

Secure Shell or SSH allows data to be exchanged over the network using a secure channel between two devices. SSH is used primarily on Linux and Unix based systems. SSH was designed as a replacement for FTP, telnet and other unsecure remote shells, which send information, notably passwords in plaintext, leaving them open for interception. The encryption used by SSH provides confidentiality and integrity of data over an insecure network. SSH also protects the system against DNS spoofing attacks. This makes SSH a better choice in production environments over telnet/FTP and other username/password based authentications.

You can configure Enterprise Manager to use SSH while performing management operations, thus allowing Enterprise Manager administrators to leverage the security features provided by SSH along with the management capabilities of Enterprise Manager. When authenticating in this mode, the Agent acts as a Java SSH client and connect to the host using the username/password provided in the credential.

Enterprise Manager allows you to store a public-private key pair for administrators and allows them to view and install the public key on the hosts. Administrators can then submit jobs/patching operations in which they specify the credential that refers to the private key to perform the operation. The OMS passes the private key to the Agent along with the commands and the command parameters. Agent invokes the Java SSH client and attempts to connect to the host using the private key. Since the host already has the public key installed, it identifies the private key and successfully authenticates the Agent's Java SSH client. The Agent can now run the commands via the SSH client on the host to perform the requested operations.The username used in the communication must be a valid OS user on both the host and the OMS. This is the username used in the named credential and not the username of the administrator invoking the operation.

2.4.1.8.2 Setup Example Session

To generate, manage, or convert SSH authentication keys, you use the SSH-keygen utility available on UNIX systems. This utility SSH-keygen tool provides different options to create with different strengths RSA keys for SSH protocol version 1 and RSA or DSA keys for use by SSH protocol version 2.

Note:

The procedure shown in this example assumes that you have a firm understanding of SSH setup procedures and user and host equivalence using public private key pair using SSH.

Example 2-11 Setting Up SSH key-based Authentication

$ ssh-keygen -t rsa      

The command options instruct the utility to generate SSH keys (RSA key pair).

Generating public/private rsa key pair.
Enter file in which to save the key (/home/myhome/.ssh/id_rsa):  

The path specified is the standard path to the location where SSH keys are stored ($HOME/.ssh).

Enter passphrase (empty for no passphrase)

Important: passphrase is not supported for use with SSH keys in named credentials.

Enter same passphrase again: (empty for no passphrase)
Your identification has been saved in /home/admin1/.ssh/id_rsa.
Your public key has been saved in /home/admin1/.ssh/id_rsa.pub.
The key fingerprint is:
bb:da:59:7a:fc:24:c6:9a:ee:dd:af:da:1b:1b:ed:7f admin1@myhost2170474

The ssh-regkey utility has now generated two files in the .ssh directory.

$ ls  id_rsa  id_rsa.pub

To permit access to the host without having SSH prompt for a password, copy the public key to the authorized_keys file on that system.

$ cp id_rsa.pub  authorized_keys   

From this point, all keys listed in that file are allowed access.

Next, perform a remote logon using SSH. The system will not prompt you for a password.

$ ssh myhost  
The authenticity of host 'myhost (10.229.147.184)' can't be established.
RSA key fingerprint is de:a0:2a:d5:23:f0:8a:72:98:74:2c:6f:bf:ad:5b:2b.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'myhost,10.229.147.184' (RSA) to the list of known hosts.
Last login: Mon Aug 29 16:48:45 2012 from anotherhost.example.com
$

You are now ready to add the credential to Enterprise Manager.

  1. From the Setup menu, select Security, then select Named Credentials.

  2. On the Named Credentials page, click Create. The Create Credential page displays.

  3. Enter a Credential Name. For example, SSHCRED1.

    Note: The SSHCRED1 credential set will be used in Section 2.4.1.8.4, "Setting Up Host Preferred Credentials Using SSH Key Credentials (pre-12.1.0.4)"

  4. Select Host from the Authenticating Target Type drop-down menu.

  5. Select SSH Key Credentials from the Credential Type drop-down menu as shown in the following figure.

    Graphic displays the SSH Credential properties.
  6. Ensure that the SSH private key/public key files have been copied to the host on which the browser is running. Doing so makes navigating to the files from within the console easier when you click Browse in the next step.

  7. From the Credential Properties region, enter a UserName. This username is a valid OS user that resides on both the Host and the OMS.

  8. From the Credential Properties region, click Browse for Public Key and Private Key to upload the generated public key/private key files.

  9. Click Test and Save to verify the credentials and save them. The new named credential will appear as shown in the following figure.

Note:

To view an instructional video Oracle Enterprise Manager 12c: Create SSH Key Named Credentials, go to:
https://apex.oracle.com/pls/apex/f?p=44785:24:0::NO:24:P24_CONTENT_ID,P24_PREV_PAGE:5724,1

Figure 2-16 Named Credential Using SSH Keys

named credential using SSH keys
2.4.1.8.3 Setting Up Host Preferred Credentials Using SSH Key Credentials

Enterprise Manager provides out-of-box support (12.1.0.4) for the use of SSH key credentials to be available and used as preferred credentials. SSH key credential sets are used to authenticate against targets. The introduction of SSH key credential sets is useful when a username and password credential is unknown or when considering alternative security options. SSH keys use encryption methods which provide more confidentiality and integrity of data over an otherwise potentially insecure network. Providing this support out of the box, eliminates the Administrator from creating a custom SSH key credential and facilitates ease of use.

To set SSH credentials as preferred credential:

  1. From the Setup menu, select Security and then select Preferred Credentials.

    Surrounding text describes pref_cred_ssh1.gif.
  2. Select the 'Agent' or 'Host' target type and then click Manage Preferred Credential.

    Surrounding text describes pref_cred_ssh2.gif.

    The Agent Preferred Credentials Setting page displays. For more information see the "Preferred Credentials".

    This page will default to the page that was last referenced by the administrator. To set the preferred credential, click the My Preferences tab, as shown in the image below.

    my preferences
  3. Under the Default Preferred Credential region, which sets the preferred credential for all targets of the selected target type, an Agent Target Type was chosen. See above graphic.

    Select Host Credentials and then click Set.

    A dialog displays listing the current choice of available Name Credentials most appropriate for this Agent Target Type. For this Administrator. Select the SSH Credential, and click Save.

    ssh credential

The Default Preferred Credential will then display the credential which will be used for all targets of type Host for this Administrator. The below image shows that the Credential Set = Host Credential; the Target Username = test, which indicates the OS user who is used in the Named Credential.

default preferred credential

This setting means that all Agent connections, by this administrator, will use this credential set to authenticate with all Agents.

2.4.1.8.4 Setting Up Host Preferred Credentials Using SSH Key Credentials (pre-12.1.0.4)

Note:

The method outlined below is a work-around to be used for pre-12.1.0.4 versions of Enterprise Manager.

You can set up host preferred credentials to use SSH keys by creating a new credential set that uses the HostSSHCreds credential type. Enterprise Manager administrators then set up preferred credentials that use this credential set. Each Enterprise Manager target type can have one or more preferred credential sets of pre-defined credential types.

The following steps use EM CLI to create a host preferred credential set which supports SSH key credentials. This example assumes the existence of the named credential SSHCRED1 of type SSH Key Credentials created in the previous section.

  1. Log into EM CLI as an Enterprise Manager Super Administrator.

  2. Create a new credential set of type HostSSHCreds.

    $ emcli create_credential_set -set_name=HostSSHCredSet -target_type=host -supported_cred_types=HostSSHCreds
    
    Credential set "HostSSHCredSet" created successfully.
    

    Once the credential set is created, Enterprise Manger administrators can set up preferred credentials for this newly created credential set using either EM CLI or the Enterprise Manager console.

  3. Set up Preferred Credentials for the newly created credential set. You can use EM CLI or the Enterprise Manger console. The following EM CLI example assumes a named credential called SSHCRED1 of type SSH Key Credentials has already been created.

    $ emcli set_preferred_credential -target_type=host -target_name=myhost.oracle.com -set_name=HostSSHCredSet -credential_name=SSHCRED1
    
    Successfully set preferred credentials for target myhost.oracle.com:host.
    

Once the credential set is created and preferred credentials have been set up, whenever the HostSSHCredSet credential set is used for any of the Enterprise Manager operation, that operation will use SSH credentials as defined in the named credential SSHCRED1. The following graphic shows the HostSSHCredSet credential set listed as a default preferred credential for host targets.

HostSSHCredSet shown as a default preferred credential

You can now set the preferred credentials of regular regular Enterprise Manager administrators to use the SSHCRED1 named credential by editing/creating an administrator and granting Named Credential resource privileges. The following graphic shows the manage privilege grants UI for named credentials.

grant named credential resource privilege
2.4.1.8.5 Authenticating host credentials

The Enterprise Manager Agent can use two methods to authenticate OS credentials:

  • Traditional Authentication

  • PAM Authentication

With traditional authentication, credentials submitted by users are compared with entries in the system's password database -- that is, against entries found in /etc/passwd and related files, and in remote extensions to those files as defined by OS-specific configuration such as /etc/nsswitch.conf or /etc/netsvc.conf.

With PAM authentication, the Agent uses a feature of the operating system called PAM, or Pluggable Authentication Modules, to validate the credentials submitted by users. PAM is a framework that allows administrators to specify which of a wide range of authentication mechanisms (such as LDAP, Kerberos, RADIUS) should be used by PAM-aware applications. An application identifies itself to PAM using a service-name. If the administrator has configured a PAM definition for that service-name, then the rules in that definition are applied for that application's authentication requests. If not, then the rules for a special default service-name, "other", are used.

The Enterprise Manager Agent identifies itself to PAM using the service name "emagent". If the administrator has explicitly defined an "emagent" PAM service, then the agent will attempt only PAM authentication -- if the method or methods defined for the "emagent" service do not accept a set of credentials, then the operation associated with those credentials will fail.

If the administrator has not explicitly defined an "emagent" PAM service, then the Agent will first attempt traditional authentication; if that attempt fails, then it will attempt PAM authentication, using the "other" service definition. If either the traditional or PAM authentication attempt succeeds, then the operation associated with the credentials will proceed.

2.4.1.8.6 Configuring the PAM "emagent" Service

PAM is a complex and open-ended framework, and general advice on configuring it is beyond the scope of this document. Typically, though, a customer who wants Enterprise Manager to authenticate host credentials using PAM will already have some other service defined to use the same PAM rules, and that other service's definition can form the basis for the emagent one.

For example, suppose a customer's Oracle Enterprise Linux host has already been configured for its SSH daemon to use a mix of Kerberos and local authentication when accepting connections. The SSHD service definition file, /etc/pam.d/sshd, might have the following set of authentication rules:

auth        sufficient    pam_fprintd.so
auth        sufficient    pam_unix.so nullok
auth        requisite     pam_succeed_if.so uid >= 500 quiet
auth        sufficient    pam_krb5.so use_first_pass
auth        required      pam_deny.so

Here, if the customer has access to a fingerprint scanner attached to the host, authenticate based on that. If finger print authentication does not work, try traditional authentication. If that fails, and if the user's UID is 500 or higher, try kerberos authentication. If that fails, too, then fail the entire authentication.")

The customer might decide that Enterprise Manager should follow the same authentication process, but exclude the fingerprint-scanner check, since Enterprise Manager will not generally have access to the user's finger when it needs to run a job or collect an authenticated metric. So she would create a new service definition file, /etc/pam.d/emagent, and include all the same "auth" lines as in the SSHD definition above, except for the pam_fprintd.so one:

auth        sufficient    pam_unix.so nullok
auth        requisite     pam_succeed_if.so uid >= 500 quiet
auth        sufficient    pam_krb5.so use_first_pass
auth        required      pam_deny.so 

Details of the authentication methods to be used will vary from customer to customer, and the exact method of configuration will vary from platform to platform. But this general approach to defining an Agent PAM service definition should generally be useful: identify an existing service to use as your base, copy that service's definition, and remove any rules that are not appropriate for Enterprise Manager's use.

2.4.1.8.7 Sudo and PowerBroker Support

Privilege Delegation, PDP, allows an administrator to perform privileged activities with the privileges of another user. Enterprise Manager uses two authentication utility tools to achieve Privilege Delegation, they are Sudo and PowerBroker.

Sudo: Sudo allows a permitted user to execute a command as the super user or another user, as specified in the sudoers file. If the invoking user is root or if the target user is the same as the invoking user, no password is required. Otherwise, sudo requires that users authenticate themselves with a password by default. Once a user has been authenticated, a timestamp is updated and the user may then use sudo without a password for a short period of time (5 minutes unless overridden in sudoers). sudo determines who is an authorized user by consulting the /etc/sudoers file. For more information, see the manual page on sudo (man sudo) on Unix. Enterprise Manager authenticates the user using sudo, and executes the script as sudo. For example, if the command to be executed is foo -arg1 -arg2, it will be executed as sudo -S foo -arg1 -arg2.

Note:

The certified SUDO versions are 1.6.7 to 1.6.9. Also, note that SUDO 1.7.2 and higher versions are also supported. The certified PBRUN versions are 4.0.8 and 5.x. Higher versions of these utilities may continue to work unless some fundamental changes have been introduced to their behavior.

PowerBroker: BeyondTrust PowerBroker enables UNIX system administrators to specify the circumstances under which other people may run certain programs such as root (or other important accounts). The result is that responsibility for such actions as adding user accounts, fixing line printer queues, and so on, can be safely assigned to the appropriate people, without disclosing the root password. The full power of root is thus protected from potential misuse or abuse-for example, modifying databases or file permissions, erasing disks, or more subtle damage. BeyondTrust PowerBroker can access existing programs as well as its own set of utilities that execute common system administration tasks. Utilities being developed to run on top of BeyondTrust PowerBroker can manage passwords, accounts, backups, line printers, file ownership or removal, rebooting, logging people out, killing their programs, deciding who can log in to where from where, and so on. They can also provide TCP/IP, Load Balancer, cron, NIS, NFS, FTP, rlogin, and accounting subsystem management. Users can work from within a restricted shell or editor to access certain programs or files as root. See your PowerBroker documentation for detailed setup and configuration information.

Note:

PowerBroker 7.1.1 has been tested and is the recommended minimum version.

Enterprise Manager Privilege Delegation uses these tools (Sudo and PowerBroker), together with the use of Named Credentials, to provide a framework to allow Administrators to perform privileged activities.

There are many operations within an organization, where an administrator will need elevated privileges to perform specific tasks. For example, for all the provisioning and patching tasks in Cloud Control, Named Credentials must be set up for normal operating system user account (oracle) and Named credentials for privileged user accounts (root). If you do not have access to either of these accounts, then you can use SUDO or PowerBroker access to switch users to perform the tasks. Privilege

Delegation offers the following advantages:

  • You have the flexibility to use either SUDO or PowerBroker within the same framework.

  • Using the framework, you can now run PowerBroker in a password-less or password-protected mode.

  • You can create a template with these Privilege Delegation settings and reuse that template for multiple hosts. This not only allows you to standardize Privilege Delegation setting across your enterprise, but also facilitates and simplifies the process of configuring and management of Privilege Delegation Settings.

  • You can use the Privilege Delegation settings not only for deployment procedures, but also for jobs in Cloud Control.

The following example explains the different users in the Privilege Delegation process:

Example: Consider three users:

User1 – called EMUSER, is an Enterprise Manager Admin logged into either Cloud Control or EM CLI

User2 – called OSUSER1, is a target host OS user.

User3 – called OSUSER2, is a target host OS user.

EMUSER has a Named Credential for OSUSER1. In which sudo is configured. The Named credential says run as OSUSER2.

The Internal steps for the Privilege Delegation would be as follows:

  1. Log in to a system as OSUSER1

  2. Authenticate using OSUSER1's password

  3. Launch sudo to become OSUSER2

  4. Run the specified command as OSUSER2.

When the command specified is run. It's as if OSUSER2 has logged in. For example if the ”id” command is run, it would display as OSUSER2.

Authentication Utility Tools Configuration

The authentication utility tools supported by Enterprise Manager are sudo and pbrun. These tools reside on the target host with the management Agent and before correct operation, must be configured appropriately. The following section outlines these tools and their associated configuration file.

Administrators can set up sudo or pbrun, based on their configuration file entries to assign specific Enterprise Manager functional privileges to their OS users. The Management Agent uses a trusted executable called nmosudo, using the nmosudo executable the Agent verifies, via a cryptographic handshake, the source of the request. Then based on the configuration files of sudo or pbrun, allows a less privileged user to run nmosudo as a more privileged user.

Enterprise Manager guarantees that the nmosudo executable only honors requests to run remote operation requests from the OMS via the Agent. nmosudo will not run the remote operation if it cannot validate that the request came from the Agent. Thus, it will not be possible for user 'johndoe' to invoke nmosudo directly from the command line and run a Perl script as user 'oracle'.

In Enterprise Manager Cloud Control 12c Release 1 (12.1.0.1) [with or without Bundle Patch 1], nmosudo was located in the agent instance directory. For example, /u01/oracle/agent/agent_inst/bin/nmosudo.

In Enterprise Manager Cloud Control 12c Release 2 (12.1.0.2) and subsequent releases, this location has changed. Now, nmosudo is present in the sbin directory, which is in the agent base directory. For example, /u01/oracle/agent/sbin/nmosudo.

Therefore, when you install or upgrade to Enterprise Manager Cloud Control 12c Release 2 (12.1.0.2), you must modify the PDP configuration files to include the new location of nmosudo.

Sudo Configuration

Using sudo allows a permitted user to execute a command as the super user or another user, as specified by the security policy, which is defined in the config file for sudo, typically located at /etc/sudoers. If the invoking user is root or if the target user is the same as the invoking user, no password is required. Otherwise, sudo requires that users authenticate themselves with a password by default. Once a user has been authenticated, a timestamp is updated and the user may then use sudo without a password for a short period of time (5 minutes unless overridden in /etc/sudoers). sudo determines who is an authorized user by consulting the /etc/sudoers file, this file can also be configured to specify sudo access to certain commands.

Note:

The certified SUDO versions are 1.6.7 to 1.6.9. Also, note that SUDO 1.7.2 and higher versions are also supported.

For more information, see the man page on sudo (man sudo) on Unix.

Sample entries for the sudo configuration file (/etc/sudoers) are shown below. The general format for the files is as follows:

root ALL=(ALL) ALL

This means that the root user can execute from ALL terminals, acting as ALL users, and run ALL commands.

Sample 1

# Sample /etc/sudoers file should have following entry
# If you do not have access to oracle and root accounts,
# then add the following entries into the file:
#usage:
#[user] [terminal]=[as other user] [command] 

#where: user =  the user
terminal =  terminal from where user can run sudo #    cmd
#  as other user = which user the first user may act #    as
#  command = which commands can be run which using #    sudo
 
johndoe ALL=(oracle) /u01/oracle/agent/sbin/nmosudo *
johndoe ALL=(root) /u01/oracle/agent/sbin/nmosudo *
 
#Where, the user johndoe can access sudo from any terminal #to run as oracle the nmosudo executable with all commands, #passed from the console. 
 

Sample 2

# If you have access to the oracle account,
# but not to the root account,
# then only add the following entry into the file:
johndoe ALL=(root) /u01/oracle/agent/sbin/nmosudo  *
 
#Where, the user johndoe can access sudo from any terminal #to run as root the nmosudo executable with all commands, #passed from the console.

Note:

This example illustrates how the SUDOERS file can be configured to allow users to restrict only a subset of commands.

All commands that are executed thru Enterprise Manager using SUDO will be prefixed with the following:

<AGENT_HOME>/sbin/nmosudo DEFAULT_PLGUIN DEFAULT_FUNCTIONALITY DEFAULT_SUBACTION DEFAULT_ ACTION <Command-to-executed-with-args>

Customers can use this to restrict the list of commands they want users to use.

For example, if johndoe is allowed to execute only root.sh as root, the following can be added to the SUDOERS file

johndoe ALL=(root) <AGENT_HOME>/sbin/nmosudo DEFAULT_PLUGIN DEFAULT_FUNCTIONALITY DEFAULT_SUBACTION DEFAULT_ACTION root.sh

Sample 3

ALL=(ALL)/u01/oracle/agent/sbin/nmosudo DEFAULT_PLUGIN DEFAULT_FUNCTIONALITY DEFAULT_SUBACTION DEFAULT_ACTION perl -e exit 0,/u01/oracle/agent/sbin/nmosudo DEFAULT_PLUGIN DEFAULT_FUNCTIONALITY DEFAULT_SUBACTION DEFAULT_ACTION id

This example allows the user to perform a basic PERL test, and run only id command.

Powerbroker Configuration

BeyondTrust PowerBroker enables UNIX system administrators to specify the circumstances under which other users may run certain programs such as root (or other important accounts). The result is that responsibility for such actions as adding user accounts, fixing line printer queues, and so on, can be safely assigned to the appropriate people, without disclosing the root password. The full power of root is thus protected from potential misuse or abuse-for example, modifying databases or file permissions, erasing disks, or more subtle damage. BeyondTrust PowerBroker can access existing programs as well as its own set of utilities that execute common system administration tasks. Utilities being developed to run on top of BeyondTrust PowerBroker can manage passwords, accounts, backups, line printers, file ownership or removal, rebooting, logging people out, killing their programs, deciding who can log in to where from where, and so on. They can also provide TCP/IP, Load Balancer, cron, NIS, NFS, FTP, rlogin, and accounting subsystem management. Users can work from within a restricted shell or editor to access certain programs or files as root. See your PowerBroker documentation for detailed setup and configuration information.

Note:

PowerBroker 7.1.1 has been tested and is the recommended minimum version.

If you want to use pbrun authentication utility, then before editing a Deployment Procedure, update the /etc/pb.conf file to allow a normal user to switch to another user who has the privileges to run the Deployment Procedure.A sample PowerBroker configuration file (/etc/pb.conf) would contain:

Sample:

if(user=="johndoe") if(command=="/u01/oracle/agent/sbin/nmosudo *" ) 
// /u01/oracle/agent/ Agent Home location
 
 
{   
        switch (requestuser)   
        {      
                case "root":         
                        runuser="root";         
                        break;      
                case "oracle":         
                        runuser="oracle";         
                        break;      
                default:      
                reject;     
        } 
        accept;
}

The above example allows user johndoe to execute all commands passed from the console via nmosudo as root and as oracle. Refer to sudo/PowerBroker documentation for detailed configuration information.

Privilege Needed for Creating a Privilege Delegation

Enterprise Manager allows you to create Privilege Delegation settings either by creating the setting directly on a host target, or by creating a Privilege Delegation Setting Template that you can apply to multiple hosts.

  • VIEW: Administrators with View privileges on these host targets will be able to view those privilege delegation settings.

  • FULL: Administrators with Full privileges on host targets can create privilege delegation settings for that host.

Enterprise Manager Super Administrators can configure privilege delegation settings for any host target.

Creating a Privilege Delegation

The use of Privilege Delegation can be invoked using any of the following methods:

  • Cloud Control console

  • EM CLI

  • Privilege Delegation template

Privilege Delegation Templates: Enterprise Manager allows for a default Privilege Delegation template to be set and also for that template to be applied to multiple hosts. This prevents an Administrator from having to apply a Privilege Delegation setting on a host-by-host basis, especially when the same Privilege Delegation setting is being applied to all host targets. This feature is particularly useful when many host targets have been simultaneously added to Enterprise Manager. This feature is also available via EM CLI by using the set_default_privilege_delegation_setting verb.

Setting Privilege Delegation from Cloud Control

To set Privilege Delegation from the Cloud Control console:

  1. From the Setup menu, select Security, then select Privilege Delegation.

  2. On the Manage Privilege Delegation Settings page, select the host name, and then click Edit. This Edit Host Privilege Delegation dialog displays.

  3. Select Sudo or PowerBroker, and specify the location where SUDO or PowerBroker is located (for PowerBroker, you can optionally provide the password prompt) to configure the host with a Privilege Delegation setting.

  4. Click Save.

Setting Privilege Delegation Templates from Cloud Control

You can apply Privilege Delegation settings on a per host basis or to multiple hosts simultaneously. Enterprise Manager allows you to define a default Privilege Delegation template that applies Privilege Delegation settings to multiple hosts. Templates are particularly useful when many host targets have been added simultaneously to Enterprise Manager. This functionality is also available via EM CLI by using the set_default_privilege_delegation_setting verb. See "Setting Privilege Delegation via EM CLI" for more information.

  1. In Cloud Control, from the Setup menu, select Security, then select Privilege Delegation. The Manage Privilege Delegation page displays.

  2. Click the Templates tab to display the Manage Privilege Delegation Templates page.

  3. Click Create. The Create Template dialog displays. create template dialog

  4. Select a privilege delegation type, either Sudo or PowerBroker.

  5. Enter a name for the template and specify the location where SUDO or PowerBroker is located (for PowerBroker, you can optionally provide the password prompt), and click Save.

For example, if you select SUDO, and if sudo is located in the /usr/sbin/directory, then in the Sudo Command field you need to enter /usr/sbin/sudo -E -u %RUNAS% %COMMAND%.

Note:

If you do not apply the privilege delegation template to a target, and if you configure a step in the deployment procedure to run in Privilege Delegation mode, then the deployment procedure for that target runs the step in normal mode instead.

Once you have created a privilege delegation setting, you must apply this setting to selected targets. This setting can be applied to one more hosts or to a composite (Group) target (the group must contain at least one host target). You can apply a Privilege Delegation setting using the Cloud Control console. From the Setup menu, choose Security and then Privilege Delegation.

Setting Privilege Delegation via EM CLI

The following examples create a setting named sudo_setting. The setting is of type SUDO, and the Sudo path used is /usr/local/bin/sudo. Sudo arguments are:

-S-u %RUNAS%%COMMAND%

Example 1 - Command-Line

emcli create_privilege_delegation_setting
      -setting_name=sudo_setting
      -setting_type=SUDO
      -settings="SETTINGS:/usr/local/bin/sudo -S -u %RUNAS% %COMMAND%"

Example 2 - Scripting and Interactive

create_privilege_delegation_setting
       (setting_name="sudo_setting",
        setting_type="SUDO",
        settings="SETTINGS:/usr/local/bin/sudo -S -u %RUNAS% %COMMAND%")

The following examples create a setting named pb_setting. The setting is of type POWERBROKER, and the PowerBroker path used is /etc/pbrun. Arguments are:

%RUNAS%%PROFILE%%COMMAND%

Example 3 - Command-Line

emcli create_privilege_delegation_setting
      -setting_name="pb_setting"
      -setting_type="POWERBROKER"
      -settings="SETTINGS,/etc/pbrun %RUNAS% %PROFILE% %COMMAND%"
      -separator="settings=;"
      -subseparator="settings=,"

Example 4 - Scripting and Interactive

create_privilege_delegation_setting
      (setting_name=pb_setting
      ,setting_type=POWERBROKER
      ,settings="SETTINGS,/etc/pbrun %RUNAS% %PROFILE% %COMMAND%"
      ,separator="settings=;"
      ,subseparator="settings=,")

The following examples are similar to examples 3 and 4, except that they also add arguments PASSWORD_PROMPT_STRING and Password.

Example 5 - Command-Line

emcli create_privilege_delegation_setting
      -setting_name="pb_setting"
      -setting_type="POWERBROKER"
      -settings="SETTINGS,/etc/pbrun %RUNAS% %PROFILE% %COMMAND%";
       PASSWORD_PROMPT_STRING,password:"
      -separator="settings=;"
      -subseparator="settings=,"

Example 6 - Scripting and Interactive

create_privilege_delegation_setting
      (setting_name=pb_setting
      ,setting_type=POWERBROKER
      ,settings="SETTINGS,/etc/pbrun %RUNAS% %PROFILE% %COMMAND%";
       PASSWORD_PROMPT_STRING,password:"
      ,separator="settings=;"
      ,subseparator="settings=,")

Testing Privilege Delegation Settings

After creating a privilege delegation template and before applying it to a Deployment Procedure, Oracle recommends you to test the privilege delegation setting.

The following is an example that describes how you can register your credentials as preferred credentials, and also choose to run as another user, and then test the settings by creating a job that checks whether a command is being as normal user or as another user using privilege delegation mechanism.

  1. In Cloud Control, from the Setup menu, select Security, then select Preferred Credentials.. The Preferred Credentials page displays.

  2. On the Manage Privilege Delegation Settings page, from the Related Links section, click Preferred Credentials.

  3. Select Host from the Target Type list and click Manage Preferred Credentials. The Host Preferred Credentials page displays. Host preferred credentials

  4. From the Target Preferred Credentials region, select the host, and then click Set.

  5. In the Select Named Credential dialog box, specify the normal user name, the normal password, and the Run as user name that you want to switch over to using the privilege delegation mechanism. Then click Test and Save.

  6. After registering the credentials as preferred credentials, from the Enterprise menu, select Jobs, and then click Job Activity.

  7. On the Job Activity page, from the Create Job list, select OS Command, and click Go.

  8. On the Create OS Command Job page, in the General tab, specify a name for the job. Then, from the Target section, click Add to add the host on which you want to run the OS command.

  9. In the Parameters tab, for Command, specify the command id.

  10. Click Submit.

  11. On the Job Activity page, click the job name you just created. Cloud Control displays the status of the job. Click the status column to view its results.

Cloud Control performs the command as the user referenced in the preferred credential.

Starting an Agent Using Sudo or PowerBroker Credentials

When performing Agent control operations (such as starting or stopping the Agent) from the Cloud Control console, Enterprise Manager makes a secure shell (SSH) connection to the machine where the Agent is installed in order to carry out the operation. Beginning with Enterprise Manager Release 12.1.0.4, Agent control operations can be performed using Sudo or PowerBroker credentials. For example, an administrator can navigate to the Agent home page and, from the Agent menu, perform Agent control operations.

Figure 2-17 Agent Control Using Privilege Delegation

agent control using privilege delegation
2.4.1.8.8 Creating a Privilege Delegation Setting

Enterprise Manager allows you to create privilege delegation settings either by creating the setting directly on a host target, or by creating a Privilege Delegation Setting Template that you can apply to multiple hosts.

Administrators with Full privileges on host targets can create privilege delegation settings for that host. Administrators with View privileges on these host targets will be able to view those privilege delegation settings. Enterprise Manager Super Administrators can configure privilege delegation settings for any host target.

To create a privilege delegation setting directly on a host:

  1. From the Setup menu, select Security, then select Privilege Delegation. The following screen is displayed:

    Figure 2-18 Manage Privilege Delegation Settings

    Manage Privilege Delegation Settings
  2. Select a host from the table and click Edit. The Edit Host Privilege Delegation Settings dialog displays.

  3. Select a privilege delegation type (Sudo or PowerBroker).

  4. Enter the privilege delegation command to be used and, in the case of PowerBroker, the optional Password Prompt.

  5. Click Save to apply the settings to the host. The following figure shows the Host Privilege Delegation Setting dialog for a PowerBroker setting.

    Figure 2-19 Host Privilege Delegation Setting - PowerBroker

    Host Privilege Delegation Setting - PowerBroker

    Once you have created a privilege delegation setting, you must apply this setting to selected targets. This setting can be applied to one more hosts or to a composite (Group) target (the group must contain at least one host target). You can apply a Privilege Delegation setting using the Cloud Control console. From the Setup menu, choose Security and then Privilege Delegation.

Using SESU with Enterprise Manager

To use SESU with Cloud Control, perform the following procedure:

  1. From the Setup menu, select Security, and then Privilege Delegation.

  2. Choose the desired host and click Edit. The Edit Host Privilege Delegation Settings dialog displays.

  3. From the Type drop-down menu, select PowerBroker. The requisite settings and parameters are displayed.

    pdp host privileges
  4. Enter your PowerBroker password.

  5. Enter the PowerBroker command to be used:

    /usr/seos/bin/sesu %RUNAS% -c "%COMMAND%"
    
  6. Edit the Agent configuration file (emd.properties) using EM CLI.

    emcli set_agent_property -agent_name="<agent_host>:<port>" 
    -name="EMPDP_READPROMPT_TTY_POWERBROKER" 
    -value="TRUE"
    

2.5 Configuring and Using Cryptograhic Keys

To protect the integrity of sensitive data in Enterprise Manager, a signing on verification method known as the emkey is used. Encryption key is the master key that is used to encrypt/decrypt sensitive data, such as passwords and preferred credentials that are stored in the Repository. The emkey is generated during repository creation time and is originally stored in repository database. During installation of the first OMS, emkey is copied to the Credential Store and removed from the repository database, that is emkey is secured out-of-the-box. A backup is created in OMS_ORACLE_HOME/sysman/config/emkey.ora.

If the emkey is corrupted and the backup emkey.ora file is lost, all the encrypted information in repository becomes useless. Hence, it is strongly recommended to create a backup of this file on some other machine, so that in case the OMS machine crashes or emkey gets corrupted, the backed up file can be used for recovering the environment.

When starting up, OMS reads the emkey from Credential Store and repository. If the emkey is not found or is corrupted, it fails to start. By storing the key separately from Enterprise Manager schema, we ensure that the sensitive data such as Named Credentials in the Repository remain inaccessible to the schema owner and other SYSDBA users (Privileged users who can perform maintenance tasks on the database) in the Repository. Moreover, keeping the key separate from the schema will ensure that sensitive data remain inaccessible while Repository backups are accessed. Further, the schema owner should not have access to the OMS/Repository Oracle homes.

Repository Encryption Algorithm

Beginning with Enterprise Manager Cloud Control Release 12.1.0.2, the Advanced Encryption Standard (AES) algorithm is used to encrypt data in the Enterprise Manager Repository. The encryption key size is 256 bits.

Prior to release 12.1.0.2, Triple Data Encryption Standard (3DES) was the encryption algorithm used to encrypt repository data.

2.5.1 Configuring the emkey

The emkey is an encryption key that is used to encrypt and decrypt sensitive data in Enterprise Manager such as host passwords, database passwords and others. The emkey.ora file is a copy of emkey should be kept in a safe location for restoration purposes.

During startup, the Oracle Management Service checks the status of the emkey. If the emkey has been properly configured, the OMS uses it for encrypting and decrypting data. If the emkey has not been configured properly, the following error message is displayed.

Example 2-12 emctl start oms Command

Oracle Enterprise Manager 12c Release 3 Cloud Control
Copyright (c) 1996, 2013 Oracle Corporation.  All rights reserved.
emctl start oms
Starting HTTP Server ...
Starting Oracle Management Server ...
Checking Oracle Management Server Status ...
Oracle Management Server is not functioning because of the following reason:
The Em Key is not configured properly. Run "emctl status emkey" for more details.

2.5.2 emctl Commands

The emctl commands related to emkey are given below:

  • emctl status emkey [-sysman_pwd <pwd>]

  • emctl config emkey -copy_to_credstore [-sysman_pwd <pwd>]

  • emctl config emkey -copy_to_repos [-sysman_pwd <pwd>]

  • emctl config emkey -remove_from_repos [-sysman_pwd <pwd>]

  • emctl config emkey -copy_to_file_from_credstore -admin_host <host> -admin_port <port> -admin_user <username> [-admin_pwd <pwd>] [-repos_pwd <pwd>] -emkey_file <emkey file>

  • emctl config emkey -copy_to_file_from_repos (-repos_host <host> -repos_port <port> -repos_sid <sid> | -repos_conndesc <conn desc>) -repos_user <username> [-repos_pwd <pwd>] [-admin_pwd <pwd>] -emkey_file <emkey file>

  • emctl config emkey -copy_to_credstore_from_file -admin_host <host> -admin_port <port> -admin_user <username> [-admin_pwd <pwd>] [-repos_pwd <pwd>] -emkey_file <emkey file>

  • emctl config emkey -copy_to_repos_from_file (-repos_host <host> -repos_port <port> -repos_sid <sid> | -repos_conndesc <conn desc>) -repos_user <username> [-repos_pwd <pwd>] [-admin_pwd <pwd>] -emkey_file <emkey file>

    Examples: Use example 1 if your environment is configured with a service name. for all else use example 2.

    Example 1
    emctl config emkey -copy_to_repos_from_file -repos_conndesc '"(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=<>)(PORT=<>)))(CONNECT_DATA=(SERVICE_NAME=<>)))"' -repos_user <> [-repos_pwd <pwd> ] [-admin_pwd <pwd>] -emkey_file < emkey file>
    
    Example 2
    emctl config emkey -copy_to_repos_from_file -repos_host <host> -repos_port <port> -repos_sid <sid> -repos_user <username> [-repos_pwd <pwd> ] [-admin_pwd <pwd>] -emkey_file <emkey file>
    

2.5.2.1 emctl status emkey

This command shows the health or status of the emkey. Depending on the status of the emkey, the following messages are displayed:

  • When the emkey has been correctly configured in the Credential Store and Repository, the following message is displayed.

    Example 2-13 emctl status emkey - Example 1

    Oracle Enterprise Manager 12c Release 3 Cloud Control
    Copyright (c) 1996, 2013 Oracle Corporation.  All rights reserved.
    The EmKey is configured properly, but is not secure. Secure the EMKey by running "emctl config emkey -remove_from_repos"
    
  • When the emkey has been correctly configured in the Credential Store and has been removed from the Management Repository, the following message is displayed.

    Example 2-14 emctl status emkey - Example 2

    Oracle Enterprise Manager 12c Release 3 Cloud Control
    Copyright (c) 1996, 2013 Oracle Corporation.  All rights reserved.
    The EMKey is configured properly.
    
  • When the emkey is corrupted in the Credential Store and removed from the Management Repository, the following message is displayed.

    Example 2-15 emctl status emkey - Example 3

    Oracle Enterprise Manager 12c Release 3 Cloud Control
    Copyright (c) 1996, 2013 Oracle Corporation.  All rights reserved.
    The EMKey is not configured properly or is corrupted in the credential store and does not exist in the Management Repository. To correct the problem:
    1) Get the backed up emkey.ora file.
    2) Configure the emkey by running "emctl config emkey -copy_to_credstore_from_file"
    

2.5.2.2 emctl config emkey -copy_to_credstore

This command copies the emkey from the Management Repository to the Credential Store.

Example 2-16 Sample Output of the emctl config emkey -copy_to_credstore Command

emctl config emkey -copy_to_credstore [-sysman_pwd <pwd>]
Oracle Enterprise Manager 12c Release 3 Cloud Control  
Copyright (c) 1996, 2013 Oracle Corporation.  All rights reserved.
The EMKey has been copied to the Credential Store.

2.5.2.3 emctl config emkey -copy_to_repos

This command copies the emkey from the Credential Store to Management Repository.

Example 2-17 Sample Output of the emctl config emkey -copy_to_repos Command

emctl config emkey -copy_to_repos [-sysman_pwd <pwd>]
Oracle Enterprise Manager 12c Release 3 Cloud Control  
Copyright (c) 1996, 2013 Oracle Corporation.  All rights reserved.
The EMKey has been copied to the Management Repository. This operation will cause the EMKey to become unsecure.
After the required operation has been completed, secure the EMKey by running "emctl config emkey -remove_from_repos".

2.5.2.4 emctl config emkey -copy_to_file_from_credstore

This command copies the emkey from the Credential Store to a specified file.

Example 2-18 Sample Output of the emctl config emkey -copy_to_file_from_credstore Command

emctl config emkey -copy_to_file_from_credstore -admin_host <host> -admin_port
<port> -admin_user <username> [-admin_pwd <pwd>] [-repos_pwd <pwd>] -emkey_file
<emkey file>
Oracle Enterprise Manager 12c Release 3 Cloud Control  
Copyright (c) 1996, 2013 Oracle Corporation.  All rights reserved.
The EMKey has been copied to file.

2.5.2.5 emctl config emkey -copy_to_file_from_repos

This command copies the emkey from the Management Repository to a specified file.

Example 2-19 Sample Output of the emctl config emkey -copy_to_file_from_repos Command

emctl config emkey -copy_to_file_from_repos (-repos_host <host> -repos_port <port>
-repos_sid <sid> | -repos_conndesc <conn desc>) -repos_user <username> [-repos_pwd
<pwd>] [-admin_pwd <pwd>] -emkey_file <emkey file>
Oracle Enterprise Manager 12c Release 3 Cloud Control  
Copyright (c) 1996, 2013 Oracle Corporation.  All rights reserved.
The EMKey has been copied to file.

Note: Either repos_host, repos_port, repos_sid OR repos_conndesc needs to be specified.

2.5.2.6 emctl config emkey -copy_to_credstore_from_file

The command removes the emkey from the repository: It secures the emkey, which is the out-of-the-box configuration.

Example 2-20 Sample Output of the emctl config emkey -copy_to_credstore_from_file Command

emctl config emkey -copy_to_credstore_from_file -admin_host <host> -admin_port <port> -admin_user <username> [-admin_pwd <pwd>] [-repos_pwd <pwd>] -emkey_file <emkey file>
Oracle Enterprise Manager 12c Release 3 Cloud Control  
Copyright (c) 1996, 2013 Oracle Corporation.  All rights reserved.
The EMKey has been copied to the Credential Store.

2.5.2.7 emctl config emkey -copy_to_repos_from_file

This command copies the emkey from a specified file to the repository.

Example 2-21 Sample Output of the emctl config emkey -copy_to_repos_from_file Command

emctl config emkey -copy_to_repos_from_file (-repos_host <host> -repos_port <port>
-repos_sid <sid> | -repos_conndesc <conn desc>) -repos_user <username> [-repos_pwd
<pwd>] [-admin_pwd <pwd>] -emkey_file <emkey file>
Oracle Enterprise Manager 12c Release 3 Cloud Control  
Copyright (c) 1996, 2013 Oracle Corporation.  All rights reserved.
The EMKey has been copied to the Management Repository. This operation will cause
the EMKey to become unsecure.
After the required operation has been completed, secure the EMKey by running "emctl config emkey -remove_from_repos".

2.5.2.8 emctl config emkey -remove_from_repos

This command removes the emkey from the repository.

Example 2-22 Sample Output of emctl config emkey -remove_from_repos Command

emctl config emkey -remove_from_repos [-sysman_pwd <pwd>]
Oracle Enterprise Manager 12c Release 3 Cloud Control  
Copyright (c) 1996, 2013 Oracle Corporation.  All rights reserved.
The EMKey has been removed from the Management Repository.

Note:

If the emkey is corrupted in the Credential Store, you will not be able to remove it from the Management Repository.

2.5.3 Install and Upgrade Scenarios

This section explains the install and upgrade scenarios for emkey.

2.5.3.1 Installing the Management Repository

A new emkey is generated as a strong random number when the Management Repository is created.

2.5.3.2 Installing the First Oracle Management Service

When the Oracle Management Service is installed, the Installer copies the emkey to Credential Store and removes it from repository (emkey is secured out-of-box).

2.5.3.3 Upgrading from 10.2 or 11.1 to 12.1

The Management Repository is upgraded as usual. When upgrading the OMS, the omsca (OMS Configuration Assistant) copies the emkey to Credential Store and removes from repository. omsca reads the emkey from emkey.ora file present in the old OMS Oracle Home and copies it to Credential Store.

  • Note:

    In versions prior to 12.1 the emkey needs to be copied to the Management Repository before starting the upgrade. After the Oracle Management Service has been upgraded, you can secure the emkey, that is, remove it from the Management Repository by running the following command:

    emctl config emkey -remove_from_repos

    From version 12.1 on, there is a re-install check, during Upgrade, which takes care of this step.

2.5.3.4 Recreating the Management Repository

When the Management Repository is recreated, a new emkey is generated. This new key will not be in synchronization with the emkey existing in the Credential Store. Follow these steps to synchronize the key:

  1. Copy the new emkey to Credential Store by using the emctl config emkey -copy_to_credstore command.

  2. Take a backup by entering the emctl config emkey -copy_to_file_from_repos command or the emctl config emkey -copy_to_file_from_credstore command.

  3. Secure the emkey by using the emctl config emkey -remove_from_repos command.

2.6 Configuring and Managing Audit

All operations performed by Enterprise Manager users such as creating users, granting privileges, starting a remote job like patching or cloning, need to be audited to ensure compliance with the Sarbanes-Oxley Act of 2002 (SAS 70). This act defines standards an auditor must use to assess the contracted internal controls of a service organization. Auditing an operation enables an administrator to monitor, detect, and investigate problems and enforce enterprise wide security policies.

Irrespective of how the user has logged into Enterprise Manager, when auditing is enabled, each user action is audited and the audit details are stored in a record.

2.6.1 Auditing Credentials

For Enterprise Manager 12c, BASIC auditing is enabled by default, thus creating an audit trail of credentials being created, edited, accessed, associated and deleted. Named credentials are first-class security objects on which privileges can be granted or revoked. This means that multiple Enterprise Manager administrators will be able to use and modify the credential objects. Because credentials are sensitive data that can be used to perform various operations on the systems, there is a need to audit the operations on credentials.

Enterprise Manger supports auditing all credential operation, but first needs to be enabled. The auditing information includes, but is not limited to, the current username, credential name, operation performed, operation status success or failure. The audit logs contain information about the credential owner, action initiator, credential name, user name, and target name, job names along with the date time of the operation. Credential fields like password, private keys are never logged.

The following operations are audited:

  • Creating a Named Credential: Creating new Enterprise Manager credentials will be audited.

  • Editing a Named Credential: Editing a credential may consist of changing the username and/or the sensitive credential attributes. Credential edits may also include changing the authentication scheme for the credential.

  • Delete a Named Credential: Deleting a credential from Enterprise Manager will be audited.

  • Associating a Named Credential: A named credential can be set as a preferred credential for a credential set at the target level or at target type level. The named credential can also be reference directly from a job. All operations involving the setting of the named credentials as preferred credentials and using it in a job or deployment procedure will be audited.

  • Accessing a Named Credential: Enterprise Manager subsystems request credentials from the credential store to perform various system management tasks

2.6.2 Default Audit Actions

By default, whenever a user logs in or out of Enterprise Manager, the action is audited. The following list shows the Enterprise Manager infrastructure operations that are also audited by default.

  • Apply Update

  • Change MGMT_VIEW User Password

  • Change Repository Password

  • Configure Authentication

  • Copy EM Key to Repository

  • Remove EM Key from Repository

  • Create Custom CA

  • Remove Update

  • Secure Console

  • Secure Lock

  • Secure OMS

2.6.3 Configuring the Enterprise Manager Audit System

You can configure the Enterprise Manager Audit System by using the following EM CLI commands:

  • enable_audit: Enables auditing for all user operations.

  • disable_audit: Disables auditing for all user operations.

  • show_operations_list: Shows a list of the user operations being audited.

  • show_audit_settings: Shows the audit status, operation list, externalization service details, and purge period details.

  • update_audit_settings: Updates the current audit settings in the repository.

2.6.4 Configuring the Audit Data Export Service

Audit data needs to be protected and maintained for several years. The volume of audit data may become very large and impact the performance of the system. To limit the amount of data stored in the repository, the audit data must be externalized or archived at regular intervals. The archived audit data is stored in an XML file complying with the ODL format. To externalize the audit data, the EM_AUDIT_EXTERNALIZATION API is used. Records of the format <file-prefix>.NNNNN.xml, where NNNN is a number, are generated. The numbers start with 00001 and continue to 99999.

You can set up the audit externalization service for exporting audit data into the file system by using the update_audit_setting -externalization_switch command.

The externalization of audit system data is performed by the EM Audit Externalization Service job. By default, this job is scheduled to run once daily. You can view current status of this job from the Repository Scheduler Jobs Status area in the Enterprise Manager console, as shown in the following graphic.

Figure 2-20 Repository Scheduler Jobs Status: Audit Data Export Service Job

Repository Scheduler Jobs Status

To access this page, from the Setup menu, select Manage Cloud Control, and then Repository.

2.6.5 Updating the Audit Settings

The update_audit_settings command updates the current audit settings in the repository and restarts the Management Service.

Example 2-23 Usage of the update_audit_setting command

emcli update_audit_settings
      -audit_switch="ENABLE/DISABLE"
      -operations_to_enable="name of the operations to enable, for all oprtations
       use ALL"
      -operations_to_disable="name of the operations to disable, for all
       oprtations use ALL"
      -externalization_switch="ENABLE/DISABLE"
      -directory_name="directory_name (DB Directory)"
      -file_prefix="file_prefix"
      -file_size="file_size (Bytes)"
      -data_retention_period="data_retention_period (Days)"
  • -audit_switch: Enables auditing across Enterprise Manager. The possible values are ENABLE/DISABLE. Default value is DISABLE.

  • -operations_to_enable: Enables auditing for specified operations. Enter All to enable all operations.

  • -operations_to_disable: Disables auditing for specified operations. Enter All to disable all operations.

  • -externalization_switch: Enables the audit data export service. The possible values are ENABLE/DISABLE. Default value is DISABLE.

  • -directory: The database directory that is mapped to the OS directory where the export service archives the audit data files.

  • -file_prefix: The file prefix to be used by the export service to create the file in which audit data is to be stored.

  • -file_size: The size of the file on which the audit data is to be stored. The default value is 5000000 bytes.

  • data_retention_period: The period for which the audit data is to be retained inside the repository. The default value is 365 days.

2.6.6 Searching the Audit Data

You can search for audit data that has been generated over a specified period. You can also search for the following:

  • Audit details of a specific user operation or all user operations.

  • Audit details of operations with a Success or Failure status or All operations.

From the Setup menu, select Security and then Audit Data. The Audit Data page is displayed. Specify the search criteria in the fields and click Go. The results are displayed in the Summary table.

Figure 2-21 Audit Data Search Page

Audit Data Search Page

To view the details of each record that meets the search criteria, select Detailed in the View drop-down list. To drill down to the full record details, click on the Timestamp.

2.6.7 List of Operations Audited

For a complete list of audit operations supported by Enterprise Manager, use the EM CLI show_operation_list verb.

Example 2-24 EM CLI show_operation_list

> emcli show_operation_list
Operation ID                     Operation Name           Infrastructure Operation
ADD_AGENT_REGISTRATION_PASSWORD      Add Registration Password             NO                      
ADD_CS_TARGET_ASSOC                  Add Standard-Target Association           NO                      
SECURITY_AUTH_CONFIG                 Configure Authentication                           YES                     

.

.

.

UPDATE_PASSWORD                      Update Password                           NO                      

2.6.8 Auditing the Infrastructure

From Oracle Enterprise Manger Cloud Control Release 3. Basic and Infrastructure auditing is enabled by default for Enterprise Manager. In Enterprise Manager, there are over 150 options for auditing. Audit infrastructure operations are always enabled and cannot be turned off.An enhanced Auditing page makes it easy to quickly view the privilege grants on a regular basis and also keep track of which users exercised what privileges, this improves user accountability. Infrastructure activities are audited out of the box, these include updates, downloads, OMS password changes and emkey copy and removes from the Repository.

Also, the search capability of all Audit actions have been enhanced to improved, via the Cloud Control console, you can search for a subset of Audited operations and filter to see operations from specific client hosts and client types(browser or CLI). This provides more efficient ways for audit officers to locate specific operations of interest.

Figure 2-22 Audit Page

audit page

The following table lists all auditable events. Those auditable events shown as enabled are Infrastructure audit events and are turned on out-of-box and cannot be disabled.

Table 2-3 Auditable Events

Event Enabled/Disabled (By Default)

Apply Update

Enabled

Change MGMT_VIEW User Password

Enabled

Change Repository Password

Enabled

Configure Authentication

Enabled

Copy Enterprise Manager Key to Repository

Enabled

Create Custom CA

Enabled

Enterprise Manager Login

Enabled

Enterprise Manager Logout

Enabled

Remove Enterprise Manager Key from Repository

Enabled

Remove Update

Enabled

Secure Console

Enabled

Secure Lock

Enabled

Secure OMS

Enabled

Secure WebLogic Server

Enabled

Access Named Credential

Disabled

Add Registration Password

Disabled

Add Software Library Storage

Disabled

Add Standard-Target Association

Disabled

Add entity to Template Collection

Disabled

Apply Monitoring Template

Disabled

Associate Template Collection to Admin Group

Disabled

Attach Metric Extension

Disabled

Audit Export Settings

Disabled

Audit Settings

Disabled

Change Connector Settings

Disabled

Change Password

Disabled

Change Preferred Credentials

Disabled

Clear Manual Rule Violation

Disabled

Configure Connector

Disabled

Create Administration Groups

Disabled

Create Change Management Setting

Disabled

Create Connector

Disabled

Create Credential Set

Disabled

Create Custom Configuration Specification

Disabled

Create Custom Configuration Specification Parser

Disabled

Create Custom Target Type

Disabled

Create Facet

Disabled

Create Facet Parameter

Disabled

Create Facet Pattern

Disabled

Create Framework

Disabled

Create Metric Extension

Disabled

Create Monitoring Template

Disabled

Create Named Credential

Disabled

Create Real-time Monitoring Rule

Disabled

Create Resolution state

Disabled

Create Role

Disabled

Create Rule

Disabled

Create Rule Set

Disabled

Create Standard

Disabled

Create Template Collection

Disabled

Create User

Disabled

Database Login

Disabled

Database Logout

Disabled

Database Restart

Disabled

Database Shutdown

Disabled

Database Startup

Disabled

Delete Administration Groups

Disabled

Delete Credential Set

Disabled

Delete Custom Configuration Specification

Disabled

Delete Custom Configuration Specification Parser

Disabled

Delete Facet

Disabled

Delete Facet Parameter

Disabled

Delete Facet Pattern

Disabled

Delete Framework

Disabled

Delete Job

Disabled

Delete Management Connector

Disabled

Delete Metric Extension

Disabled

Delete Monitoring Template

Disabled

Delete Named Credential

Disabled

Delete Real-time Monitoring Rule

Disabled

Delete Registration Password

Disabled

Delete Resolution state

Disabled

Delete Role

Disabled

Delete Rule

Disabled

Delete Rule Set

Disabled

Delete Software Library Entity

Disabled

Delete Software Library Folder

Disabled

Delete Standard

Disabled

Delete Target

Disabled

Delete Template Collection

Disabled

Delete Update

Disabled

Delete User

Disabled

Deploy Custom Configuration Specification

Disabled

Detach Metric Extension

Disabled

Disable Rule

Disabled

Disable Rule Set

Disabled

Disable Standard-Target Association

Disabled

Disassociate Template Collection from Admin Group

Disabled

Download Update

Disabled

Edit Framework

Disabled

Edit Job

Disabled

Edit Monitoring Template

Disabled

Edit Registration Password

Disabled

Edit Rule

Disabled

Edit Rule Set

Disabled

Edit Standard

Disabled

Edit Standard-Target Association

Disabled

Edit Template Collection

Disabled

Enable Rule

Disabled

Enable Rule Set

Disabled

Enable Standard-Target Association

Disabled

Execute Command As Agent

Disabled

File Transfer Job

Disabled

Get File Job

Disabled

Grant Privilege

Disabled

Grant Role

Disabled

Import Facet

Disabled

Import Framework

Disabled

Import Real-time Monitoring Rule

Disabled

Import Rule

Disabled

Import Standard

Disabled

Include Action To Monitor

Disabled

Include Filter Facet

Disabled

Include Monitoring Facet

Disabled

Job Execution

Disabled

Mark informational update as read

Disabled

Modify Administration Groups

Disabled

Modify Change Management Setting

Disabled

Modify Custom Configuration Specification

Disabled

Modify Facet

Disabled

Modify Facet Content

Disabled

Modify Facet Parameter

Disabled

Modify Facet Pattern

Disabled

Modify Metric Settings

Disabled

Modify Named Credential

Disabled

Modify Real-time Monitoring Rule

Disabled

Modify Resolution state

Disabled

Modify Role

Disabled

Modify User

Disabled

Move Software Library Entity

Disabled

Publish Metric Extension

Disabled

Purge Software Library Storage

Disabled

Put File As Agent

Disabled

Put File Job

Disabled

Refresh from Enterprise Manager Store

Disabled

Registration Password Usage

Disabled

Remote Operation Job

Disabled

Remove Action From Monitor

Disabled

Remove Change Management Setting

Disabled

Remove Filter Facet

Disabled

Remove Monitoring Facet

Disabled

Remove Privilege Delegation Setting

Disabled

Remove Software Library Storage

Disabled

Remove Standard-Target Association

Disabled

Remove entity from Template Collection

Disabled

Rename Template Collection

Disabled

Reorder Rule

Disabled

Reorder Rule Set

Disabled

Resume Job

Disabled

Resync Agent

Disabled

Resync Repository

Disabled

Retry Job

Disabled

Revoke Privilege

Disabled

Revoke Role

Disabled

Save Monitoring Settings

Disabled

Set Privilege Delegation Setting

Disabled

Stop Job

Disabled

Submit Job

Disabled

Subscribe Update Type

Disabled

Suppress Violation

Disabled

Suspend Job

Disabled

Target Login

Disabled

Target Logout

Disabled

Undeploy Custom Configuration Specification

Disabled

Unsubscribe Update Type

Disabled

Unsuppress Violation

Disabled

Update Database Password

Disabled

Update Metric Extension

Disabled

Update Password

Disabled

Update is available

Disabled


2.7 Additional Security Considerations

After you enable security for the Enterprise Manager components and framework, there are additional security considerations. This section provides the following topics:

2.7.1 Changing the SYSMAN and MGMT_VIEW Passwords

This section describes the commands used to change the SYSMAN and MGMT_VIEW passwords.

2.7.1.1 Changing the SYSMAN User Password

The SYSMAN user account is used by the Oracle Management Server to login into the Oracle Management Repository to store and query all activity. The password is stored encrypted. If the SYSMAN password changes at the OMR it must also be changed at the OMS, to ensure proper functioning of Enterprise Manager Cloud Control for all operations.

Note:

From 12c onwards, directly modifying the password for SYSMAN or any other repository user at the Repository Database is not recommended. Hence, ensure that the passwords are changed only using one of the methods listed below.

If the current SYSMAN password is known

  1. Stop all OMS instances running emctl stop oms.

    OMS_Home/bin/emctl stop oms

    If BIP is configured: Stop BIP on each machine by running

    OMS_Home/bin/emctl stop oms -bip_onlyIf JVMD and/or ADP is configured, stop the JVMD/ADP engines:

    emctl extended oms jvmd stop –all

    emctl extended oms adp stop -all

    Execute the same command on all the OMS machines including the primary OMS machine. Do not include '-all' as the Admin Server needs to be up during this operation.

  2. Modify the SYSMAN password:

    cd <OMS_HOME>/bin

    emctl config oms -change_repos_pwd [-old_pwd <old_pwd>] [-new_pwd <new_pwd>] [-use_sys_pwd [-sys_pwd <sys_pwd>]]

    emctl config oms -change_repos_pwd'

    Command Parameters

    Parameter Description
    -change_repos_pwd Used to change the SYSMAN password.
    -old_pwd This is the current SYSMAN password.
    -new_pwd This is the new password.
    -use_sys_pwd This parameter is optional and is used to connect to the database as a SYS user. Use this option if SYSMAN account on the database has expired/locked.
    -sys_pwd This is the password for the SYS user. Required only if -use_sys_pwd is specified

    Command Behavior:

    Note:

    The above command will prompt you for the current password of the SYSMAN user and the new password.

    The password will be modified at the Repository Database and the monitoring credentials for the 'OMS and Repository' target.

    Along with the SYSMAN password, this command will modify the password for the EM users (SYSMAN_MDS, BIP, SYSMAN_OPSS, SYSMAN_APM, SYSMAN_RO) created in the Repository Database.

    Sample Command Output

    emctl config oms -change_repos_pwd 
    Oracle Enterprise Manager Cloud Control 12c Release 12.1.0.1.0 
    Copyright (c) 1996, 2011 Oracle Corporation. All rights reserved. 
    Enter Repository User's Current Password : 
    Enter Repository User's New Password : 
     
    Changing passwords in backend ... 
    Passwords changed in backend successfully. 
    Updating repository password in Credential Store... 
    Successfully updated Repository password in Credential Store. 
    Restart all the OMSs using 'emctl stop oms -all' and 'emctl start oms'. 
    Successfully changed repository password.
    
  3. Stop the Admin server on the primary OMS machine and re-start all the OMS:

    cd <OMS_HOME>/bin

    emctl stop oms –all

  4. Restart all the Management Services:

    cd <OMS_HOME>/bin

    emctl start oms

If the current SYSMAN password is unknown

  1. Stop all the OMS:

    cd <OMS_HOME>/bin

    emctl stop oms

    Execute the same command on the primary OMS machine as well. Do not include '-all' as the Admin Server needs to be up during this operation.

  2. Modify the SYSMAN password:

    cd <OMS_HOME>/bin

    emctl config oms -change_repos_pwd -use_sys_pwd -sys_pwd <sys user password> -new_pwd <new sysman password>

    Note:

    The '-use_sys_pwd' is used to connect to the database as a SYS user and modify the SYSMAN password in the Repository database.

    The current SYSMAN password is not prompted for and only the new password needs to be entered. This will allow the reset of the old password to the new password entered.

    The password will be modified at the Repository Database and the monitoring credentials for the 'OMS and Repository' target.

    Along with the SYSMAN password, this command will modify the password for the EM users (SYSMAN_MDS, BIP, SYSMAN_OPSS, SYSMAN_APM, SYSMAN_RO) created in the Repository Database.

  3. Stop the Admin server on the primary OMS machine and re-start all the OMS:

    cd <OMS_HOME>/bin

    emctl stop oms -all

    emctl start oms

2.7.1.2 Changing the MGMT_VIEW User Password

To change the password of the MGMT_VIEW user, you use the following command:

emctl config oms -change_view_user_pwd [-sysman_pwd <sysman_pwd>] [-user_pwd <user_pwd>] [-auto_generate]
Parameter Description
-change_view_user_pwd Used to change MGMT_VIEW user's password.
-sysman_pwd The password for the SYSMAN user.
-user_pwd The new password for theMGMT_VIEW user.
-auto_generate If this option is specified, the password is auto-generated.

  1. Stop all OMSs.

    <OMS_HOME>/bin/emctl stop oms

  2. On one of the OMSs, run the following command:

    <OMS_HOME>/bin/emctl config oms -change_view_user_pwd [-old_pwd <old_pwd>] [ -new_pwd <new_pwd>]

  3. Restart the AdminServer and all the OMSs.

    emctl stop oms -all

    emctl start oms

2.7.2 Responding to Browser-Specific Security Certificate Alerts

When you connect to Enterprise Manager via HTTPS, the Management Service presents your browser with a certificate to verify the identity of the Management Service. This certificate has been verified by a third party that your computer trusts. When a Web browser encounters an untrusted certificate, it generates security alert messages. The security alert dialog boxes appear because Enterprise Manager's certificate is issued by a Certificate Authority which the browser does not trust.

You can choose to ignore the warnings and continue with your Enterprise Manager session, or you can import the CA certificates into the browser's list of trusted "root" certificates to eliminate the certificate security alerts in future browser sessions.

Third Party Certificate Workflow

The following high-level steps are involved in setting up Enterprise Manager to use third party certificates.


Step 1: Generate a wallet and have it certified by a third party authority such as Entrust, Verisign, Thwate, or DigiCert.
Step 2: Configure the custom wallets to each OMS. For instructions, see Section 2.3.9.1, "Configuring a Third Party Certificate for HTTPS Console Users"
Step 3: Add the certificate to the browser's list of trusted root certificates to eliminate further browser certificate warnings. The following sections describe how to respond to browser-specific security alert dialog boxes when you are using Enterprise Manager in a secure environment. Note: Step 3 is not required for well-known certificate authorities such as Verisign or Entrus.

2.7.2.1 Responding to the Internet Explorer Security Alert Dialog Box

Security is enabled by default for the Management Service. However, if you have not enabled the more extensive security features of your web tier, you will likely receive the following warning: "There is a problem with this Web site's security certificate." This occurs because Enterprise Manager's certificate is issued by a Certificate Authority which the browser does not trust.

Figure 2-23 Internet Explorer Security Alert

Graphic shows the internet explorer security alert page.

When Internet Explorer displays the certificate warning page, use the following instructions to install the certificate and avoid viewing this page again in future Enterprise Manager sessions:

  1. From the certificate warning page, click Continue to this Web site (not recommended).

    Internet Explorer displays a Security Warning dialog.

  2. Click Yes. Internet Explorer may display a Security Alert dialog if you have not selected In the future, do not show this warning. in a previous Internet Explorer session. Click OK to dismiss the dialog.

  3. The Enterprise Manager console logon page displays.

  4. At the top of the browser, click Certificate Error to display the Certificate pop-up.

    Graphci shows the View Report pop-up.
  5. Click View Certificates. The Certificates dialog appears.

    certificate path dialog
  6. Click the Certificate Path tab and select the first entry in the list of certificates as shown in the following graphic.

    Graphic shows the certificate dialog.
  7. Click View Certificate to display a second Certificate dialog box.

  8. Click Install Certificate to display the Certificate Import wizard.

  9. Accept the default settings in the wizard, click Finish when you are done.

    Internet Explorer displays a Security Warning asking if you want to install the certificate. Click Yes. Internet Explorer will display a message stating that the certificate was imported successfully.

  10. Click OK to close each of the security dialog boxes and click Yes on the Security Alert dialog box to continue with your browser session.

    You should no longer receive the Security Alert dialog box in any future connections to Enterprise Manager when you use this browser.

2.7.2.2 Responding to the Mozilla Firefox New Site Certificate Dialog Box

Firefox will also issue a connection warning when Enterprise Manager's certificate is issued by a Certificate Authority which the browser does not trust. When you first attempt to display the Cloud Control console using the HTTPS URL in Mozilla Firefox, you will receive a warning because the connection is untrusted.

graphic shows the connection untrusted message.

When Firefox displays the Untrusted Connection page, use the following instructions to install the certificate and avoid viewing this page again in future Enterprise Manager sessions:

  1. Review the instructions and information. Click I Understand the Risks. Firefox displays additional information and the opportunity to add the certificate.

  2. Click Add Exception... . Firefox displays the Add Security Exception dialog.

    graphic shows the add security excpetion dialog.
  3. Ensure that the Permanently store this exception option is selected.

    You should no longer receive the New Site Certificate dialog box when using the current browser.

  4. Click Confirm Security Exception. The Enterprise Manager console displays.

You will no longer receive the untrusted connection warning in any future connections to Enterprise Manager when you use this browser

2.7.2.3 Responding to the Google Chrome Security Alert Dialog Box

Google Chrome issues a warning if the security certificate of the Website is not trusted. When you first attempt to display the Cloud Control console using the HTTPS URL in Google Chrome, you will receive a warning because the connection is mistrusted.

Surrounding text describes warning.gif.

When Google Chrome displays the Untrusted Connection page, use the following instructions to install the certificate and avoid viewing this page again in future Enterprise Manager sessions:

Note:

Installing a certificate using this method on Google Chrome may still lead to performance degradation. To solve this issue, the best option is to obtain a trusted certificate from a vendor of your choice.
  1. Click on the crossed out lock pad icon on the left hand side of the URL address bar.

    Surrounding text describes cofig_icon.png.
  2. Click Certificate Information in the menu.

  3. Select the Certification Path tab.

  4. Select the OMS host name (a red cross icon).

  5. Click View Certificate.

    Surrounding text describes view_cert.png.
  6. Select the Details tab.

  7. Click Copy to File...

    Surrounding text describes details.png.

    A wizard guides you through the process. Follow the wizard and select all the default options.

  8. Save the certificate on your Desktop. For example, you can save it as:

    adc1110000.cer
    
  9. From the Google Chrome menu, go to Tools, click Settings, and then select Show Advanced Settings.

  10. Click Manage Certificates.

  11. Select the Trusted Root Certification Authority tab.

  12. Click Import.

    A wizard guides you through the process of importing the saved certificate.

    A warning window displays a message that the certificate you are importing cannot be verified and asks if you want to continue. Click Yes to proceed.

  13. Check if the saved certificate appears in the Trusted Root Certification Authority table.

  14. Restart the Google Chrome browser and load the Enterprise Manager URL. If the Certificate Error icon is not visible in the address bar, then the certificate is valid and trusted.

2.7.2.4 Responding to Safari Security Dialog Box

Safari does not support the option to install a certificate individually. To solve this issue, you have to obtain a trusted certificate from a vendor of your choice.