Security Guide
Security Guide
Revenue Management
Security Guide
Release 15.0
F86222-02
June 2024
Oracle Communications Billing and Revenue Management Security Guide, Release 15.0
F86222-02
This software and related documentation are provided under a license agreement containing restrictions on use and
disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or
allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit,
perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation
of this software, unless required by law for interoperability, is prohibited.
The information contained herein is subject to change without notice and is not warranted to be error-free. If you find
any errors, please report them to us in writing.
If this is software, software documentation, data (as defined in the Federal Acquisition Regulation), or related
documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then
the following notice is applicable:
U.S. GOVERNMENT END USERS: Oracle programs (including any operating system, integrated software, any
programs embedded, installed, or activated on delivered hardware, and modifications of such programs) and Oracle
computer documentation or other Oracle data delivered to or accessed by U.S. Government end users are "commercial
computer software," "commercial computer software documentation," or "limited rights data" pursuant to the applicable
Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, reproduction,
duplication, release, display, disclosure, modification, preparation of derivative works, and/or adaptation of i) Oracle
programs (including any operating system, integrated software, any programs embedded, installed, or activated on
delivered hardware, and modifications of such programs), ii) Oracle computer documentation and/or iii) other Oracle
data, is subject to the rights and limitations specified in the license contained in the applicable contract. The terms
governing the U.S. Government's use of Oracle cloud services are defined by the applicable contract for such services.
No other rights are granted to the U.S. Government.
This software or hardware is developed for general use in a variety of information management applications. It is not
developed or intended for use in any inherently dangerous applications, including applications that may create a risk of
personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all
appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its
affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.
Oracle®, Java, MySQL, and NetSuite are registered trademarks of Oracle and/or its affiliates. Other names may be
trademarks of their respective owners.
Intel and Intel Inside are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used
under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Epyc, and the AMD logo
are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open
Group.
This software or hardware and documentation may provide access to or information about content, products, and
services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all
warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an
applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible for any loss,
costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth
in an applicable agreement between you and Oracle.
Contents
Preface
Audience viii
Documentation Accessibility viii
Diversity and Inclusion viii
iii
Installation Tasks 3-2
Postinstallation Configuration 3-2
Managing Cookies 3-3
Using Secure Cookies 3-3
Configuring the Session Timeout 3-4
Managing File Permissions 3-5
Uninstalling Pricing Design Center 3-5
About Changing Passwords in the Wallets 3-5
Implementing Pricing Design Center Security 3-5
About Authentication 3-6
About Authorization 3-6
Configuring Authentication and Authorization by Using OIM 3-6
Configuring OAM in WebLogic Server 3-6
Adding Users and Assigning Roles in OIM 3-7
Verifying OIM Configuration in WebLogic Server 3-8
iv
Access Control in BRM Web Services Manager 5-4
Configuring and Using Security Audit 5-4
Monitoring Login Attempts 5-4
Encryption 5-4
Using Oracle ZT Encryption Scheme 5-5
Securing Sensitive Customer Data 5-5
Using Credit Card Tokenization 5-5
Masking Sensitive Data in Log Files 5-6
Securing BRM Network Ports 5-6
About Managing ECE Security 5-6
v
Encoding the Client's Credentials in Base64 Format 8-3
Configuring OAuth Settings Using IDCS 8-4
Storing the Resource Server's Credentials in the Wallet 8-4
Requesting an OAuth Access Token 8-5
Setting Up OAuth with Oracle Access Management 8-5
Configuring OAuth Services 8-6
Configuring WebLogic Server to Access LDAP Server 8-8
Configuring OAuth Settings Using Oracle Access Management 8-8
Requesting an OAuth Access Token 8-9
vi
Creating an OAuth Identity Domain for PDC REST Services Manager 10-5
Creating a Resource Server for PDC REST Services Manager 10-6
Creating an OAuth Client for PDC REST Services Manager 10-7
Setting Up Security with Oracle Access Management in the PDC REST Services
Manager Configuration File 10-8
Requesting an OAuth Access Token from Oracle Access Management 10-10
Securing Inbound Communications 10-11
Securing Outbound Requests to PDC 10-11
Encrypting Sensitive Data 10-12
PDC REST Services Manager Security Configuration Reference Information 10-12
OAuth Configuration Properties for Outbound Requests 10-12
Basic Authentication Configuration Properties for Outbound Requests 10-14
Example application.yaml Security Configuration with Oracle Identity Cloud Service 10-14
Example application.yaml Security Configuration with Oracle Access Management 10-16
vii
Preface
Preface
This guide provides guidelines and recommendations for managing security in Oracle
Communications Billing and Revenue Management (BRM), Oracle Communications Billing and
Revenue Management Elastic Charging Engine (ECE), Oracle Communications Pricing Design
Center (PDC), Oracle Communications Billing Care, and Business Operations Center.
This guide has been updated to include changes and new feature content added for release
15.0.1.
Audience
This guide is intended for business analysts, developers, and system administrators.
Documentation Accessibility
For information about Oracle's commitment to accessibility, visit the Oracle Accessibility
Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.
viii
1
BRM Security Overview
Learn about security in Oracle Communications Billing and Revenue Management (BRM).
Topics in this document:
• Basic Security Considerations
• About Protecting Data
• Recommended Deployment Configurations
• Operating System Security
• Oracle Database Security
1-1
Chapter 1
About Protecting Data
• Install software securely. For example, use firewalls, secure protocols such as secure
sockets layer (SSL), transport layer security (TLS), and secure passwords.
See "Performing a Secure BRM Installation " for more information.
• Learn and use the BRM security features. See "Managing BRM Security ".
• Keep up to date on security information. Oracle regularly issues security-related patch
updates and security alerts. You must install all security patches as soon as possible.
See Critical Patch Updates, Security Alerts and Bulletins on the Oracle website.
1-2
Chapter 1
Operating System Security
Firewalls separating the protecting trusted networks provide two essential functions:
• Blocking any traffic types that are known to be illegal
• Providing intrusion containment, should successful intrusions take over processes or
processors.
Note:
Oracle recommends not having a second firewall between the BRM server and the
database server.
1-3
2
Performing a Secure BRM Installation
Learn how to install Oracle Communications Billing and Revenue Management (BRM)
securely.
Topics in this document:
• Preinstallation Tasks
• Installing BRM Securely
• Postinstallation Tasks
For information about installing BRM, see "Installing BRM" in BRM Installation Guide.
Preinstallation Tasks
Perform the following preinstallation tasks:
• The target operating system for BRM should have a default configuration with the following
differences:
– Do not disable X Windows. It is required for local administration and is useful for
troubleshooting.
– Do not disable SSH.
– By default, the application uses the following ports. Ensure that iptables is configured
to allow traffic to these ports and that any unused ports are closed:
* 22 both directions – used for SSH access
* 80 both directions – if using HTTP
* 443 both directions – if using HTTPS
– Further ports will need to be opened depending upon the ports specified for BRM
during the installation process.
• Configure Oracle Database advanced security encryption and integrity algorithms for a
secure connection from the installer. See the Oracle Database documentation for
advanced security configuration parameters. This is required for the BRM installer to make
a secured (encrypted) database connection over the network. For more details, see Oracle
Database Advanced Security Administrator's Guide at: http://docs.oracle.com
• Install only the required components. This is true of both the BRM components and any
third-party software that is required, such as the operating system and the database. This
can be achieved by either carrying out a custom install and only selecting the required
components or by removing any extraneous components as a postinstallation step.
• All third-party software should be installed following the security advice given by the
vendor. In particular, default values for data such as user names, passwords, and port
numbers should be avoided if possible, by either selecting different values during the install
or immediately changing the values as a postinstallation step.
2-1
Chapter 2
Installing BRM Securely
Postinstallation Tasks
Perform the following tasks after installing BRM:
• Lock and Expire Default User Accounts
• Change Default User Passwords
• Use Strong Passwords for BRM User Schema
• Enable SSL/TLS for SQL*NET
• Use Secure TLS Connections
• Enforce Password Management
• Tighten File Permissions
• Configure Maximum Number of Invalid Login Attempts
• Log Customer Service Representative Activities
• Integrate Paymentech
Note:
If you use Oracle Universal Installer or Database Configuration Assistant, you are
prompted for new SYS and SYSTEM passwords.
After the database is installed, lock the SYS and SYSTEM accounts, and use AS SYSDBA for
administrator access. Specify administrative passwords individually.
This account (AS SYSDBA) tracks the operating system user name, maintaining accountability.
If you need access only for database startup and shutdown, use AS SYSOPER instead.
SYSOPER has fewer administrative privileges than SYS, but enough to perform basic
operations such as startup, shutdown, mount, backup, archive, and recover.
2-2
Chapter 2
Postinstallation Tasks
• Change the default passwords of administrative users immediately after installing the
database server.
• In any Oracle environment (production or test), assign strong, secure passwords to the
SYS and SYSTEM user accounts immediately upon successful installation of the database
server. Under no circumstances should the passwords for SYS and SYSTEM retain their
default values. Similarly, for production environments, do not use default passwords for
any administrative accounts, including SYSMAN and DBSNMP.
2-3
Chapter 2
Postinstallation Tasks
Integrate Paymentech
If the BRM installation is integrated with Paymentech through the dm_fusa component, Oracle
recommends that the connection between BRM and Paymentech is protected using VPN. This
encrypts the sensitive customer data being communicated between the two platforms and
protects from any snooping attempts.
2-4
3
Performing a Secure Pricing Design Center
Installation
Learn about the recommended deployment configurations for your Oracle Communications
Pricing Design Center (PDC) installation that enhance security.
Topics in this document:
• Recommended Installation Mode
• Operating System Security
• Preinstallation Tasks
• Installation Tasks
• Postinstallation Configuration
• Uninstalling Pricing Design Center
• About Changing Passwords in the Wallets
• Implementing Pricing Design Center Security
• About Authentication
• About Authorization
• Configuring Authentication and Authorization by Using OIM
• Verifying OIM Configuration in WebLogic Server
3-1
Chapter 3
Preinstallation Tasks
Preinstallation Tasks
Perform the following preinstallation tasks:
• Enable SSL for the target WebLogic server domain, configure the server KeyStore
certificate, and then get the client KeyStore trusted certificate. This client KeyStore file
should be used in installer to make secured connection during installation.
• If SSL is enabled, ensure that the KeyStore file is created in a secure drive and access is
strictly limited to the user account.
• Configure Oracle Database advanced security encryption and integrity algorithms for a
secure connection from the installer. See the Oracle Database documentation for
advanced security configuration parameters. This is required for a PDC installer to make a
secured (encrypted) database connection over the network. For more details, see the
Oracle Database Advanced Security Administrator's Guide documentation.
• Verify that you have the latest supported version of Oracle JDK installed.
Installation Tasks
Perform the following installation tasks:
• During PDC installation, select SSL mode and provide the client KeyStore certificate for
connecting to a WebLogic server over SSL.
• The following logs are generated after the PDC installation.
Location: Oracle Inventory/logs/
-rw-r----- 1 user1 eng 480058 Aug 15 09:25 installActions2018-08-15_08-06-57AM.log
-rw-r----- 1 user1 eng 2384 Aug 15 10:33 dbScripts2018-08-15_10-32-00AM.log
-rw-r----- 1 user1 eng 124268 Aug 15 10:33 oraInstall2018-08-15_10-27-07AM.err
The installActionsxxxxx.log and oraInstallxxxx.err files will have details in clear text
format that were entered in the PDC installation wizard. Passwords that were entered in
the installation wizard are not logged in any of the PDC installation log files. Delete these
installation log files if you do not need them for future reference. If you do require them,
protect them appropriately. These log files are created with the file level permission 640
(owner can read/write, group members can read, others cannot do anything) by default.
Postinstallation Configuration
• PDC user permissions depend on the group the user belongs to. The following three
groups are created in the WebLogic server during PDC installation:
– Pricing Design Admin
– Pricing Reviewer
– Pricing Analyst
The users belonging to Pricing Design Admin group have read and write access and can
perform any kind of operation from PDC User Interface.
The users belonging to Pricing Analyst group have read and write access to all pricing
components and read only access to setup components.
The users belonging to Pricing Reviewer group have read only access to the pricing and
setup components.
3-2
Chapter 3
Postinstallation Configuration
None of the users by default is authorized to access PDC. The WebLogic server
administrator must create an account for each intended user by creating the user in the
WebLogic Server Administration Console and adding the user to one of the above groups
depending on the user role.
• Do not use your browser's remember password feature for the WebLogic Server
Administrator Console URL. Always enter the WebLogic server user name and password
manually in the login page, as a precaution.
Managing Cookies
Oracle recommends deploying PDC only on SSL, which encrypts sensitive data, thus
eliminating problems like session stealing.
You can also set this entry using the WebLogic Server Administration Console:
1. Log in to the Oracle WebLogic Server Administration Console.
The Home page appears.
2. In the Domain Configurations section, under Domain, click Domain.
The Settings for Domain_Name page appears.
3. Click the Web Applications tab.
4. Verify that the Auth Cookie Enabled check box is selected.
5. Click Save.
By default, the Auth Cookie Enabled check box is selected, but it is not present in the
config.xml file. If you deselect it, the <AuthCookieEnabled> element is added to the
config.xml file.
Setting AuthCookieEnabled to true, which is the default setting, causes the WebLogic Server
instance to send a new secure cookie, _WL_AUTHCOOKIE_JSESSIONID, to the browser
when authenticating via an HTTPS connection. After the secure cookie is set, the session is
allowed to access other security-constrained HTTPS resources only if the cookie is sent from
the browser.
Oracle recommends keeping cookies settings enabled in the browser. Disabling cookies in the
browser disables several features, such as Help.
3-3
Chapter 3
Postinstallation Configuration
If no deployment plan is created, WebLogic Server creates one with above changes and
prompts you to save deployment plan. Provide the name and path for the deployment plan
and click OK.
11. In the Domain Structure section, click Deployments.
14. Select Update this application in place with new deployment plan changes.
15. Set Deployment plan path to the deployment plan created in step 10. Use Change Path
button to browse to the file.
16. Click Next.
3-4
Chapter 3
Uninstalling Pricing Design Center
3-5
Chapter 3
About Authentication
Note:
If you have configured IDM, you must authorize PDC users by using IDM only.
About Authentication
Within IDM, Oracle Identity Manager (OIM) provides a mechanism for managing user
password policies. You must configure OIM to authenticate and authorize PDC users. See
Oracle Fusion Middleware Administrator's Guide for Oracle Identity Manager.
About Authorization
Authorization refers to granting appropriate privileges to users and denying access to other
functionality based on their job functions. The users with the following roles can access PDC
by using IDM:
• Pricing Design Admin: Can import and export all pricing and setup components in PDC.
• Pricing Analyst: Can import only pricing components. However, the user with this role can
export pricing and setup components.
• Pricing Reviewer: Can only export all pricing and setup components.
• Migration Admin: Can migrate pricing data from the BRM database to the PDC database.
• JDGroup: Can manually trigger job dispatcher to put transformation jobs in the work item
queue.
3-6
Chapter 3
Configuring Authentication and Authorization by Using OIM
18. Click Provider Specific and provide Oracle Unified Directory (OUD) connection details.
22. Click the default authenticator and then modify the Control Flag of DefaultAuhtenticator to
SUFFICIENT and click Save.
23. In the Change Center, click Activate Changes.
3-7
Chapter 3
Verifying OIM Configuration in WebLogic Server
b. Click Users.
The Users page appears.
c. Click + Create.
The Create Users page appears.
d. Enter the required information.
For more information on creating users, see the discussion about creating and
managing users in the Oracle Identity Manager Administrative and User Console
Guide.
3. Select a user.
4. Click + Request Roles.
5. In the Search field, enter the name of the role and click Search.
See "About Authentication" for the supported roles.
The search results appear.
6. Select a role from the list under Categories.
7. Click + Add to Cart.
8. Click Next and click Submit.
Now, the users can access PDC.
3-8
4
Performing a Secure ECE Installation
Learn how to create a secure Oracle Communications Elastic Charging Engine (ECE)
installation.
Topics in this document:
• About Deploying ECE into a Secure Environment
• Installing ECE
• About ECE Security
• About Oracle Coherence Security
• About Oracle Database Security
• About Oracle NoSQL Database Security
• About Cluster Security
• About the KeyStore Files and SSL Considerations
• About Trusted Host Information
• About JMX Security
• Postinstallation Security Tasks
Installing ECE
By default, ECE is installed in a secure mode. ECE uses security measures such as cluster
security and host authorization.
When you install ECE, you will be prompted to select your preferred security configuration,
such as whether to enable secure socket layer (SSL) configuration. Based on the security
configuration you select in the installer, ECE sets parameters in the relevant Oracle Coherence
and ECE configuration files for enabling the following security levels:
• JMX security. Clients require a JMX user name and password to connect to ECE JMX
Management servers. For example, Elastic Charging Controller (ECC) can use a JMX user
name and password to be authenticated to log in to the cluster.
4-1
Chapter 4
About ECE Security
• Authorized host list. A process that joins the Coherence cluster will have access to ECE
services only if it is running on a host defined in the authorized host list.
• Coherence node authentication. ECE nodes are required to authenticate themselves
when trying to join the Coherence cluster. The node credentials are stored in a key store
file that must be deployed on the ECE nodes.
• SSL encryption (intra-cluster communication). Communication across ECE nodes in the
Coherence cluster will be encrypted.
4-2
Chapter 4
About the KeyStore Files and SSL Considerations
JKS file of your own, make sure it has very limited permissions so that unauthorized access is
not allowed.
ECE uses Oracle wallet to store passwords required to connect to boundary systems such as
Oracle Communications Billing and Revenue Management (BRM) and Oracle Communications
Pricing Design Center (PDC).
When you install ECE, you enter the following information:
• The account alias for Coherence cluster security
• The key password for Coherence cluster security (the password for the alias)
• The key password for the boundary system alias
• The password for accessing the KeyStore (the certificate store password)
• DName details
The DName value specifies the authorization of users for what they can do regarding
cluster security.
The DName is used for authorization as defined in ECE_home/oceceserver/config/
permissions.xml.
See ECE Installation Guide for more information.
Note:
Oracle strongly recommends not overriding the default ECE_home/oceceserver/
config/charging-coherence-override-secure-prod.xml file.
4-3
Chapter 4
About Trusted Host Information
com.sun.management.jmxremote.authenticate=true
• In ECE_home/oceceserver/config/defaultTuningProfile.properties:
-Dcom.sun.management.jmxremote.password.file=../config/jmxremote.password
The file permission of jmxremote.password must be set to 400; otherwise, Elastic Charging
Server nodes will not start up.
ECE bundles a jmxremote.password password file in the ECE_home/oceceserver/config
directory and contains two default accounts for JMX credentials as defined in JRE_home/lib/
management/jmxremote.password.template:
• monitorRole with read-only permissions
• controlRole with read and write permissions
Passwords for these two accounts can be set in the jmxremote.password file bundled in
ECE_home/oceceserver/config. If more accounts need to be added, add those accounts in
the jmxremote.password file as well. See "Monitoring and Management Using JMX
Technology" in Java Platform, Standard Edition Monitoring and Management Guide for more
information about using the jmxremote.password file.
Because the JMX passwords are human readable in jmxremote.password, the file
permission must be set to 400.
Note:
The jmxremote.password file is used for more than JMX. This file is also used for
storing passwords required to authenticate cluster nodes and required to encrypt and
decrypt passwords for JMS notification services. See "About Managing External
Application Passwords" in BRM System Administrator's Guide for more information.
4-4
Chapter 4
Postinstallation Security Tasks
All of the Elastic Charging Controller (ECC) shell commands are JMX aware: if JMX is made
secure, you must provide a user name and password with the command that starts ECE
services.
If JMX is secured, commands like start server or starting a single node, such as start ecs1,
start configLoader, and so on must provide a user name and password. For example:
start server username=controlRole password=password_as_defined
In secured mode, Oracle recommends using the ECC shell in an interactive mode (all
commands are run within the shell and not as arguments to the ECC script). The ECC
command sets the file permissions of the file that saves the history of the commands that have
been run to 600. This protects unauthorized access to old commands to retrieve passwords
typed in the command line.
In applications such as JConsole, jVisualVM, or other JMX client applications, you must specify
the user name and password when a connection is made.
4-5
5
Managing BRM Security
Learn how to manage security in Oracle Communications Billing and Revenue Management
(BRM).
Topics in this document:
• The Security Model
• Configuring and Using Authentication
• Configuring and Using Access Control
• Configuring and Using Security Audit
• Monitoring Login Attempts
• Encryption
• Securing Sensitive Customer Data
• Using Credit Card Tokenization
• Masking Sensitive Data in Log Files
• Securing BRM Network Ports
• About Managing ECE Security
5-1
Chapter 5
Configuring and Using Authentication
Authentication of Applications
Each component in the application tier must authenticate itself against an account to be
allowed to send requests to the BRM server. The user name is stored in the application's
configuration file. By default, the password is stored in the Oracle wallet, but the application
may be configured so that the password is encrypted using AES and stored in the application's
configuration file.
Application account information is stored in the BRM database. All passwords are hashed and
encrypted before being stored in the database. When the application connects, the password
is hashed and the hash is compared with the hashed password in the database.
Authentication of Accounts
Users requesting permission to carry out a transaction must be authenticated against the
account information stored in the BRM database. All passwords are hashed and encrypted
before being stored in the database. The user name and password are typed in by the user,
and then the password is hashed and the hash is compared with the hashed password in the
database.
Permissions
Permissions determine which tasks a user can perform with BRM applications.
It is possible to restrict activities in applications, such as Customer Center and Pricing Center,
by assigning CSRs to a role and setting permissions for that role. For example, it is possible to
specify which CSRs can change a password, apply credits, and give refunds. See "Setting Up
Permissions in BRM Applications" in BRM System Administrator's Guide for more information.
In most cases, only a person with root access, such as a system administrator, is granted
permission to change CSR permissions.
See "Managing ECE Permissions" in BRM System Administrator's Guide for more information.
5-2
Chapter 5
Configuring and Using Access Control
Roles
A set of permissions defines a role. A role represents a set of actions that a person holding a
particular job or position can perform. Roles are used to configure permissions for a group of
CSRs based on the tasks they need to perform. For example, it is possible to create different
types of CSRs and assign them to different kinds of roles:
• Manager CSRs can create new roles, assign CSRs to roles, change permission settings,
change credit limits, give refunds, and change account status. A manager can also validate
the work that junior CSRs perform, for example, by making sure that new accounts are
created correctly and have all the necessary information.
• Junior CSRs can check customer account balances, check and change billing information,
and answer common customer questions.
For example, CSRs A and B can be assigned to the role Manager, and CSRs C and D can be
assigned to the role Lead-CSR, where:
• CSRs A and B have read-write permissions for customer credit card information.
• CSRs C and D have read-only permissions for customer credit card information.
It is also possible to create roles with higher levels of permissions. For example, you can
create roles that include permissions to create and manage roles using Permissioning Center.
Roles can also be set up to access one or more client applications. In addition, a CSR can be
assigned to multiple roles. For example, a CSR can be assigned to a Manager role in
Permissioning Center and to a Junior-CSR role in Pricing Center.
Roles can be hierarchical, by creating child roles and associating them with a parent role. At
each level above the bottom of the hierarchy, the child roles can also be parent roles. A child
role inherits all permission settings that are associated with its parent role.
See "About Managing Roles" in BRM System Administrator's Guide for more information.
Account Lockout
Users are locked out of the system after a specified number of invalid login attempts. See
"Configuring the Maximum Number of Invalid Login Attempts" in BRM System Administrator's
Guide for instructions for changing the default number of attempts allowed.
5-3
Chapter 5
Configuring and Using Security Audit
Once users are locked out of the system, manual intervention is required to reenable the
accounts. See "Unlocking a Locked CSR Account" in BRM System Administrator's Guide for
instructions for unlocking the accounts.
Automatic Logout
BRM provides the functionality to force a user to reauthenticate after a given amount of idle
time. However, if the password is present in the configuration file, the authentication is
automated. This facility should not be used to allow automated reauthentication of CSR
accounts.
You can configure the interval for the session to time out by setting the cm_timeout parameter.
See "Setting the CM Time Interval between Opcode Requests" in BRM System Administrator's
Guide for detailed instructions.
Encryption
By default, BRM encrypts the passwords stored in the BRM database.
However, this can be extended to encrypt fields that contain sensitive customer information,
such as credit card numbers, to guarantee privacy and prevent unauthorized use. The fields to
5-4
Chapter 5
Securing Sensitive Customer Data
be encrypted must be in string format. You set up encryption with the BRM Storable Class
Editor, which will add a flag attribute in the meta-data defining the field in the BRM data
dictionary (PIN_FLD_ENCRYPTABLE).
BRM encrypts the fields marked for encryption when storing them in the database and
automatically decrypts the fields when retrieving them from the database.
See "About Encrypting Data" in BRM System Administrator's Guide for more information.
5-5
Chapter 5
Masking Sensitive Data in Log Files
5-6
6
Security Considerations for Developers
Learn how developers can extend Oracle Communications Billing and Revenue Management
(BRM) without compromising security.
Topics in this document:
• Using the BRM SDK
• Security Considerations for ECE Developers
6-1
7
Billing Care Security
Learn how to install and implement Oracle Communications Billing Care and its components in
a secure configuration.
Topics in this document:
• About Installing Billing Care Securely
• Implementing Billing Care Security
• Developing Secure Applications for Billing Care
• Storing Billing Care Passwords in Oracle Wallet
• Storing Configuration Entries in the Billing Care Wallet
7-1
Chapter 7
Implementing Billing Care Security
<variable-definition>
<variable>
<name>SECURE_COOKIE</name>
<value>true</value>
</variable>
</variable-definition>
<module-override>
<module-name>BillingCare.war</module-name>
<module-type>war</module-type>
<module-descriptor external="true">
<root-element>weblogic-web-app</root-element>
<uri>WEB-INF/weblogic.xml</uri>
<variable-assignment>
<name>SECURE_COOKIE</name>
<xpath>/weblogic-web-app/session-descriptor/cookie-secure</
xpath>
</variable-assignment>
</module-descriptor>
</module-override>
About Authentication
Billing Care supports the following security for authentication:
• Authenticating Billing Care users against an LDAP-based user ID repository
7-2
Chapter 7
Implementing Billing Care Security
About Authorization
Authorization refers to granting users privileges appropriate for their job functions while
denying access to other functionality. OPSS handles all authorization tasks for Billing Care.
This section provides an overview of setting up and maintaining entitlements for Billing Care
plus strategies for mapping enterprise users to those entitlements.
The following terms are used in authorization:
• Resource Type: Contains the action definitions, for example,
AdjustmentCurrencyResourceType.
• Resource: Represents a piece of functionality being secured, for example,
AdjustmentResource. It must always be of a known resource type.
• Action: Combined with a resource, defines operations permissible for an application's
functionality, for example, AdjustmentResource and make.
• Obligation: Stores transaction limits. Some operations impose transaction limits, such as
the maximum payment amount. Obligations are the property of Authorization Policy.
• Authorization Policy: Comprises the resources, actions, and obligations that combine to
form a logical grouping, for example, an entire set of application functions for the regular
CSR.
• Enterprise (External) Role: Represents the job functions for the users at your company.
You make OPSS aware of roles by mapping them to the Billing Care policies. If you do not
map enterprise roles in the authorization policy, you must map to each user.
Billing Care includes an OPSS seed file containing all the resource types, resources, actions,
and obligations and few sample authorization policies (Regular CSR, Super CSR, ReadOnly
CSR, Auditor, Billing Analyst, and WriteOff).
For instructions on importing the seed file, see Oracle Fusion Middleware Administering Oracle
Platform Security Services.
Note:
Unless you are customizing Billing Care, do not change the seed file.
7-3
Chapter 7
Implementing Billing Care Security
Figure 7-1 Developing Authorization Policies for User and Enterprise Roles
7-4
Chapter 7
Implementing Billing Care Security
7-5
Chapter 7
Implementing Billing Care Security
7-6
Chapter 7
Implementing Billing Care Security
7-7
Chapter 7
Implementing Billing Care Security
7-8
Chapter 7
Implementing Billing Care Security
7-9
Chapter 7
Implementing Billing Care Security
7-10
Chapter 7
Implementing Billing Care Security
7-11
Chapter 7
Implementing Billing Care Security
7-12
Chapter 7
Implementing Billing Care Security
7-13
Chapter 7
Implementing Billing Care Security
7-14
Chapter 7
Implementing Billing Care Security
7-15
Chapter 7
Implementing Billing Care Security
7-16
Chapter 7
Implementing Billing Care Security
Attribute Type
Maximum Currency Adjustment Amount Integer
Minimum Currency Adjustment Amount Integer
Maximum Noncurrency Adjustment Amount Integer
Minimum Noncurrency Adjustment Amount Integer
Maximum Payment Amount Integer
Maximum Dispute Amount (applies to settle as well) Integer
Maximum Write-off Amount Integer
Maximum Refund Issues Amount Integer
Maximum Refund Settle Amount Integer
About Auditing
The BRM server software handles auditing of Billing Care activities. The BRM event
notification framework captures the audit trail records inside the /user_activity storable class.
Each audit trail record links the activity with its creator, date, and time. In the audit trail, the
identity of the person creating the record is the user name entered in Billing Care at sign-in.
7-17
Chapter 7
Implementing Billing Care Security
To capture new activity in the audit trail, include the event corresponding to the relevant activity
using the pin_notify file in BRM. The same instructions apply when excluding events from the
audit trail.
Table 7-3 lists all activities preserved in BRM by default. The list is from the /config/pin_notify
storable class. You can add to or delete from this list.
For information on logging events, including changing the events logged, see "Logging CSR
Activity Events" in BRM System Administrator's Guide.
7-18
Chapter 7
Developing Secure Applications for Billing Care
About UI Authorization
After a user successfully signs in to Billing Care, it fetches the grants of all resources and sets
it into the global variable authorizationJSON.
When opening a page or dialog box, Billing Care gets the grants of resources through the
available authorization custom-bindings and then applies the bindings in the respective view
model or overlay view model.
For more information, see "Performing Authorization on the UI" in Billing Care SDK Guide.
7-19
Chapter 7
Storing Billing Care Passwords in Oracle Wallet
Note:
Do not change key values.
<keyvals>
<key>authorizationResourceTypes/key>
<value>CreditProfileResourceType</value>
<desc>Add comma separated OPSS Resource Types(values)for authorization.
Also these resource types must be defined in OPSS.
Do not change the keys here.
</desc>
</keyvals>
Note:
To encrypt passwords that are associated with customizations, use the
pin_crypt_app utility. For details, see "About Encrypting Passwords" in BRM
Developer's Guide.
where:
7-20
Chapter 7
Storing Configuration Entries in the Billing Care Wallet
– oraclepkiLocation is the path to the oraclepki.jar file which contains the APIs that
are required for the wallet.oraclepki.jar is stored in the SDK_home/
BillingCareSDK/samples/Wallet directory.
– osdtCertLocation is the path to the osdt_cert.jar file, which contains the JARs that
are used by the JAVA PCM library for establishing a TLS connection to BRM. The
osdt_cert.jar file is stored in the SDK_home/BillingCareSDK/samples/Wallet
directory.
– osdtCoreLocation is the path to the osdt_core.jar file, which contains the JARs
that are used by the JAVA PCM library for establishing a TLS connection to BRM.
The osdt_core.jar file is stored in the SDK_home/BillingCareSDK/samples/
Wallet directory.
– cetLocation is the cet.jar file, which contains the APIs that are required for the
wallet. The cet.jar file is stored in the SDK_home/BillingCareSDK/samples/
Wallet directory.
– clientWalletLocation is the path to the Billing Care wallet.
– configEntry is the configuration entry in the Billing Care wallet.
– value is the appropriate value for the respective entry in the Billing Care wallet.
For example, running the following command with the -value parameter stores the
infranet.log.level as 1 in the Billing Care wallet. If the value exists in the wallet, it will
be overwritten:
java -cp
'.:oraclepki.jar:osdt_cert.jar:osdt_core.jar:cet.jar:'com.portal.cet.ConfigEditor
-setconf -wallet "/scratch/pin11/wallet" -parameter infranet.log.level -value 1
If you run the command without the -value parameter, it prompts for the values for the
infranet.connection entries and stores them in the Billing Care wallet. At the
command prompt, enter the values listed in Table 7-4.
Field Description
User Name The user name for connecting to BRM.
Password The BRM user's password.
Host Name The IP address or the host name of the machine on which the primary
BRM Connection Manager (CM) or CM Master Process (CMMP) are
running.
Port Number The TCP port number of the CM or CMMP on the host computer.
Service Type The BRM service type.
Service POID Id The POID of the BRM service.
For example, running the following command with the -value parameter stores the
infranet.log.level as 1 in the Billing Care wallet:
java -cp ".;C:\Program Files (x86)\Portal
Software\BillingCare\lib\oraclepki.jar;C:\Program Files (x86)\Portal
7-21
Chapter 7
Storing Configuration Entries in the Billing Care Wallet
If you run the command without the -value parameter, it prompts for the values for the
infranet.connection entries and stores them in the Billing Care wallet. At the
command prompt, enter the values listed in Table 7-4.
3. Enter the Billing Care client wallet password.
The value is stored in the Billing Care wallet.
For retrieving stored configuration entries, see "About Oracle Wallet" in BRM System
Administrator's Guide.
7-22
8
Billing Care REST API Security
Learn how to implement the security capabilities supported by Billing Care REST API. The
Oracle Communications Billing Care REST API supports stringent authorization and
authentication requirements.
Topics in this document:
• About Authentication and Authorization
• Setting Up OAuth with Oracle Identity Cloud Service
• Setting Up OAuth with Oracle Access Management
For more information, see REST API Reference for Billing Care.
8-1
Chapter 8
Setting Up OAuth with Oracle Identity Cloud Service
Note:
Authentication is required for production systems only. In test systems, you can
submit requests without configuring authentication.
8-2
Chapter 8
Setting Up OAuth with Oracle Identity Cloud Service
12. In the Application Added pop-up window, make note of the client ID and client secret. You
will provide this to the person who needs to generate the OAuth access token.
13. Click Activate and then click Activate application to confirm the activation.
12. In the Application Added pop-up window, make note of the client ID and client secret. You
will provide this to the person who needs to generate the OAuth access token.
13. Click Activate and then click Activate application to confirm the activation.
8-3
Chapter 8
Setting Up OAuth with Oracle Identity Cloud Service
You pass the Base64-encoded value in the header of your HTTP/HTTPS request for an OAuth
access code.
where:
• IDCS_hostname:port is the host and port number of the IDCS Server that is running
your application.
• ResourceserverScopename is the name of the resource server concatenated with the
name of the scope.
Note:
You entered the resource server name in the Primary Audience field of step
6, and you entered the scope name in the Scope field of step 6.
where:
• JarLocationUnderInstallHome is the directory in which Java is installed in your Billing
Care REST API installation.
• WalletLocation is the directory in which the Oracle wallet resides.
• ClientIdValue is the client ID.
3. At the Enter password for the wallet prompt, enter your client wallet password.
4. Store the client secret by running this command:
8-4
Chapter 8
Setting Up OAuth with Oracle Access Management
5. At the Enter password for the wallet prompt, enter your client wallet password.
6. At the Enter the value prompt, enter the client secret to store in the wallet.
where:
• hostname:port is the IP address or host name and port of the Billing Care REST API
server.
• credentials is the Base64-encoded value of your IDCS administrator user name and
password joined by a single colon (username:password).
If the request is successful, the token type and access token are returned. For example:
{
"token_type": "Bearer",
"access_token": "accessToken"
}
Your client must pass this OAuth access token in the header of every HTTP/HTTPS request
sent to the Billing Care REST API.
Note:
Authentication is required for production systems only. In test systems, you can
submit requests without configuring authentication.
8-5
Chapter 8
Setting Up OAuth with Oracle Access Management
curl -i
-H "Content-Type: application/json"
-H "Accept: application/json"
-H "Authorization:Basic credentials"
-X POST
http(s)://hostname:port/oam/services/rest/ssa/api/v1/oauthpolicyadmin/
oauthidentitydomain
-d '{
"name": "identityDomain",
"description": "Description for Billing Care REST API Identity
Domain",
"tokenSettings":[
{
"tokenType": "ACCESS_TOKEN",
"tokenExpiry": tokenExpiry
}
]
}'
where:
• credentials is the Base64-encoded value of your Oracle Access Manager administrator
user name and password joined by a single colon (username:password).
• hostname:port is the host and port of the Oracle Access Manager Administration
Server.
• identityDomain is the name of the Oracle Access Manager identity domain that you
want to create.
• tokenExpiry is the number of seconds before the token expires, such as 3600 for one
hour.
See "Add a new OAuth Identity Domain" in REST API for OAuth in Oracle Access
Manager for more information.
2. Create a resource server, which hosts protected resources and accepts and responds to
protected resource requests using access tokens.
To create and configure your resource server, use cURL to send an HTTP/HTTPS request
to the Oracle Access Management URL. For example:
curl -i
-H "Content-Type: application/json"
8-6
Chapter 8
Setting Up OAuth with Oracle Access Management
-H "Authorization:Basic credentials"
-X POST
http(s)://hostname:port/oam/services/rest/ssa/api/v1/oauthpolicyadmin/
application
-d '{
"name": "resourceServer",
"idDomain": "identityDomain",
"description": "Billing Care REST API Resource Server",
"scopes":[
{
"scopeName":"scopeName",
"description":"All Access"
}
]
}'
where:
• resourceServer is the name of your resource server, such as BillingCare.
• scopeName is the name of the scope, such as All.
See "Add a new Resource Server" in REST API for OAuth in Oracle Access Manager for
more information.
3. Create a client application that makes protected resource requests on behalf of the
resource owner and with the resource owner's authorization. Billing Care REST API clients
are web applications with an OAuth 2.0 client type of Confidential Client. Clients must use
a grant type of Client Credentials for requesting access to Billing Care REST API
resources.
To create a client application, use cURL to send an HTTP/HTTPS request to the Oracle
Access Management URL. For example:
curl -i
-H "Content-Type:application/json"
-H "Authorization:Basic credentials"
-X POST
http(s)://hostname:port/oam/services/rest/ssa/api/v1/oauthpolicyadmin/
client
-d '{
"secret": "client_secret",
"id": "client_id",
"name": "clientName",
"scopes": [
"resourceServer.scopeName"
],
"clientType": "CONFIDENTIAL_CLIENT",
"idDomain": "identityDomain",
"description": "Description of client of Billing Care REST API
Server",
"grantTypes":[
"CLIENT_CREDENTIALS"
],
"defaultScope": "resourceServer.scopeName",
"redirectURIs": [
{
"url":"http(s)://BillingCareHost:BillingCarePort/bcws",
8-7
Chapter 8
Setting Up OAuth with Oracle Access Management
"isHttps": isHttps
}
]
}'
where:
• client_secret is the password for your client.
• client_id is the client ID for your client. It will be generated automatically if not
specified.
• clientName is the name of your client.
• BillingCareHost:BillingCarePort is the host and port of the Billing Care REST API
Server.
• isHttps is a Boolean value that specifies whether the URL is accessed over HTTPS
(true) or HTTP (false).
See "Add a new OAuth Client" in REST API for OAuth in Oracle Access Manager for more
information.
3. In the config.xml file, set this entry to false. This configures WebLogic Server to skip
basic authentication.
<domain>
<security-configuration>
<!-- Other configurations -->
<enforce-valid-basic-auth-credentials>false</enforce-valid-basic-
auth-credentials>
</security-configuration>
</domain>
8-8
Chapter 8
Setting Up OAuth with Oracle Access Management
where:
• OAM_hostname:port is the host and port number of the Oracle Access Manager
Managed Server that is running the oam_server application.
• Resourceserver.Scopename is the name of the resource server followed by the name
of the scope.
• IdentityDomain is the name of your identity domain.
3. Save and close the file.
where:
• hostname:port is the IP address or host name and port of the Billing Care REST API
server.
• credentials is the Base64-encoded value of your IDCS administrator user name and
password joined by a single colon (username:password).
If the request is successful, the token type, expiry time, and access token are returned. For
example:
{
"expires_in": 3600,
"token_type": "Bearer",
"access_token": "accessToken"
}
The token expires after the number of seconds shown in expires_in. This value is set while
setting up the OAuth identity domain as described in "Configuring OAuth Settings Using Oracle
Access Management". After the token expires, you must request a new one.
You use the token in the Authorization header for each REST request with the following format:
8-9
9
BRM REST Services Manager Security
Learn how to implement the security capabilities supported by BRM REST Services Manager.
Oracle Communications Billing and Revenue Management (BRM) REST Services Manager
supports stringent authorization and authentication requirements.
Topics in this document:
• About Authentication and Authorization
• Setting Up OAuth with Oracle Identity Cloud Service
• Setting Up OAuth using Oracle Access Management
• Scopes and Roles for Accessing REST Services Manager
For more information, see REST Services Manager API for Billing and Revenue Management.
9-1
Chapter 9
Setting Up OAuth with Oracle Identity Cloud Service
9-2
Chapter 9
Setting Up OAuth with Oracle Identity Cloud Service
9. In the Resources page, select Configure this application as a resource server now.
10. In the Configure application APIs that need to be OAuth protected section, do the
following:
a. In the Access Token Expiration field, enter how long (in seconds) the access token
remains valid. For example, enter 3600 for 1 hour.
b. Select the Is Refresh Token Allowed option.
c. In the Refresh Token Expiration field, enter how long (in seconds) the refresh token,
which is returned with your access token and is associated with your confidential
application, remains valid.
d. In the Primary Audience field, enter the primary recipient where the access token of
your confidential application is processed.
e. Next to Scopes, click Add.
f. In the Add Scope dialog box, add these scopes: BillingAgent and BillingViewer.
11. Click Back to return to the Resources page.
12. In the Token Issuance Policy section of the Resources page, do the following:
b. In the Select Scope dialog box, next to the name of your application, select the
icon.
c. Select the BillingAgent and BillingViewer scopes.
d. Click Add.
13. Click Next to advance to the Resources page.
16. In the Application Added pop-up window, make note of the client ID and client secret. You
will provide this to the person who needs to generate the OAuth access token.
17. Click Close.
18. At the top right of the application page, select Activate and then click OK to confirm the
activation.
19. Provide the following to the person who needs to generate the OAuth access token:
• The Identity Cloud Service URLs for generating authorization codes and requesting
access tokens. For example:
https://idcs_hostname/oauth2/v1/authorize
https://idcs_hostname/oauth2/v1/token
where idcs_hostname is the hostname of the server of your Identity Cloud Service
instance
• The redirect URL to send authorization codes and access tokens to
• The client ID and client secret
9-3
Chapter 9
Setting Up OAuth with Oracle Identity Cloud Service
https://idcs_hostname/oauth2/v1/authorize?
client_id=client_id&response_type=code&redirect_uri=redirect_url&scope=Billing
Agent BillingView all offline_access
where:
• idcs_hostname is the hostname of your Identity Cloud Service instance.
• client_id is the client ID generated by Identity Cloud Service when you create a confidential
application.
• redirect_url is the URL for your application.
The authorization code is returned with the parameter named “code” in the redirect URL. Make
a note of the authorization code so it can be used to request OAuth access tokens.
9-4
Chapter 9
Setting Up OAuth with Oracle Identity Cloud Service
For more information, see "Generate Authorization Code and Identity Token (3-legged OAuth
Flow)" in REST API for Oracle Identity Cloud Service.
curl -i
-H "Authorization: Basic encoded_client"
-H "Content-Type: application/x-www-form-urlencoded;charset=UTF-8"
--request POST https://idcs_hostname/oauth2/v1/token
-d 'grant_type=client_credentials&scope=BillingAgent BillingView all'
• For three-legged OAuth authentication, include the authorization code in your HTTP/
HTTPS request:
curl -i
-H "Authorization: Basic encoded_client"
-H "Content-Type: application/x-www-form-urlencoded;charset=UTF-8"
--request POST https://idcs_hostname/oauth2/v1/token
-d
"redirect_uri=redirect_url&grant_type=authorization_code&code=authorization
_code"
where:
• encoded_client is the base64-encoded client ID and client secret that you created in
"Encoding the Client ID and Client Secret in Base64 Format".
• idcs_hostname is the hostname of your Identity Cloud Service instance.
• redirect_url is the URL for your application.
• authorization_code is the authorization code returned in "Generating an Authorization
Code (3-Legged OAuth Only)".
After you submit the request, Identity Cloud Service returns an OAuth access token.
Identity Cloud Service also returns a refresh token if the following are true:
• You are using three-legged OAuth authentication.
• Your OAuth client allows the Refresh Token grant type.
• You included the offline_access scope in your request for an authorization code.
9-5
Chapter 9
Setting Up OAuth using Oracle Access Management
The OAuth access token and refresh token returned from the request follows this syntax:
{
"access_token":"access_token",
"token_type":"Bearer","expires_in":3600,
"refresh_token":"refresh_token"
}
For more information, see "Generate Access Token and Other OAuth Runtime Tokens to
Access the Resource" in REST API for Oracle Identity Cloud Service.
where:
• encoded_client is the base64-encoded client ID and client password that you created in
"Encoding the Client ID and Client Secret in Base64 Format".
• idcs_hostname is the hostname of your Identity Cloud Service instance.
• refresh_token is the refresh token that was returned when you requested an access token
in "Requesting an OAuth Access Token".
For more information, see "Generate Access Token and Other OAuth Runtime Tokens to
Access the Resource" in REST API for Oracle Identity Cloud Service.
9-6
Chapter 9
Setting Up OAuth using Oracle Access Management
Note:
If you use both BRM REST Services Manager and PDC REST Services Manager,
you must set up separate OAuth identity domains, resource servers, and clients for
each component.
where:
• encoded_admin is the base64-encoded format of the Oracle Access Management
administrator user name and password.
9-7
Chapter 9
Setting Up OAuth using Oracle Access Management
• oam_host:oam_port is the host name and port for the Oracle Access Management server.
• identity_domain is the name of the Oracle Access Management identity domain that you
want to create.
• identity_store is set to your Oracle Unified Directory.
The following shows an example cURL command for creating an identity domain named
TMF_ID_Domain with the identity store set to OUD:
If the identity domain was created successfully, you will see a response similar to this:
9-8
Chapter 9
Setting Up OAuth using Oracle Access Management
To create a resource server, use cURL to send an HTTP/HTTPS request to the Oracle Access
Management URL:
where:
• wls_admin:password is the Admin user name and password for WebLogic Server.
• resource_server is the name of the resource server that you want to create.
• scopeN is the name of a scope. After the scopes are defined under the resource server,
refer to them as resource_server.scope. For example: TMFResourceServer.BillingAgent.
For information about the scopes, see "Scopes and Roles for Accessing REST Services
Manager".
The following shows an example of creating a resource server named TMFResourceServer
with the BillingAgent and BillingViewer scopes, an identity domain named TMF_ID_Domain,
and static and dynamic customer attributes:
If the resource server is created successfully, you will see a response similar to this:
9-9
Chapter 9
Setting Up OAuth using Oracle Access Management
where:
• custom_attribute and custom_value are custom attribute names and values. You can
optionally define a set of static and dynamic custom attributes, which will then be added as
custom attributes to the OAuth access token.
• client_id and client_secret are the client ID and client secret.
• client_name is the name of the OAuth client that you want to create.
• redirect_host:redirect_port is the URL for your client application.
The following shows an example cURL request for creating a confidential OAuth client named
TMFClient with the TMFResourceServer:BillingAgent (default) and
TMFResourceServer:BillingViewer scopes, and an identity domain named
TMF_ID_Domain.
9-10
Chapter 9
Setting Up OAuth using Oracle Access Management
The following shows an example cURL request for creating a creating OAuth access token for
the TMF_ID_Domain identity domain, TMFResourceServer resource server, and
BillingAgent scope:
If the request is successful, Oracle Access Management returns something similar to this:
{
"access_token":"access_token",
"token_type":"Bearer",
9-11
Chapter 9
Setting Up OAuth using Oracle Access Management
"expires_in":3600
}
Your client must pass this OAuth access token in the header of every HTTP/HTTPS request
sent to the BRM REST Services Manager.
9-12
Chapter 9
Setting Up OAuth using Oracle Access Management
Click Create, do the following in the Create Resource screen, and then click Apply:
• Resource URL: Enter /oauth2/rest/**.
• Protection Level: Select Excluded.
8. Create an excluded resource named /oam/**.
Click Create, do the following in the Create Resource screen, and then click Apply:
• Resource URL: Enter /oam/**.
• Operations Available: Select ALL.
• Protection Level: Select Excluded.
<Location /oauth2>
SetHandler weblogic-handler
WebLogicHost ManagedServerHostName
WebLogicPort ManagedServerPort
ErrorPage http:/WEBLOGIC_HOME:WEBLOGIC_PORT/
</Location>
<Location /oam>
SetHandler weblogic-handler
WebLogicHost ManagedServerHostName
WebLogicPort ManagedServerPort
ErrorPage http:/WEBLOGIC_HOME:WEBLOGIC_PORT/
</Location>
9-13
Chapter 9
Scopes and Roles for Accessing REST Services Manager
2. Enter your user credentials in the Oracle Access Manager login screen.
3. Click Allow.
4. Copy the authorization code from the browser URL.
5. Generate the OAuth access token by submitting a cURL request to the Create Access
Token Flow endpoint in the Oracle Access Manager OAuth REST API. For example:
For more information, see REST API for OAuth in Oracle Access Manager.
For three-legged OAuth authentication, use the roles (groups) listed in Table 9-2 to control
access to the REST Services Manager API and SDK.
9-14
10
PDC REST Services Manager Security
Learn how to set up security for Oracle Communications Pricing Design Center (PDC) REST
Services Manager.
Topics in this document:
• About PDC REST Services Manager Security
• Setting Up OAuth for PDC REST Services Manager with Oracle Identity Cloud Service
• Setting Up OAuth for PDC REST Services Manager with Oracle Access Management
• Securing Inbound Communications
• Securing Outbound Requests to PDC
• Encrypting Sensitive Data
• PDC REST Services Manager Security Configuration Reference Information
For more information, see PDC REST Services Manager Integration Guide.
10-1
Chapter 10
Setting Up OAuth for PDC REST Services Manager with Oracle Identity Cloud Service
https://idcs_hostname/oauth2/v1/token
where idcs_hostname is the hostname of the server of your Oracle Identity Cloud Service
instance
• The primary audience URL
• The client ID and client secret. Encode these in base-64 before using them to request
OAuth access tokens.
Setting Up Security with Oracle Identity Cloud Service in the PDC REST
Services Manager Configuration File
To set the Oracle Identity Cloud Service details in the PDC REST Services Manager
application.yaml file:
1. Open the PDC_RSM_home/apps/conf/application.yaml file in a text editor, where
PDC_RSM_home is the directory in which you installed PDC REST Services Manager.
2. Set the keys under security as shown in Table 10-1.
10-2
Chapter 10
Setting Up OAuth for PDC REST Services Manager with Oracle Identity Cloud Service
Key Description
config.require-encryption Controls whether requests require encryption using client_id and
client_secret.
Set this to true.
enabled Enables or disables security.
Enable security in production environments by setting this to true.
properties.idcs-uri The base URL of your Oracle Identity Cloud Service instance in this
format:
https://idcs-TenantID.identity.oraclecloud.com
properties.idcs-client-id The client ID for your confidential application.
properties.idcs-client- The Base64-encrypted client secret obtained from your Oracle
secret Identity Cloud Service application.
For security purposes, do not store the client secret in plain-text. To
encrypt the client secret, see "Encrypting Sensitive Data".
properties.frontend-uri The base URL of your confidential application when run. For
example:
http://localhost:8080
properties.audience The primary audience as provisioned for the PDC REST Services
Manager application in Oracle Identity Cloud Service. For example:
http://localhost:8080/
Note: Ensure that you include the trailing slash in the URL.
properties.proxy-host The hostname of the proxy server, if required.
web- The scope defined in Oracle Identity Cloud Service for protecting the
server.paths.<0>.abac.sco TMF620 publishEvent endpoint.
pes
web- The scope defined in Oracle Identity Cloud Service for protecting the
server.paths.<1>.abac.sco metrics endpoint.
pes
3. In the providers section, ensure that the oidc and abac providers are not commented out.
Comment out the oamoidc provider.
4. In the app.httpClients.security section, set the keys based on the type of authentication
required by your enterprise product catalog. These keys allow you to secure outbound
requests from PDC REST Services Manager to your enterprise product catalog. See:
• OAuth Configuration Properties for Outbound Requests
• Basic Authentication Configuration Properties for Outbound Requests
5. Save and close the application.yaml file.
See "Example application.yaml Security Configuration with Oracle Identity Cloud Service"
for a sample file showing the appropriate properties.
6. Restart PDC REST Services Manager by running the following command from the
PDC_RSM_home/apps/bin directory:
./RestServicesManager.sh restart
10-3
Chapter 10
Setting Up OAuth for PDC REST Services Manager with Oracle Access Management
and Other OAuth Runtime Tokens to Access the Resource" in REST API for Oracle Identity
Cloud Service.
To request an OAuth access token using cURL, use the following format for your HTTP/HTTPS
request to the Oracle Identity Cloud Service URL:
curl -i
-H "Authorization: Basic encoded_credentials"
-H "Content-Type: application/x-www-form-urlencoded;charset=UTF-8"
--request POST https://idcs_hostname/oauth2/v1/token
-d 'grant_type=client_credentials&scope=https://primaryAudience/scope'
where:
• encoded_credentials is either the client ID and client secret (clientID:clientSecret) or user
name and password (username:password) in Base64-encoded format.
• idcs_hostname is the host name of your Oracle Identity Cloud Service instance.
• primaryAudience is the host name and port of your confidential application.
• scope is one of the following:
– pubevent: Authorizes access to the Publish Event endpoint.
– metrics: Authorizes access to the Metrics endpoint.
After you submit the request, Oracle Identity Cloud Service returns an OAuth access token.
Your client must pass this OAuth access token in the header of every HTTP/HTTPS request
sent to the PDC REST Services Manager.
10-4
Chapter 10
Setting Up OAuth for PDC REST Services Manager with Oracle Access Management
Note:
If you use both BRM REST Services Manager and PDC REST Services Manager,
you must set up separate OAuth identity domains, resource servers, and clients for
each component.
where:
• encoded_admin is the base64-encoded format of the Oracle Access Management
administrator user name and password.
• oam_host:oam_port is the host name and port for the Oracle Access Management server.
If the identity domain was created successfully, you will see a response similar to this:
10-5
Chapter 10
Setting Up OAuth for PDC REST Services Manager with Oracle Access Management
where:
• wls_admin:password is the administrator user name and password for Oracle WebLogic
Server.
• resource_server is the name of the resource server that you want to create.
• scopeN is the name of a scope.
After the scopes are defined under the resource server, refer to them as
resource_server.scope for subsequent tasks, such as creating the OAuth client and requesting
an OAuth token. For example, PDCRSMResourceServer.all.
If the resource server is created successfully, you will see a response similar to this:
10-6
Chapter 10
Setting Up OAuth for PDC REST Services Manager with Oracle Access Management
where:
• client_id and client_secret are the client ID and client password.
• redirect_host:redirect_port is the URL for your client application.
If the client is created successfully, the response will be similar to this:
10-7
Chapter 10
Setting Up OAuth for PDC REST Services Manager with Oracle Access Management
Key Description
enabled Enables or disables security.
Enable security in production environments by setting this to true.
config.require-encryption Controls whether requests require encryption using client_id and
client_secret.
Set this to false.
properties.token-endpoint- The URL for requesting an OAuth token from Oracle Access
uri Management.
For example, http://oam_host:oam_port/oauth2/rest/token
properties.introspect- The URL for validating an OAuth token from Oracle Access
endpoint-uri Management.
For example, http://oam_host:oam_port/oauth2/rest/token/info
properties.oauth-identity- The name of the OAuth identity domain that you created in "Creating
domain-name an OAuth Identity Domain for PDC REST Services Manager."
For example, PDC_RSM_Domain.
properties.authorization- The URL for authorizing role-based access. PDC REST Services
endpoint-uri Manager does not support role-based access, so this will not be
used.
For example, http://oam_host:oam_port/oauth2/authorize
properties.frontend-uri The URL for the OAuth client you created in "Creating an OAuth
Client for PDC REST Services Manager."
For example, http://oam_host:oam_port
properties.proxy-host The URL for your proxy server, if needed.
properties.audience The name of the OAuth resource server that you created in "Creating
a Resource Server for PDC REST Services Manager." For example,
PDCRSMResourceServer.
properties.scope-audience The primary audience for PDC REST Services Manager in the
Oracle Access Management resource, used for error handling. This
is the same as properties.frontend-uri, ending with /.
For example, http://oam_host:oam_port/
providers.oamoidc.validat Whether to validate with JSON web keys.
e_with_jwk Set this to false.
providers.oamoidc.token- The URL for requesting an OAuth token from Oracle Access
endpoint-uri Management.
For example, http://oam_host:oam_port/oauth2/rest/token
providers.oamoidc.authori The URL for authorizing role-based access. PDC REST Services
zation-endpoint-uri Manager does not support role-based access, so this will not be
used.
For example, http://oam_host:oam_port/oauth2/authorize
10-8
Chapter 10
Setting Up OAuth for PDC REST Services Manager with Oracle Access Management
Key Description
providers.oamoidc.introsp The URL for validating an OAuth token from Oracle Access
ect-endpoint-uri Management.
For example, http://oam_host:oam_port/oauth2/rest/token/info
providers.oamoidc.scope- The primary audience for PDC REST Services Manager in the
audience Oracle Access Management resource.
Set this to "${ALIAS=security.properties.scope-audience}".
providers.oamoidc.audien The name of the OAuth resource server that you created in "Creating
ce a Resource Server for PDC REST Services Manager." For example,
PDCRSMResourceServer.
providers.oamoidc.proxy- The URL for your proxy server, if needed.
host Set this to "${ALIAS=security.properties.proxy-host}".
providers.oamoidc.fronten The URL for your application.
d-uri Set this to "${ALIAS=security.properties.frontend-uri}".
providers.oamoidc.cookie- Whether to use cookies.
use Set this to false.
providers.oamoidc.header Whether to use headers.
-use Set this to true.
providers.oamoidc.redirec Whether to use a redirect URL.
t Set this to false.
providers.oamoidc.oidc- Whether to use OpenID Connect Discovery metadata.
metadata-well-known Set this to false.
providers.oamoidc.oauth- The name of the OAuth identity domain that you created in "Creating
identity-domain-name an OAuth Identity Domain for PDC REST Services Manager."
For example, PDC_RSM_Domain.
web-server.paths.methods The methods allowed for the endpoint.
• For the projectPublishEvent endpoint, set this to ["get", "post].
• For the metrics endpoint, set this to ["get"].
web- Whether authentication is enabled for the endpoint.
server.paths.authenticate Set this to true.
web- Whether authorization is enabled for the endpoint.
server.paths.authorize Set this to true.
web- The scopes that control access to the endpoint.
server.paths.abac.scopes Use the scopes that you configured in Creating a Resource Server
for PDC REST Services Manager, without the resource server name.
For example, read or all.
3. In the providers section, ensure that the oamoidc and abac providers are not commented
out. Comment out the oidc provider.
4. In the app.httpClients.security section, set the keys based on the type of authentication
required by your enterprise product catalog. These keys allow you to secure outbound
requests from PDC REST Services Manager to your enterprise product catalog. See:
• OAuth Configuration Properties for Outbound Requests
• Basic Authentication Configuration Properties for Outbound Requests
5. Save and close the application.yaml file.
See "Example application.yaml Security Configuration with Oracle Access Management"
for a sample file showing the appropriate properties.
10-9
Chapter 10
Setting Up OAuth for PDC REST Services Manager with Oracle Access Management
6. Restart PDC REST Services Manager by running the following command from the
PDC_RSM_home/apps/bin directory:
./RestServicesManager.sh restart
where:
• encoded_admin is the base64-encoded format of the Oracle Access Management
administrator user name and password.
• identity_domain is the name of the OAuth identity domain created in Oracle Access
Management for PDC REST Services Manager.
• oam_host:oam_port is the host name and port for the Oracle Access Management server.
• resource_server is the name of the Oracle Access Management resource server created
for PDC REST Services Manager.
• scope is the name of a scope.
The following shows an example cURL request for creating an OAuth access token for the
PDC_RSM_domain identity domain, PDCRSMResourceServer resource server, and all
scope:
If the request is successful, Oracle Access Management returns something similar to this:
{"access_token":"access_token",
"token_type":"Bearer","expires_in":3600}
Your client must pass this OAuth access token in the header of every HTTP/HTTPS request
sent to the PDC REST Services Manager.
10-10
Chapter 10
Securing Inbound Communications
Note:
Set the server.ssl.private-key.keystore-passphrase key only if the PKCS
file was created using a password.
For example:
server:
...
ssl:
private-key:
keystore-path: "/scratch/ri-user-1/certs/certificate.p12"
keystore-passphrase: "${passPhrase}"
4. Restart PDC REST Services Manager by running the following command from the
PDC_RSM_home/apps/bin directory:
./RestServicesManager.sh restart
10-11
Chapter 10
Encrypting Sensitive Data
For example:
app:
pdc:
url: "t3s://pdc.example.com:8002"
3. Restart PDC REST Services Manager by running the following command from the
PDC_RSM_home/apps/bin directory:
./RestServicesManager.sh restart
If you want to change it to use the insecure T3 protocol, set the app.pdc.url key to the T3
protocol and an insecure PDC port. For example:
app:
pdc:
url: "t3://pdc.example.com:8001"
10-12
Chapter 10
PDC REST Services Manager Security Configuration Reference Information
Key Description
tokenEndpoint The URL for requesting an OAuth token.
For example, http://host:port/oauth2/rest/token.
clientId The client ID used to authenticate the request from PDC REST Services Manager.
clientSecret The encrypted client secret used to authenticate the request from PDC REST
Services Manager.
To encrypt the client secret, see "Encrypting Sensitive Data".
scope The scopes required by the enterprise product catalog.
If you are using Oracle Access Management, use the format
resourceServerName.scope. For example, ResourceServer.read.
If you are using Oracle Identity Cloud Service, use the format
urn:opc:resource:consumer::scope.
grantType The grant type to be used for the OAuth flow: client_credentials or password.
If you are using Oracle Access Management, only client_credentials is
supported.
username The user name required for accessing the enterprise product catalog.
Set this only when grantType is password.
password The encrypted password required for accessing the enterprise product catalog.
To encrypt the password, see "Encrypting Sensitive Data".
Set this only when grantType is password.
domainId The Oracle Access Management Identity domain.
Set this only when using Oracle Access Management.
app:
httpClients:
- urlRegex: "local.*:8889"
security:
oauth2:
tokenEndpoint: "http://host:port/oauth2/v1/token"
clientId: "ClientID"
clientSecret: "EncryptedClientSecret"
scope: "https://hostnameurn:opc:resource:consumer::all"
grantType: "client_credentials"
app:
httpClients:
- urlRegex: "local.*:8889"
security:
oauth2:
tokenEndpoint: "http://host:port:8889/oauth2/v1/token"
clientId: "ClientID"
clientSecret: "EncryptedClientSecret"
scope: "https://hostnameurn:opc:resource:consumer::all"
grantType: "password"
10-13
Chapter 10
PDC REST Services Manager Security Configuration Reference Information
username: "ApplicationUsername"
password: "EncryptedApplicationPassword"
Key Description
username The user name required for accessing the enterprise product catalog.
password The password required for accessing the enterprise product catalog.
app:
httpClients:
- urlRegex: "local.*:8889"
security:
basicAuth:
username: "ApplicationUsername"
password: "ApplicationPassword"
security:
config.require-encryption: true
enabled: true
properties:
idcs-uri: "idcsURI"
idcs-client-id: "clientId"
idcs-client-secret: ${clientSecret}
frontend-uri: "http://localhost:8080"
audience: "http://localhost:8080/"
proxy-host: ""
providers:
- abac:
# Adds ABAC Provider - it does not require any configuration
- oidc:
validate-with-jwk: false
client-id: "${ALIAS=security.properties.idcs-client-id}"
client-secret: "${ALIAS=security.properties.idcs-client-secret}"
identity-uri: "${ALIAS=security.properties.idcs-uri}"
realm: "pdcrsm"
audience: "${ALIAS=security.properties.audience}"
proxy-host: "${ALIAS=security.properties.proxy-host}"
redirect: false
10-14
Chapter 10
PDC REST Services Manager Security Configuration Reference Information
cookie-use: false
header-use: true
#- oamoidc:
# validate-with-jwk: false
# token-endpoint-uri: "http://oam_host:oam_port/oauth2/rest/token"
# authorization-endpoint-uri: "http://oam_host:oam_port/oauth2/
authorize"
# introspect-endpoint-uri: "http://oam_host:oam_port/oauth2/rest/token/
info"
# scope-audience: "${ALIAS=security.properties.scope-audience}"
# audience: "PDCRSMResourceServer"
# proxy-host: "${ALIAS=security.properties.proxy-host}"
# frontend-uri: "${ALIAS=security.properties.frontend-uri}"
# redirect: false
# cookie-use: false
# header-use: true
# oidc-metadata-well-known: false
# oauth-identity-domain-name: "PDC_RSM_Domain"
# Comment/Uncomment/Override for protection of resources
web-server:
paths:
- path: "/productCatalogManagement/v1/projectPublishEvent[/{*}]"
methods: ["get", "post"]
authenticate: true
authorize: true
abac:
scopes: ["pubevent"]
- path: "/metrics[/{*}]"
methods: ["get"]
authenticate: true
authorize: true
abac:
scopes: ["metrics"]
...
app:
httpClients:
- urlRegex: "http://catalog_host:catalog_port/*"
security:
oauth2:
tokenEndpoint: "http://hostname/oauth2/v1/token"
clientId: "ClientID"
clientSecret: "EncryptedClientSecret"
scope: "https://hostnameurn:opc:resource:consumer::all"
grantType: "client_credentials"
pdc:
url: "t3s://pdc_host:secure_pdc_port"
...
server:
...
ssl:
private-key:
keystore-path: "file_path/certificate.p12"
keystore-passphrase: "${passPhrase}"
10-15
Chapter 10
PDC REST Services Manager Security Configuration Reference Information
security:
config.require-encryption: false
enabled: true
properties:
token-endpoint-uri: "http://oam_host:oam_port/oauth2/rest/token"
introspect-endpoint-uri: "http://oam_host:oam_port/oauth2/rest/token/info"
oauth-identity-domain-name: "PDC_RSM_Domain"
authorization-endpoint-uri: "http://oam_host:oam_port/oauth2/authorize"
frontend-uri: "http://localhost:8080"
proxy-host: ""
audience: "PDCRSMResourceServer"
scope-audience: "http://localhost:8080/"
providers:
- abac:
# Adds ABAC Provider - it does not require any configuration
#- oidc:
# validate-with-jwk: false
# client-id: "${ALIAS=security.properties.idcs-client-id}"
# client-secret: "${ALIAS=security.properties.idcs-client-secret}"
# identity-uri: "${ALIAS=security.properties.idcs-uri}"
# realm: "pdcrsm"
# audience: "${ALIAS=security.properties.audience}"
# proxy-host: "${ALIAS=security.properties.proxy-host}"
# redirect: false
# cookie-use: false
# header-use: true
- oamoidc:
validate-with-jwk: false
token-endpoint-uri: "http://oam_host:oam_port/oauth2/rest/token"
authorization-endpoint-uri: "http://oam_host:oam_port/oauth2/authorize"
introspect-endpoint-uri: "http://oam_host:oam_port/oauth2/rest/token/info"
scope-audience: "${ALIAS=security.properties.scope-audience}"
audience: "PDCRSMResourceServer"
proxy-host: "${ALIAS=security.properties.proxy-host}"
frontend-uri: "${ALIAS=security.properties.frontend-uri}"
redirect: false
cookie-use: false
header-use: true
oidc-metadata-well-known: false
oauth-identity-domain-name: "PDC_RSM_Domain"
# Comment/Uncomment/Override for protection of resources
web-server:
paths:
- path: "/productCatalogManagement/v1/projectPublishEvent[/{*}]"
methods: ["get", "post"]
authenticate: true
authorize: true
abac:
10-16
Chapter 10
PDC REST Services Manager Security Configuration Reference Information
pdc:
url: "t3s://pdc_host:secure_pdc_port"
...
server:
...
ssl:
private-key:
keystore-path: "file_path/certificate.p12"
keystore-passphrase: "${passPhrase}"
10-17
11
Business Operations Center Security
Learn how to install and implement Oracle Communications Business Operations Center and
its components in a secure configuration.
Topics in this document:
• About Installing Business Operations Center
• About Implementing Business Operations Center Security
• Storing Business Operations Center Passwords in Oracle Wallet
• Storing Configuration Entries in the Business Operations Center Wallet
11-1
Chapter 11
About Implementing Business Operations Center Security
About Authentication
Authentication is the process of verifying the identity of a user. The Business Operations
Center authentication scheme is designed for deployments in which a central user identity
repository, storing all enterprise users, authenticates Business Operations Center sign-in
requests.
Business Operations Center supports the following security for authentication:
• Authenticating users against an LDAP-based user ID repository
• Enabling single-sign-on capabilities
• Supporting user's password policies
Oracle Identity Manager manages user password policies. For more information, see Oracle
Fusion Middleware Administrator's Guide for Oracle Identity Manager.
About Authorization
Authorization is the process of granting users access to privileges (entitlements) appropriate
for their job functions while denying access to other functionality. Oracle Platform Security
Services handles all authorization tasks for Business Operations Center.
A user who has not been granted any entitlements in Oracle Platform Security Services is
denied access to Business Operations Center.
To grant entitlements, you use authorization policies, which contain a collection of the following
components combined to form a logical entitlement:
• Resource type: Specifies the full scope of traits for a resource, such as job execution
history, and defines all actions that can be performed on the resource.
• Resource: Represents the aspect of an application's functionality being secured, such as
billing, payment collection, and invoicing. Each resource must belong to a resource type.
• Action: Represents an operation that can be performed on a resource, such as view,
create, modify, delete, history, and timeline.
You map authorization policies to enterprise (external) roles, which represent job functions for
the users in your company. If you do not map enterprise roles to authorization policies, you
must map each user to an authorization policy.
For more information about authorization policies and enterprise roles, see Oracle Fusion
Middleware Administrator's Guide for Oracle Platform Security Services.
Business Operations Center includes an authorization policy component file (system-jazn-
data.xml), which defines all the resource types, resources, and actions available for Business
Operations Center authorization policies (see Table 11-1).
11-2
Chapter 11
About Implementing Business Operations Center Security
11-3
Chapter 11
About Implementing Business Operations Center Security
The system-jazn-data.xml file also includes the following sample authorization policies:
• OperationsAdminPolicy
• FinancialsAdminPolicy
• FullAdminPolicy
The file is located in the Domain_home/lib/oes_config directory, where Domain_home is the
WebLogic Server domain home directory location of the Oracle Platform Security Services
client domain in which Business Operations Center is deployed.
Note:
Do not change the system-jazn-data.xml file.
11-4
Chapter 11
Storing Business Operations Center Passwords in Oracle Wallet
For more information, see Oracle Fusion Middleware Administrator's Guide for Oracle
Platform Security Services.
3. Associate the authorization policy with a user or an enterprise role.
For more information, see Oracle Fusion Middleware Administrator's Guide for Oracle
Platform Security Services.
4. Redeploy all changes made in OPSS.
Figure 11-1 shows how authorization policies are mapped to resources and enterprise roles or
users:
Figure 11-1 Mapping Authorization Policies to Resources and Enterprise Roles or Users
11-5
Chapter 11
Storing Configuration Entries in the Business Operations Center Wallet
Note:
To encrypt passwords that are associated with customizations, use the
pin_crypt_app utility. For details, see "About Encrypting Passwords" in BRM
Developer's Guide.
where:
– oraclepki.jar_location is the path to the oraclepki.jar file, which contains the APIs
that are required for the wallet. The oraclepki.jar file is stored in the
BOC_home/lib directory.
– osdt_cert.jar_location is the path to the osdt_cert.jar file, which contains the JARs
that are used by the JAVA PCM library for establishing a TLS connection to BRM.
The osdt_cert.jar file is stored in the BOC_home/lib directory.
– osdt_core.jar_location is the path to the osdt_core.jar file, which contains the
JARs that are used by the JAVA PCM library for establishing a TLS connection to
BRM. The osdt_core.jar file is stored in the BOC_home/lib directory.
– cet.jar_location is the path to the cet.jar file, which contains the APIs that are
required for the wallet. The cet.jar is stored in the BOC_home/lib directory.
– clientWalletLocation is the path to the Business Operations Center wallet.
– configEntry is the configuration entry in the Business Operations Center wallet.
– value is the appropriate value for the respective entry in the Business Operations
Center wallet.
For example, running the following command with the -value parameter stores the
infranet.log.level as 1 in the Business Operations Center wallet. If the value exists in
the wallet, it will be overwritten:
java -cp '.:oraclepki.jar:osdt_cert.jar:osdt_core.jar:cet.jar:'
com.portal.cet.ConfigEditor -setconf -wallet "/scratch/pin11/wallet" -parameter
infranet.log.level -value 1
If you run the command without the -value parameter, it prompts for the values for the
infranet.connection entries and stores them in the Business Operations Center
wallet. At the command prompt, enter values listed in Table 11-2.
11-6
Chapter 11
Storing Configuration Entries in the Business Operations Center Wallet
Field Description
User Name The user name for connecting to BRM.
Password The BRM user's password.
Host Name The IP address or the host name of the machine on which the primary
BRM Connection Manager (CM) or CM Master Process (CMMP) are
running.
Port Number The TCP port number of the CM or CMMP on the host computer.
Service Type The BRM service type.
Service POID Id The POID of the BRM service.
For example, running the following command with the -value parameter stores the
infranet.log.level as 1 in the Business Operations Center wallet:
java -cp ".;C:\Program Files (x86)\Portal
Software\BOC_HOME\lib\oraclepki.jar;C:\Program Files (x86)\Portal
Software\BOC_HOME\lib\osdt_cert.jar;C:\Program Files (x86)\Portal
Software\BOC_HOME\lib\osdt_core.jar;C:\Program Files (x86)\Portal
Software\BOC_HOME\lib\cet.jar" com.portal.cet.ConfigEditor -setconf -wallet
"C:\Program Files (x86)\Portal Software\BOC_HOME\wallet\client" -parameter
infranet.log.level -value 1
If you run the command without the -value parameter, it prompts for the values for the
infranet.connection entries and stores them in the Business Operations Center
wallet. At the command prompt, enter values listed in Table 11-2.
3. Enter the Business Operations Center client wallet password.
The value is stored in the Business Operations Center wallet.
For retrieving stored configuration entries, see "About Oracle Wallet" in BRM System
Administrator's Guide.
11-7
A
Secure Deployment Checklist
Learn how to use checklists to install Oracle Communications Billing and Revenue
Management (BRM) and Oracle Communications Pricing Design Center (PDC) securely.
Topics in this appendix:
• BRM Checklist
• PDC Checklist
BRM Checklist
The following security checklist lists guidelines to help you secure BRM and its components.
1. Install only what is required.
2. Lock and expire default user accounts.
3. Enforce password management.
4. Practice the principle of least privilege.
• Grant only the necessary privileges.
• Revoke unnecessary privileges from the PUBLIC user group.
• Restrict permissions on run-time facilities.
5. Enforce access controls effectively and authenticate clients stringently.
6. Restrict network access.
• Use a firewall.
• Never poke a hole through a firewall.
• Monitor who accesses your systems.
• Check network IP addresses.
7. Apply all security patches and workarounds.
8. Contact Oracle Security Products if you come across a vulnerability in Oracle Database.
PDC Checklist
Follow this checklist to deploy PDC securely.
1. Preinstallation steps:
a. Enable SSL for the target Oracle WebLogic Server domain.
b. Configure the server KeyStore certificate and get the client KeyStore trusted
certificate.
c. Configure Oracle Database advanced security encryption and integrity algorithms for a
secure connection from the installer.
A-1
Appendix A
PDC Checklist
d. Ensure that the latest supported version of Oracle JDK is installed and configured with
your PDC or WebLogic installation.
2. Installation steps:
• Select SSL mode and provide the client KeyStore certificate (.jks file) for connecting to
a WebLogic server over SSL.
3. Postinstallation steps:
a. If you do not need the installation log files, make sure to delete them.
b. The WebLogic Server administrator will need to create PDC users based on the roles
and privileges.
c. Do not use your browser's remember password feature for the WebLogic Server
Administration Console URL.
d. Enable secure cookies.
e. Verify that file permissions for the installed files are 600 for all nonexecutable files and
700 for all executable files.
4. Un-installation steps:
• Delete the log files in OracleInventory/logs/ manually if you do not need them or
protect them appropriately if they are required for further reference. These log files
have file permission 640 (owner can read/write, group members can read, others
cannot do anything) by default.
A-2