CCB Security Guide v2 5 0 0
CCB Security Guide v2 5 0 0
CCB Security Guide v2 5 0 0
E61803-01
May 2015
Security Guide, Oracle Utilities Customer Care and Billing, Version 2.5.0 (OUAF 4.3.0.0.1)
E61803-01
The Programs (which include both the software and documentation) contain proprietary information; they are provided under a
license agreement containing restrictions on use and disclosure and are also protected by copyright, patent, and other intellectual and
industrial property laws. Reverse engineering, disassembly, or decompilation of the Programs, except to the extent required to obtain
interoperability with other independently created software or as specified by law, is prohibited.
The information contained in this document is subject to change without notice. If you find any problems in the documentation, please
report them to us in writing. This document is not warranted to be error-free. Except as may be expressly permitted in your license
agreement for these Programs, no part of these Programs may be reproduced or transmitted in any form or by any means, electronic or
mechanical, for any purpose.
If the Programs are delivered to the United States Government or anyone licensing or using the Programs on behalf of the United
States Government, the following notice is applicable:
U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S.
Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal
Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and
adaptation of the Programs, including documentation and technical data, shall be subject to the licensing restrictions set forth in the
applicable Oracle license agreement, and, to the extent applicable, the additional rights set forth in FAR 52.227-19, Commercial
Computer Software--Restricted Rights (June 1987). Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065.
The Programs are not intended for use in any nuclear, aviation, mass transit, medical, or other inherently dangerous applications. It
shall be the licensee's responsibility to take all appropriate fail-safe, backup, redundancy and other measures to ensure the safe use of
such applications if the Programs are used for such purposes, and we disclaim liability for any damages caused by such use of the
Programs.
Oracle, JD Edwards, PeopleSoft and Siebel are registered trademarks of Oracle Corporation and/or its affiliates. Other names may be
trademarks of their respective owners.
The Programs may provide links to Web sites and access to content, products, and services from third parties. Oracle is not responsible
for the availability of, or any content provided on, third-party Web sites. You bear all risks associated with the use of such content. If
you choose to purchase any products or services from a third party, the relationship is directly between you and the third party.
Oracle is not responsible for:
(a) the quality of third-party products or services; or (b) fulfilling any of the terms of the agreement with the third party, including
delivery of products or services and warranty obligations related to purchased products or services. Oracle is not responsible for any
loss or damage of any sort that you may incur from dealing with any third party.
Table of Contents
Preface .................................................................................................................................... 2
Audience .............................................................................................................................................................. 2
Documentation Accessibility ........................................................................................................................... 2
Access to Oracle Support ...................................................................................................................................... 2
Related Documents ............................................................................................................................................ 3
Conventions ........................................................................................................................................................ 3
Authentication ...................................................................................................................... 15
About Authentication ...................................................................................................................................... 15
Online Authentication ...................................................................................................................................... 15
Batch Authentication ....................................................................................................................................... 16
Web Service Authentication ........................................................................................................................... 16
Authorization ........................................................................................................................ 17
About Authorization ......................................................................................................................................... 17
Authorization Model......................................................................................................................................... 17
Preface
Welcome to Oracle Utilities Customer Care and Billing Security Guide. This guide describes
how you can configure security for Oracle Utilities Customer Care and Billing by using the
default features.
This preface contains these topics:
• Audience
• Documentation Accessibility
• Related Documents
• Conventions
Audience
Oracle Utilities Customer Care and Billing Security Guide is intended for product
administrators, security administrators, application developers, and others tasked with
performing the following operations securely and efficiently:
• Designing and implementing security policies to protect the data of an organization,
users, and applications from accidental, inappropriate, or unauthorized actions
• Creating and enforcing policies and practices of auditing and accountability for
inappropriate or unauthorized actions
• Creating, maintaining, and terminating user accounts, passwords, roles, and
privileges
• Developing interfaces that provide desired services securely in a variety of
computational models, leveraging product and directory services to maximize both
efficiency and ease of use
To use this document, you need a basic understanding of how the product works, and basic
familiarity with the security aspects of the Oracle WebLogic (or IBM WebSphere) and
Database security.
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.
Oracle customers have access to electronic support through My Oracle Support. For
information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit
http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.
2 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
Related Documents
For more security-related information, see these Oracle resources:
Oracle Utilities Customer Care and Billing Server Administration Guide
Oracle Utilities Customer Care and Billing Batch Server Administration Guide
Oracle Utilities Customer Care and Billing DBA Guide
Oracle Database Security Guide
Oracle Utilities Application Framework Advanced Security (Doc Id: 1375615.1)
Technical Best Practices for Oracle Utilities Application Framework Based Products (Doc Id:
560367.1)
Batch Best Practices for Oracle Utilities Application Framework based products (Doc Id:
836362.1)
Production Environment Configuration Guidelines (Doc Id: 1068958.1)
Database Vault Integration (Doc Id: 1290700.1)
Oracle Identity Management Suite Integration with Oracle Utilities Application Framework
based products (Doc Id: 1375600.1)
These documents are available from My Oracle Support and/or Oracle Delivery Cloud.
Conventions
The following text conventions are used in this document:
Convention Meaning
boldface Boldface type indicates graphical user interface elements associated
with an action, or terms defined in text or the glossary.
italic Italic type indicates book titles, emphasis, or placeholder variables for
which you supply particular values.
monospace Monospace type indicates commands within a paragraph, URLs, code
in examples, text that appears on the screen, or text that you enter.
Note: Screen images in this document are for illustrative purposes only.
Note: Menu options in this document assume the use of Alphabetic sorting. If alternatives are used,
then adjust the advice accordingly.
3 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
ENVIRON.INI Audit
The ENVIRON.INI file is an important application server file where configuration
information is stored. Whenever changes to this file are made thru the configureEnv utility,
the previous version is saved and a timestamp is added as a file suffix in the etc directory, i.e.
SPLEBASE/etc/ENVIRON.INI_timestamp.
4 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
• The Login ID can be provisioned from a third party user provisioning engine like
Oracle Identity Manager or similar.
• Customers can choose to auto generate User IDs from Login IDs using class
extensions or use the third party provisioning engine to generate User IDs (as in
Oracle Identity Manager).
Audit On Inquiry
In past releases the internal Audit facility can be used to track changes to records through the
online web application. In this release it is now possible to configure individual zones to
track whenever particular records (or groups of records) are read or inquired upon to
provide additional levels of security.
5 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
User Enablement
One of the limitations of the user object was that you cannot delete a user that has been used.
This is enforced to maintain audit information that is captured by the product. A User
Enable flag has been added to the user object, thus allowing a user to be logically deleted but
retain the information for that user to satisfy audit purposes. The user record is still retained
in the product for audit purposes.
Implementations can use this flag to mark user records as inactive for user retrenchments or
temporary contractor workers. From an authentication purposes only active users will be
allowed to authenticate successfully or execute any object within the product.
JAAS Support
Java Authentication and Authorization Service (JAAS) has be implemented to control
security across application tiers and for securing JMX interfaces to the product for online,
web service and batch channels.
standards as well as externalized security offered by Oracle Web Services Manager to offer
additional levels of security. Security has been expanded to support WS-Policy, X.509, SAML
and other approaches to extend the HTTP Basic Digest Security and WS-Security approaches
already supported.
7 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
wish to use an option for the Oracle database called Database Vault that allows additional
security to be defined to restrict system and DBA users to their allocated tasks. A new
default set of configuration files for Database Vault allows restriction of Data Manipulation
Language (DML) access to the product data for system and DBA users whilst allowing
appropriate access to Data Definition Language (DDL) and Data Control Language (DCL).
Customers wishing to use this facility must license and enable the Database Vault option on
the Oracle Database prior to enabling the Database Vault product solution provided.
Refer to Database Vault Integration (Doc Id: 1290700.1) available from My Oracle Support for
more details of this integration.
Note: This facility is provided for backward compatibility and for developers as it is expected that
customers will use the JMX facilities to control the cache.
Logoff Support
It is now possible to logoff the browser session explicitly in additional to closing the browser
session to terminate the session. The logoff button will return to the logon screen. For
8 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
example:
9 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
Note: Deletions of users will not result of deletion of user records. Deletions will disable users using
the new "User Enable" facility.
Note: To use this facility the base audit facility must be extended. Please refer to your product SDK
documentation to see if this has been enabled in the product.
JAAS. By default the security scheme is file based but can be configured to use other security
mechanisms.
Note: Securing the network traffic of any tier may result in performance degradation due to the extra
processing of encryption and decryption.
Keystore Support
In past releases, keys used for encrypting data such as passwords and product data were
managed internally by the Oracle Utilities Application Framework automatically. In this
release these keys are now externalized in a JCEKS based keystore.
Secure By Default Installation
The installation of the product has been altered to be secure by default in line with other
Oracle products. In the past, it was possible to implement secure by default post installation
which represented an opt-in situation. In this release, secure by default is the default
installation setup for new installations, which shifts the decision to an opt-out, if unsecure
11 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
setup is required.
Note: Customers on previous versions will not be automatically migrated to secure by default for
backward compatibility support.
Note: A default development limited use security certificate is provided with the installation. For
customers wishing to use secure by default beyond the limited use certificate, it is recommended
obtaining a valid digital certificate for use in the implementation.
12 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
Introducing Security
One of the key aspects of the product is security which not only confirms the identity of an
individual user but, once identity is confirmed, what data and what functions that user has
access to within the product.
Security Features
Security is one of the key features of the product architecture protecting access to the
product, its functionality and the underlying data stored and managed via the product.
From an architecture point of view the following summarizes the approach to security:
Web Based Authentication – The product provides a default method, using a
traditional challenge and response mechanism, to authenticate users.
Support for J2EE Web Application Server security – The supported J2EE Web
Application Servers can integrate into a number of internal and external security
stores to provide authentication services. The product can use those configurations,
to liaise via the J2EE Web Application Server, to authenticate users for online and
Web Services based security.
Operating System Security – For non-online and non-web service based channels,
the product utilizes the operating system security (including any additional products
used to enhance the base operating system security).
Non-Cookie based security – After authentication the user's credentials form part of
each transaction call to correctly identify the user to the internal authorization model
to ensure the user is only performing permitted actions. This support is not browser
cookie based.
Secure Transport Support – Transmission of data across the network can utilize the
secure encryption methods supported for the infrastructure.
Inter-component security - Calls within the product and across the tiers are subject
to security controls to ensure only valid authenticated and authorized users using
Java Authentication and Authorization Services (JAAS).
Inbuilt Authorization Model – Once a user is authenticated then the internal
authorization model is used to determine the functions and data the user has access
to within the product.
Native Web Services Security – Web Services available from the product are natively
available from the J2EE Web Application Server. A wide range of security policies are
available.
Keystore Support - Keys for encryption can be externalized in JCEKS based keystore.
Integration with other security products – Implementation of security varies from
customer to customer so the product allows integration of other security products to
offer enhanced security implementations, either directly or indirectly.
13 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
14 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
Authentication
About Authentication
From a security point of view authentication is about identification of the user. It is the first
line of defense in any security solution. In simple terms it can be as simple as the challenge-
response mechanism we know as userid and password. It can be also as complex as using
digital certificates as the identification mechanism and numerous other schemes for user
identification.
The authentication aspect of security for the product is delegated to the infrastructure used
to run the product. This is due to a number of reasons:
Authentication scheme support – The J2EE Web Application Server supports a
number of industry standard security repositories and authentication methods. These
can be native to the J2EE Web Application Server or additional products that can be
are integrated.
Enterprise Level Identity Management – Identity Management is typically
performed at an enterprise level rather than managed at an individual product level.
The product typically is not the only application used at any site and managing
security across the enterprise is more efficient.
Online Authentication
The product delegates the responsibility of authentication of the online users to the J2EE
Web Application Server. This means that any integration that the J2EE Web Application
Server has with specific security protocols or security products can be used with the product
for authentication purposes. The configuration of authentication is therefore performed
within the J2EE Web Application Server itself.
Typically the J2EE Web Application Server support one or more of the following:
Inbuilt Security – The J2EE Web Application Server typically supplies a default basic
security store and associated security management capability that can be used if no
other security repository exists.
LDAP Based Security – The Lightweight Directory Access Protocol (LDAP) is a
protocol for accessing and maintaining distributed directory information services.
LDAP is used to standardize the interface to common security repositories (such as
Oracle Internet Directory, Microsoft Active Directory etc). LDAP support may be
direct or indirect via Identity Management software like Oracle Virtual Directory or
Oracle Identity Federation.
SAML Based Security – Security Assertion Markup Language (SAML) is an XML
based data format for exchanging authentication and authorization information
between parties.
15 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
DBMS Based Security – The J2EE Web Application Server can store, manage and
retrieve security information directly from a database.
Operating System Based Security - The J2EE Web Application Server can store,
manage and retrieve security information directly from the underlying operating
system.
These security configurations can be natively support or can be augmented with additional
products.
Refer to the Security Guides supplied with your J2EE Web Application Server for details of
the security configuration process.
Batch Authentication
The Batch component of the architecture utilizes the operating system based security
(including any extensions to that security) to authenticate users to execute batch processes.
From an authentication point of view:
Batch users must be defined in the operating system and associated with the
operating system security group assigned at product installation time. This ensures
users have appropriate access to product resources and the ability to write logs.
Threadpools can be started by any valid operating system user but ideally
threadpools and submitters should be executed by the same operating system user.
Before any threadpool or submitter is executed the user must execute the
splenviron utility to set the environment variables for the product correctly. This
can be done at the command line for each threadpool and submitter or globally using
the logon profile for the operating system user.
16 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
Authorization
Once a user is identified they must be authorized to specific functions and data within the
product.
About Authorization
The Oracle Utilities Application Framework uses an inbuilt security model for authorization.
This model contains all the data necessary for the definition of authorizations to function and
data. The following data model describes the security authorization model.
Authorization Model
The Oracle Utilities Application Framework uses an inbuilt security model for authorization.
This model contains all the data necessary for the definition of authorizations to function and
data. The following data model describes the security authorization model.
A record of each user is stored in the User entity, which defines the attributes of the user
including identifier, name, Portal preferences, Favorites, Display Profile (such as format of
dates etc), and Language used for screens and messages and other attributes. Users are
attached to To Do roles which allow the user to process any error records for background
processes. For example, if the XXX background process produces an error it is possible to
define which users will process and address those errors.
Users are also attached to User Groups. This relationship is effective dated which means that
17 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
the date period it is active across is also defined. This can be useful for temporary employees
such as contractors or for people who change roles regularly.
User Groups are a mechanism for grouping users usually around job roles. Each User Group
is then attached to the Application Services that the group is authorized to access. The
Application Services are the functions within product. Loosely they correspond to each of
the screens accessible in product. In this attachment the Access Mode is also defined with
standards being Add, Modify, Read and Delete. With this combination it is possible to define
what functions and what access is allowed to those functions for user groups (and hence
users).
Additionally it is possible to define the authorization level that is allowed for the User Group
to that function. For example, you may find that a certain group of users can only approve
payments of a certain level unless additional authorization is obtained. The Authorization
Level is associated with a Security Type which defines the rules for that Application Service.
Note: To use security types, the implementation must develop server side or client side user exits to
implement code necessary to implement the security level.
Managing Security
19 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
Define User to
Authorization
Model
Attach Users to
User Groups
Provision Users
from Attach User
Identity Groups to
Management Application
solution Services
Attach Users to
Access Groups
Define User to
Authentication
Repository
Users should be defined to the authorization model to define their profile and
permissions within the product. Refer to Adding Users for more details of this
process.
Attach user groups to application services to define the subset of service and actions
valid for that group of users. Refer to Defining User Groups to Application Services
for more details of this process.
Attach Data Access Groups to the users. This defines the subset of data that the user
has access to. Refer to Define Users to Data Access Groups for more details of this
process.
Attach users to the appropriate user groups to define the subset services and valid
actions the user can perform within the product. Refer to Defining Users to User
Groups for more details of this process.
Managing Users
The user object in the product is used to record the security information used for
identification of the user and their permissions.
The product provides a maintenance function to maintain these definitions within the
product. To maintain the users the following is performed:
Navigate to the Administration Menu U User menu option. Using the + option on
20 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
Field Comments
Userid This is the unique user identifier used within the
product used for authorization activities. Limited to
eight (8) characters in length.
Login Id This is the unique user identifier used within the
product used for authentication purposes. This must
match the value used in the security repository to
successfully use the product. Limited to 256 characters
in length. This value can be the same or different to the
Userid.
Last Name Last Name of user. Limited to 50 characters in length.
First Name First Name of user. Limited to 50 characters in length.
User Enable Whether the user is active in the security system or not.
Valid Values: Yes(default) – User is active and can use
the system, No – User is disabled and cannot use the
system. Refer to User Enable and Disable for more
details.
User Type The type of user. Valid Values: Blank = Normal user,
Template = Template User.
Language Default Language used for user. For non-English
languages, Language pack must be installed to use
specific languages.
Display Profile Id The display profile associated with the user. This
controls the display of currency, dates etc…
21 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
Field Comments
Time Zone Time Zone allocated to user account1.
Email Address Optional Email address associated with user. This is
used by utilities and can be used for interfaces
requiring email addresses.
Dashboard Width Default width for Dashboard Portal. Setting this value
to zero (0) will disable the dashboard altogether.
Home Page The default home page associated with the user.
Portals Profile User Id The userid used to inherit portal definitions from. Refer
to Template Users for more information.
Favorites Profile User Id The userid used to inherit favorite definitions from.
Refer to Template Users for more information.
To Do Summary Age Bar The settings for the color coding of the To Do Summary
portal in the dashboard. This can be used to indicate
relative age of to do entries.
User Groups This is a list of user groups and their associated expiry
dates. Refer to Define Users to User Groups for more
information.
Save the additions/changes for the user using the Save function on the top of the screen.
Template Users
By default portal preferences and favorites are set at an individual user level. It is possible to
inherit the portal preferences and/or favorites from other users to reduce the maintenance
effort for security information. Changes to the profile user are automatically inherited to any
users where the profile user is attached to.
To use this functionality the following must be performed:
Setup each user to be used as template and indicate the user type is set to Template to
indicate such.
For any user that will inherit the portal preferences and/or favorites specify the
appropriate template user in the following fields:
Portal Preferences – Use the Portals Profile User Id to indicate which Template
user can be used to inherit the portal preferences from.
Favorites – Use the Favorites Profile User Id to indicate which Template user can
be used to inherit the favorites and favorite scripts from.
Once any changes are made to the Template users portal preferences and/or favorites
they will automatically apply to any attached users for these features.
1This feature is only applicable to specific products. Check your product online documentation for
more details about applicability.
22 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
Assigning To Do Types
Note: To Do records can be assigned to explicit users or groups of users. This section covers the latter
condition.
Note: Refer to the online Administration Help for a discussion about the To Do functionality. To Do
roles must be setup prior to using this functionality.
The product generates To Do records for any function or error condition that requires human
intervention. The To Do record contains a type and role to be used assist in assigning the
appropriate resources to work on the condition indicated by the To Do.
For security purposes, users need to be attached to the relevant roles for the To Do facility to
limit which To Do Types an individual user can work upon. To define the To Do roles for a
user, navigate to the To Do Roles tab of user maintenance function. This will display a screen
similar to the one below:
The Search icon ( ) can be used to find the existing To Do Role or it can be typed in.
Once the users have been attached to the To Do Roles then they can access the associated TO
Do types assigned to that role or any To Do directly assigned to them.
Note: Refer to the online Administration Help for a discussion about the Portal/Zone functionality.
Portals and Zones must be setup prior to using this functionality.
Note: Portal Preferences can be inherited from other users if Template users are used. In this case the
ability to set for portal preferences for users attached to a template user are disabled.
The product user interface is made up of Portals containing individual Zones. Each of the
portals and zones can be associated with an application service for security purposes. Users
that are attached to User Groups that are also attached to those application services can view
and use the portals and zones.
The order of display and other factors are defined at an individual user basis. To define the
portal preferences for a user, navigate to the Portal Preferences tab of user maintenance
function. This will display a screen similar to the one below with a list of the portals the user
has access to, via the user groups they are attached to:
23 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
To maintain the preferences for a specific portal expand the portal entry in the list by clicking
the name of the portal or using the Expand All functionality. For example:
Assign Bookmarks
Note: Bookmarks are added at runtime by end users using the Bookmark button. This function only
displays or deletes the bookmarks assigned by the user.
Each user can attach bookmarks to their profile to access pages including the context of that
page.
The definition of the bookmarks can be performed using the Bookmark button which
attaches the page and context to the user profile. It is possible to view and remove
bookmarks on the user profile by navigating to the Bookmarks tab on the User maintenance
function. This will display a screen similar to the one below:
2 While unlikely, it is possible to have a portal contain particular zones not permitted for access to an
individual user.
24 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
Note: Favorites can be inherited from other users if Template users are used.
Each individual user can set a number of favorite functions or menu items that they can
access using keyboard shortcuts or via the Favorites zone on the Dashboard.
The definition of the users Favorite Links can be configured by navigating to the Favorite
Links tab of user maintenance function. This will display a screen similar to the one below:
Use the to add a new Favorite with the appropriate Navigation Option with the
appropriate Sequence to indicate where in the favorites list the option should be
placed.
The Search icon ( ) can be used to find the existing Navigation Option or it can be typed in.
Favorites are then available to be displayed in the Favorites portal on the Dashboard.
Note: Favorites can be inherited from other users if Template users are used.
25 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
Each individual user can set a number of favorite BPA Scripts that they can access using the
Favorite Scripts zone on the Dashboard.
The definition of the users Favorite Scripts can be configured by navigating to the Favorite
Scripts tab of user maintenance function. This will display a screen similar to the one below:
Use the to add a new Favorite indicating the Script with the appropriate Sequence
to indicate where in the favorites list the option should be placed.
The Search icon ( ) can be used to find the existing Script or it can be typed in.
Favorites are then available to be displayed in the Favorite Scripts portal on the Dashboard.
Note: To use this facility the appropriate characteristic types must be created and attached to the user
object. Refer to the online Administration documentation for more information.
Note: The product ships with a predefined set of characteristic types.
One of the features of the product is the ability to extend the object within the product using
user defined fields called Characteristics. Characteristics act as additional data attributes that
can be used to simply provide additional information or used in custom algorithms for
processing.
The user object in the product can also be customized using characteristics. This can be
achieved by navigating to the Characteristics tab of user maintenance function. This will
display a screen similar to the one below:
26 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
Use the to add a new Characteristic indicating the Characteristic Type, the
appropriate Sequence to indicate where in the favorites list the option should be
placed and the value associated with the Characteristic Type.
To access the services within the product users must be connected to user groups which are
in turn connected to application services. This defines the linkage for functionality that the
user has access to.
The link between users and user groups has the following attributes:
The linkage between users and users groups is subject to an expiry date to allow
representation of transient security configurations.
Each link between a user and user group is owned and subject to Data Ownership
Rules. By default, all site created links are owned as Customer Modifications.
User Groups are setup according to your site preferences. They can be job related,
organization level related or a combination of factors.
A user can be a member of any number of users groups but should be at least a
member of one group to access the system.
Users can be members of groups with overlapping permissions to application
services. In the case of overlapping permissions, then the highest valid permission is
used.
This can be achieved by navigating to the Main of user maintenance function. This will
display a screen with zones at the bottom of the screen similar to the one below:
27 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
The user groups are listed that the user has access to and can be manipulated using the
following:
Use the to add a new User Group indicating the User Group Name with the
appropriate expiry date to indicate relevance of the connection. The Search icon ( )
can be used to find the existing User Group or it can be typed in.
Use the context menu to jump to the user group for more information.
The users security is then used for menu and function access regardless of access channel
used (i.e. online, web service or batch).
Note: A starter set of User Groups are loaded with the product that can be used as the basis for further
security user groups.
Note: The product ships with all the application services predefined for base functions. These can be
used or replaced with custom definitions as desired.
One of the fundamental security configurations for the product is to define the user groups
to the application service. An application service can represent an individual service within
the product, an individual menu or an individual object. When linking a user group to a
service the access modes can be configured which defines the valid actions the user group
can perform against the service.
Additionally each service can specify Security Types which allow for custom security rules
to be applied at runtime. Refer to Security Types for more details of this facility.
To maintain the linkages between user groups and application services there are two
different methods:
Application Services Portal – When maintaining each Application Service it is
possible to connect and disconnect the user groups and determine which groups have
access to what functions.
User Group Maintenance – When maintaining User Group definitions it is possible to
connect Application Services to the group and manage users in that group from a
single maintenance function.
Both methods are valid for most sites and can be used to manage the same information from
different prospective.
28 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
The Application Service portal allows administrators to define an application service, the
valid access modes available for the Application Service and the user groups the application
service is connected to.
To access the Application Services Portal, navigate to the Administration Menu A
Application Service option. This will display a screen similar to the following:
Use the to add a new Access mode from the drop down list of valid
actions. An individual Access Mode can only be defined once for an
individual Application Service.
29 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
User Groups With Access – This zone lists the user groups that have access to the
Application Service along with the associated expiry date, access modes and security
types (and associated authorization level). It is possible to deny access by a particular
group to the application service using the Deny Access functionality. The list can be
filtered to user groups for a particular user to assist in isolating particular user
groups. For example:
User Groups Without Access – This zone list the user groups that do not have access
to the Application Service to grant access, if desired, using the Grant Access
functionality. The list can be filtered to user groups for a particular user to assist in
isolating particular user groups. For example:
30 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
Once a group is granted access then the specification of the valid access modes and
security groups can be provided for the particular user group. For example:
Expiry Date – Date this access will expire. Use the Date Icon ( ) to use the
Date selection widget.
Access Mode – Valid Access mode as defined on Application Service
definition.
Use the to add a new Access Mode. The Search icon ( ) can be
used to find the existing Access Mode or it can be typed in.
Use the to add a new Security Type. The Search icon ( ) can be
used to find the existing Security Type or it can be typed in.
31 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
when executing this Application Service for the Security Type. The Search
icon ( ) can be used to find the existing Authorization Level or it can be
typed in.
When editing an individual user group it is possible to define the accessible application
services and connect users to the user group from the user group maintenance function. To
do this, navigate to the Administration Menu U User Group menu option. This will
display a screen similar to the following:
The services that this user group has access to are shown with the associated expiry date and
access modes for the user group. The following actions maintain the information:
Use the icon to remove an associate between a user group and an application
service.
Use the on the Application Services tab to add a new association between an
application service and an individual user group. For example:
When editing an existing association or adding a new association the Application Services
tab is displayed to maintain the association with associated Access Modes and Security
Types. For example:
32 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
As with the Application Service Portal, it is possible to define the following from this screen:
Expiry Date – Date this access will expire. Use the Date Icon ( ) to use the Date
selection widget.
Access Mode – Valid Access mode as defined on Application Service definition.
Use the to add a new Access Mode. The Search icon ( ) can be used to
find the existing Access Mode or it can be typed in.
Use the to add a new Security Type. The Search icon ( ) can be used to
find the existing Security Type or it can be typed in.
33 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
The screen allows users to be associated with the user group with the following information:
User – This is the authorization user identifier to be connected to the user group. The
Search icon ( ) can be used to find the existing User or they can be typed in
Expiration Date – Date the association between the user and user group will expire.
Use the Date Icon ( ) to use the Date selection widget.
Owner - Ownership of link (refer to Data Ownership Rules).
Use the to add a new User or use the to remove an individual user from the list.
Note: Not all products support Data Access Roles and Data Access Groups. Refer to the online
Administration Guide for more details.
Data Access Groups are used to define the subset of data objects the user is permitted to
access. There are two levels to the definition of data access:
Data Access Roles – User are connected to Data Access Roles which defines the
groups of data permissions the user has access to. Data Access Roles are connected to
Data Access Groups (a.k.a. Access Groups).
Data Access Groups – Data Access Groups are tags that are attached to entities in
the product to implement data security3. Data Access Groups are maintained using
Access Group maintenance. Refer to the online Administration Guide for more
details of this facility.
The relationships between these objects are illustrated in the figure below:
3 Attaching a Data Access Group to a product entity it does not automatically implement data
security. Queries for that object must be altered to take into account the Data Access Group. Refer to
the Oracle Utilities SDK for more details.
34 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
User
Data Security
Data Access
Access Group
Product Entities
To maintain the Data Access Roles and Access Groups a user has access to, navigate to the
Access Security tab of the user maintenance function. This will display a screen similar to the
following:
The screen will allow the definition and display of the following information:
Default Access Group – When this user creates a new object that is subject to Access
Security then this default is used for the value of the Access Group of the new object.
This can be overridden by logic within the object if necessary.
Data Access Role – List of Data Access Roles this user is attached to. The Search icon
( ) can be used to find the existing Data Access Role or they can be typed in
Expiration Date - Date the association between the user and data access role will
expire. Use the Date Icon ( ) to use the Date selection widget.
Use the to add a new Data Access Role or use the to remove a Data Access Role from
35 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
the list.
One feature of security is that the user record is attached to some objects for audit purposes
(some objects are automatic, such as financials, and some are configurable). When a user
does any work in the product and the user has been attached to some audit object across the
whole product, the user cannot be deleted. This is due to auditing requirements.
There is a feature on the user object to enable or disable a user by setting the appropriate
value for User Enable on the User object. This has the following implications:
User Enable Implications
Enable User can access system.
User can process records according to the authentication model.
User must be active in Security repository to fully access the
product.
Disable User cannot access the system regardless of other security setup
User record is retained for audit purposes only.
User does not have to exist in the Security Repository.
Note: When a user is disabled, it will apply when the user next attempts to login or when the security
cache is refreshed.
Note: The userid used does not have to match the authorization user used within the product.
Authorization – The authorization user is defined within the product as per the
online users and is specified as a job parameter at execution time or in configuration
36 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
files supplied for the batch process. Refer to the Batch Administration Guide for
details of the parameters used for batch processing.
To manage batch user therefore the following is recommended:
Add the authentication user used to initiate the threadpool and submitter processes
for a batch process to the configured operating system repository.
Specify a valid user authorization identifier as a parameter for the batch process. This
identifier must be authorized to the valid actions against the main objects used in the
batch process. Refer to the product functional documentation on the objects used in
each of the product batch processes.
Note: Native Security support is only supported for XAI Inbound Services using the
BusinessAdapter Adapter.
From a product perspective a Web Service is a channel into the objects within the product.
Any of the objects, services and scripts available in the product can be exposed as JAX-WS
2.0 based Web Service. From a security perspective Web Services uses the following security
mechanisms:
Authentication – The Web Services component of the product uses the Web Services
support native to the J2EE Web Application Server. This allows security tokens
supporting many standards to be used to authentication individual web service calls.
Authorization – The Web Services component uses the same authorization model as
the online user and batch components use.
Note: The user for authentication is used to map to the authorization user within the user
object in the same way that online users are mapped.
Authentication User
In the user object there are two different user identifiers namely Userid and Login Id. The
different identifiers have differing roles:
The Userid, which is up to 8 characters in length, is used internally for authorization
and is passed to the database connection as the CLIENT_IDENTIFIER on the
database connection. This user cannot be changed after the user has created any
records in the system as it is used for record ownership in some objects and in
auditing.
The Login Id, which is up to 256 characters in length, is used for authentication to the
security repository configured on J2EE Web Application container. The Login Id can
match the Userid but can differ to reflect site standards. Unlike the Userid the Login
Id can changed at anytime to reflect changes in the organization such name changes
or acquisition.
Note: The Login Id must match, in the same case, as the entry in the configured security
repository for the J2EE Web Application Server.
When maintaining a user, it is important that the Login Id is only changed using the
maintenance function, LDAP Import or any XAI/Inbound Web Service based upon the USER
object and not directly using other means (such as direct SQL) as a Security Hash is
generated at maintenance time and is checked at login time. At application login time, if the
security hash does not match the user is deemed not authorized and will be refused access to
the product. To ensure security hashes are correct use the Synchronize Data Encryption
function to reset the user security hash.
38 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
Advanced Security
By default, this group is set to cisusers, which is configurable for each web component.
When the product is deployed to the J2EE Web Application Server, this group is instantiated
ready to be allocated to individual users. Users of the product must be attached to this group
to use the product.
From a configuration point of view there are a number of options for this setting:
The default group may be changed at installation and configuration time using the
configuration settings as shown below as outlined in the Server Administration Guide.
The group name should have no embedded blanks.
Component Principal Name Role Name
Online/Help WEB_PRINCIPAL_NAME WEB_ROLE_NAME
Note: If the J2EE administration group is changed after installation time, users will need to be
4 The security role is used in a number of sections of the web application descriptor.
39 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
migrated to the new J2EE administrations group either manually, using tools provided with the
security repository or J2EE Web Application Server.
Logon Configuration
The default configuration for online authentication is using a logon screen for the online
product, online help and online AppViewer applications. The product supplies a prebuilt
logon screen for all three components preconfigured.
At logon it detects that a user has not logged on before (the presence of a JSESSIONID
cryptographically-secure session cookie issued by the Web Application Server is used).
Depending on the configuration (in the web.xml) of the applications, housed in the J2EE
Web Application Server, the following is performed:
FORM – This is the default setting to support a logon screen with an associated error
screen in case of unsuccessful logon. The product provides a prebuilt logon screen
but can be replaced with custom logon screens5 by setting the following configuration
settings appropriately for each web component as outlined in the Server
Administration Guide:
Component Login Screen Login Error Screen
Online WEB_FORM_LOGIN_PAGE WEB_FORM_LOGIN_ERROR_PAGE
BASIC – The browser will issue a call to the operating system to display the default
logon dialog supplied with the operating system. No logon dialog is supplied.
CLIENT-CERT6 - This is an advanced configuration to allow for certificated (one way
or two way) to be used. Refer to the documentation supplied with the J2EE Web
Application Server for more details of the additional configuration required.
5Custom logon screens should be placed in the cm directory of the web application server as outlined
in the Oracle Utilities SDK.
6CLIENT-CERT is supported but requires manual changes to configuration files. Refer to the Server
Administration Guide on implementing custom templates.
40 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
The default configuration is based upon a properties file containing name/value pairs
corresponding to role/password pairs and authorization can be also based on a properties
file containing name/value pairs corresponding to role/access pairs where access can be any
of readonly access which grants read access to any remote operation and readwrite
access which grants access to read and update operations in the interface.
Note: By default the user (BSN_JMX_SYSUSER) and password (BSN_JMX_SYSPASS) for the
administrator are automatically added to the configuration files.
To use this facility the following file should be maintained using an appropriate editor
(located in $SPLBASE/scripts directory or %SPLEBASE%\scripts in Windows):
ouaf.jmx.access.file – This file contains the userid and access permissions in
the format separated by a blank space:
Field Comments
Userid Authentication user to access JMX.
41 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
Field Comments
Permission Permission assigned to user. Valid values are: readonly – No
update access and readwrite – Update access and can access
update operations
Note: These files are also tailored using custom templates. The
ouaf.jmx.access.file.template and ouaf.jmx.password.file.template are
used for the configuration.
Note: For a full description of SSL setup refer to the To Setup SSL section of Monitoring and
Management Using JMX Technology.
To secure communications for JMX using the Java SSL support the following process needs
to be performed:
Security has to be setup using the Simple File Based Security or Using Other Security
Sources.
A key pair and certificate need to be setup on your server. Refer to the Monitoring
and Management Using JMX Technology or J2EE Web Application Server
Administration documentation for details and utilities available for this process.
Set additional java parameters using the WEB_ADDITIONAL_OPT for the online/Web
Services and BATCH_MEMORY_ADDITIONAL_OPT for Batch. Refer to the Server
Administration Guide and Batch Server Administration Guide for details of these
parameters. The following additional system properties must be set:
System Property Comments
javax.net.ssl.keyStore Keystore location
javax.net.ssl.keyStoreType Default keystore type
javax.net.ssl.keyStorePassword Default keystore password
javax.net.ssl.trustStore Truststore location
javax.net.ssl.trustStoreType Default truststore type
javax.net.ssl.trustStorePassword Default truststore password
com.sun.management.jmxremote.ssl Set to true
42 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
Note: Additional options are also supported as documented in Monitoring and Management
Using JMX Technology.
Note: Specification of system properties for java are as per the java command line.
Note: For sites using Oracle WebLogic in native mode, configuration of SSL requires
configuring Oracle WebLogic to use SSL and altering the startup scripts for Oracle
WebLogic to include the above options.
Whilst, by default, the file based repository is supported it is possible to configure the
authentication of JMX to use an alternative data source such as an LDAP Server. This
involves changing the JAAS configuration stored in the java.login.config file
$SPLEBASE/splapp/config directory (or %SPLEBASE%\splapp\config directory on
Windows).
In the JAAS configuration file there is a default jmxrealm that contains the default JMX
LoginModule. This can be changed, using custom templates, to support an alternative source
for authentication. Refer to the LdapLoginModule for information and examples of login
configurations.
Note: To implement the custom security source custom templates for java.login.config must
be implemented according to the process outlined in the Server Administration Guide. This
configuration affects all modes of access (i.e. online, Web Services and Batch).
43 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
Security Types
By default users have full access to the objects via the access methods specified in their user
groups. If the implementation wishes to implement additional levels or rules then the
application service must use Service Types. The definition of a Service Type allows
additional tags to be attached to service definitions and then code written to detect and take
advantage of the presence of the tag to limit security access to specific object data. For
example, whether data is masked or not or some limit is placed on values of data.
To define Security Types, Administration S Security Types option to display the Security
Types maintenance function. For example:
44 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
Note: To fully implement the rules associated with the security types, code must be included in objects
to implement security logic.
Administration Delegation
By default, the product provides a single administration account, as configured in the
SPLADMIN configuration setting, in the ENVIRON.INI configuration file, to manage the
operational aspects of the product. This operating system user is the owner of the product
when it is installed and is typically used for all operational aspects of the product.
Note: It is not possible to change the product administration account after installation. If this is
desired it is recommended to remove the product and reinstall using the alternative administration
account.
Whilst the single administration account is sufficient for most needs it is possible to provide
additional administration accounts to delegate administration tasks. To delegate
administration the following must be configured:
Any administration user must be a member of the operating system group allocated
to the product as outlined in the SPLADMINGROUP configuration setting in the
45 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
Note: Permissions on the directories are set to restrict the administration functions. Do not
alter the permissions on individual directories and file unless otherwise directed.
If you are using Oracle WebLogic in native mode, then the console will execute the
native facilities to start and stop the product. It is recommended that the user
allocated to Oracle WebLogic at installation time be a member of the operating
system group outlined in SPLADMINGROUP configuration setting in the
ENVIRON.INI configuration file.
Note: Customers using Oracle Enterprise Manager, with or without Application Management
packs, should use the administration delegation and credential management capabilities of that
product to manage administration delegations.
Note: Oracle strongly recommends that customers use SSL to secure transmission for production
environments.
Note: Customers using IBM WebSphere or IBM WebSphere ND should refer to the
WebSphere documentation on enabling the SSL protocol.
Set the SSL Port Number using the WEB_WLSSLPORT configuration parameter as
outlined in the product Server Administration Guide.
Once the setup has been tested and verified refer to the J2EE Web Application Server
documentation on disabling insecure protocols.
7 Support for sticky bit varies from operating system to operating system
46 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
with the product can be used to mask the data in an appropriate fashion.
Note: The data is not stored in masked fashion; it is configured to be displayed in masked format for
particular users using the Security Types.
47 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
Attach user groups to the Application Service with the appropriate Authorization
Level for the Security Type.
Create or update a Feature Configuration of Feature Type Data Masking using the
Administration F Feature Configuration option. For example:
48 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
For each field to mask add an entry to the Options section of the Feature
Configuration with the following values:
Option Type – Select Field Masking for Data Masking.
Sequence – Specify a sequence number for order of evaluation.
Value – Specify the tag string, delimited by ",", to indicate the definition of
the data masking with the following tags depending on how the data is
accessed:
Only fields defined as strings are supported by the supplied
algorithm.
To reference the masking algorithm, enter alg="algorithm name".
The algorithm's algorithm type must reference the Data Masking
algorithm entity.
For data that is accessed via a schema-based object call, the field to be
masked must reference a meta-data field name in its schema
definition. For example, if you want to mask a credit card number,
let's assume that field is defined in the schema is <creditCard
mdField="CCNBR" mapField="EXT_ACCT_ID"/>. In this case,
the option value should be field="CCNBR", alg="algorithm
name".
For data that is accessed via a page maintenance service call, indicate
the table name and the field name where the data resides, for example
table="table_name", field="fld_name", alg="algorithm
name".
49 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
A WHERE clause may also be specified. This is useful for data that
resides in a child table where only data of a certain type needs to be
masked. For example table="CI_PER_ID",
field="PER_ID_NBR", alg="algorithm name",
where="ID_TYPE_CD='SSN'"
For data that is stored as a characteristic, simply indicate the
characteristic type CHAR_TYPE_CD='char type',
alg="algorithm name". This needs to be defined only once
regardless of which characteristic entity the char type may reside on
For data that is displayed via a search service call, indicate the search
name and the appropriate field to mask along with the masking
algorithm. For example: search="SearchServiceName",
field="PER_ID_NBR", where="ID_TYPE_CD='SSN'",
alg="algorithm name". To find the name of the search service,
launch the search in question, right click in the filter area and choose
View Source. Search for ServiceName. The service name is listed there.
To find the field name to mask, go back to the search window and
right click on the results area and choose View Source. Look for the
Widget Info section and find the field name in the SEARCH RESULTS
(do not include the $).
Note: The WHERE statement can only apply to fields that are also part of the
search results.
Use the to add a new Data Masking definition or use the to remove an existing
Data Masking definition from the list.
Securing Files
Note: The utilities mentioned in this section apply to Linux and Unix environments only.
The product file structure is protected by permissions set at the operating system level. By
default, the settings provided with the product upon installation comply with Oracle
standards in respect to permissions. For more details of the individual user permissions on
product directories and subdirectories, refer to the product Server Administration Guide.
If at any time, the permission are manually altered and need to be reset to the defaults then
the following process can be used:
Execute the splenviron.sh utility to set the environment variables for the product
environment to reset. Refer to the product Server Administration Guide for details of
this process.
Execute the setpermissions.sh utility to reset the environment permissions back
to the defaults.
The environment permissions will be reset to the defaults supplied with the product.
50 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
Password Management
On a regular basis passwords are changed to maintain security rules. The product uses a
number of passwords that may require changing on a regular basis. The following table lists
all the passwords used in the product and guidelines for changing the password values used
by the product.
Password Owner Location Comments
Online User J2EE Authentication Source No configuration changes. User
changes password in security
repository directly or indirectly using
security products. Security repository
is configured in J2EE Web Application
Server8.
Web Service User J2EE Authentication Source No configuration changes. User
changes password in security
repository directly or indirectly using
security products. Security repository
is configured in J2EE Web Application
Server.
Batch User Operating System No configuration changes. User
changes password in security
repository directly or indirectly using
security products. Security repository
is configured in operating system.
Database Users BATCH_DBPASS The database users are stored in
DBPASS ENVIRON.INI. Refer to the Server
XAI_DBPASS Administration Guide on process to
change values. New Passwords need
to be re-encrypted.
JMX Users BSN_JMX_SYSPASS The default JMX user is stored in
ENVIRON.INI. Refer to the Server
Administration Guide on process to
change values. New Passwords need
to be re-encrypted.
J2EE WLS_WEB_WLSYSPASS The default administration users are
Administration WEB_WLSYSPASS stored in ENVIRON.INI. Refer to the
Account Server Administration Guide on process
to change values. New Passwords
need to be re-encrypted.
8 WEB_SPLPASS specifies the default password for the initial user. If this user is used past the
installation the password may need to be changed. Refer to the Server Administration Guide for more
details.
51 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
52 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
Audit Facilities
The product has an inbuilt auditing capability to register accesses to data from online and
Web Services users. Batch processing is not audited by default but can be enabled using the
Oracle Utilities SDK using programmatic methods.
About Audit
Auditing allows for the configurable tracking of changes to key data by online and Web
Services users. The product has an inbuilt, configurable audit facility that tracks changes and
allows authorized users to track changes on an individual user and change basis.
The use of the inbuilt audit facility is optional and can be enabled or disabled at any time.
Audit Configuration
Note: This section covers the soft table implementation of Auditing. There is also specialist Audit
algorithm support on Business Objects and Maintenance Objects to add information to log entries
attached to these objects. Refer to the Oracle Utilities SDK and online Administration documentation
for a description of programmatic implementation of Auditing.
The inbuilt Audit facility is configured at a table level. For each table you wish to enable
audit upon the following needs to be configured:
Audit Table – To store the audit information a database table must be configured to
hold the audit information. By default, the CI_AUDIT table can be used for this
purpose. If a custom table is used to store the information it should have the same
structure as CI_AUDIT for compatibility purposes.
Audit Program – To process the audit information a class or program must be
configured to record the audit information. By default a number of prebuilt Audit
programs are available for use:
com.splwg.base.domain.common.audit.DefaultTableAuditor –
This is the default java based audit class provided by the product. It audits
any changes to any fields configured to track auditing information.
com.splwg.base.domain.common.audit.ModifiedTableAuditor –
This is an alternative to the DefaultTableAuditor but it will not audit
inserts or deletes of empty string field data. For example, changes from null
values to empty spaces and vice versa would not be logged.
CIPZADTA – For backward compatibility purposes, products which use
COBOL based extensions can use a COBOL version of the
DefaultTableAuditor. It is recommended for customers to use the java
version in preference to the COBOL version.
Note: It is possible to implement custom Audit handlers using the base classes as parent
classes. Refer to the Oracle Utilities SDK documentation on how to extend the product.
53 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
Audit conditions – A set of switches are configurable on each field you wish to
include in auditing to determine the conditions of auditing. At least one of these
switches must be enabled for auditing to be registered:
Audit Delete Switch – Enable this switch to audit delete operations against
this field.
Audit Insert Switch – Enable this switch to audit insert operations against
this field.
Audit Update Switch - Enable this switch to audit update operations against
this field.
To maintain the audit information, navigate to the Administration T Table option and
specify the table to enable auditing against. For example:
Specify the Audit Table, Audit Program (and associated type) and configure the Audit
Switches on the fields you wish to track.
Note: To enable Auditing on a running version of the product, the online data cache must be flushed
or the product restarted. Refer to the Server Administration Guide for more details.
54 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
55 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
Field Value Before Audit – The field value before the change was made.
Field Value After Audit - The field value after the change was made.
Read Auditing
Whilst the inbuilt Audit facility is mainly used to register changes in data, it can also be used
to register whenever data is accessed for auditing purposes. The concept of read auditing is
different from the standard auditing as it is related to zones9. On the zone configuration
there is an ability to configure an Audit Service Script which is called whenever the zone is
displayed to determine which criteria and result records are displayed.
The information audited can be programmatically determined and which information is
logged according to your requirements. Refer to the online zone help for descriptions and
samples to configure Read Auditing.
Note: Products ship with sample generic inquiry Audit code specific to the product. These can be
reused or altered to suit your needs. Refer to the product documentation for details of these samples.
9At the present time this parameter is available for F1-DE, F1-DE-QUERY, F1-DE-SINGLE, F1-
MAPDERV and F1-MAPEXPL zone types only.
56 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
Database
connection session Audit Vault
information
Audit information
Online User
Batch Thread
57 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
Database Security
Database Users
The product installation ships with a predefined set of users to be used by the product at
configuration and runtime. These users are specified in the installation of the product to
build the database and load its initial dataset.
The following users are available:
SPLADM – This is the default DBA administration account which owns the product
schema. This user is used to create and maintain the structures of the database. It is
used by DBA personnel to maintain the product schema and indexes.
SPLUSER – This is the default main product user used by the product to access the
SPLADM schema. The product uses this physical userid as a pooled user with pooled
connections to the database. Variations on this account can be created for each
channel of access using the following configuration settings
Configuration Parameter Comments
BATCH_DBUSER Database User for Batch
DBUSER Database User for online (Default: SPLUSER)
XAI_DBUSER Database User for Web Services
SPLREAD – This is the default read only user available for reporting tools or external
direct interfaces to use on the product database. This user is not used by the
product10.
CISOPR, OPRPLUS – These are optional operator users that can be used to delegate
backup and restore operations on the product.
Note: The values of these users can be altered to customer specific values at installation time. Refer to
the product Installation Guide and product DBA Guide for more information.
Database Roles
The product ships with a set of database roles to allow administrators to allocate new
10For customers on older versions of particular products this user was also used for the ConfigLab
component.
58 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
database users to the relevant components of the product. The following roles are shipped by
default for the product:
SPL_USER – This role is available for database users who require update, insert,
delete and select access to the product schema. This role is used for product users.
SPL_READ – This role is available for database users who require read only access to
the product schema.
To use the roles the DBA grants the role to the database user to connect them to the schema
in the desired fashion.
Database Permissions
Database permissions for the product are allocated at the role level with the role setting
permissions to the schema objects. By default the roles have full access to all the objects in
the product schema, as dictated by the role.
Unless otherwise stated, it is not recommended to alter the database users used by the
product to specific additional permissions on the product schema as this may cause
permission issues.
Customers wishing to restrict external parties, such as external tools or reporting engines, to
specific objects may use all of the desired security facilities available in the database to
implement those restrictions.
Note: To implement Transparent Data Encryption, DBAs will have to execute appropriate alter
statements on product tables to indicate the level of encryption.
Note: For product tables with large amounts of data it is recommended to use the NOMAC feature to
save disk space.
For more information about implementing Transparent Data Encryption refer to the Oracle
Advanced Security Guide.
59 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
60 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
Security Integration
LDAP Integration
By default, Oracle WebLogic includes an internal security repository that uses the
Lightweight Directory Access Protocol (LDAP) to provide authentication facilities11. It is
possible to replace the internal security repository with another LDAP compliant security
source.
To use an alternative source as a security repository the following process must be used:
The J2EE Web Application Server must be configured to use the external LDAP
security source for authentication. Refer to the documentation provided with the
J2EE Web Application Server for more details. For Oracle WebLogic customers, refer
to the Configuring LDAP Authentication Providers section of the Oracle Fusion
Middleware Securing Oracle WebLogic Server Guide.
The product LDAP import feature can be used to initially populate the authorization
model from the LDAP source as outlined in the LDAP Integration for Oracle Utilities
Application Framework based product (Doc Id: 774783.1) available from My Oracle
Support.
Note: Whilst LDAP sources are the most common security repository, it is possible to use alternative
security authentication sources as supported by the J2EE Web Application Server. Refer to the
documentation provided with the J2EE Web Application Server for more details.
11 It also provides authorization services but these are not typically utilized by the product.
61 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
Kerberos Support
Single Sign-On (SSO) with Microsoft clients allows cross-platform authentication between
Web applications running in the J2EE Web Application Server and .NET Web service clients
or browser clients (for example, Microsoft Internet Explorer) in a Microsoft domain. The
Microsoft clients must use Windows authentication based on the Simple and Protected
Negotiate (SPNEGO) mechanism.
Refer to Configuring Single Sign-On with Microsoft Clients for details of configuring Oracle
WebLogic to use Kerberos.
62 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
Keystore Support
The Oracle Utilities Application Framework supports the ability to store cryptographic keys
and/or certificates. The keystore is used to encrypt and decrypt data such as passwords and
for the data encryption component of the Oracle Utilities Application Framework.
Note: For backward compatibility, customers on older versions will have a default keystore created
upon upgrade with backward compatible values.
Note: If the keystore is not present, Oracle Utilities Application Framework will revert to the internal
cryptography used in previous releases.
Note: Passwords encrypted using this keystore will be prefixed with ENCKS and legacy password
encryption uses prefix ENC.
Typically a keystore is created using the java keytool utility manually but the Oracle
Utilities Application Framework utilities have been extended to allow customers to create
and manage the keystore from the command line.
Before creating the keystore the following settings must be set in the installation, as per the
Server Administration Guide:
KS_ALIAS - The alias used to encrypt/decrypt passwords by the Oracle Utilities
Application Framework to access the keystore. By default this is set to
ouaf.system.
KS_ALIAS_KEYALG - The algorithm to be used by the KS_ALIAS entry in keystore to
encrypt the passwords. By default this is set to AES.
KS_ALIAS_KEYSIZE - The strength of the keystore for the KS_ALIAS entry. By
default this is set to 128.
KS_HMAC_ALIAS - The HMAC alias used by the Encryption Feature Type of the
Oracle Utilities Application Framework. By default this is set to
ouaf.system.hmac.
KS_HMAC_ALIAS_KEYALG - The algorithm to be used by the KS_HMAC_ALIAS
entry in keystore to encrypt the data. By default this is set to HmacSHA256.
KS_HMAC_ALIAS_KEYSIZE - The strength of the keystore for the KS_HMAC_ALIAS
entry. By default this is set to 256.
KS_KEYSTORE_FILE - Location of the keystore file.
KS_MODE - Keystore Padding mode. By default this is set to CBC.
KS_PADDING - Key padding algorithm used for keystore. By default this is set to
PKCS5Padding.
KS_STOREPASS_FILE - Keystore Password file.
63 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
Note: This process should be used for any keystore change including copying keystores across
environments.
After creating the keystore if any of the keystore values need to be changed then the system
needs to be realigned to the new configuration. The following process must be performed:
Logon to the machine where you wish to make the changes to the settings.
Execute the splenviron[.sh] -e <environment> command where
<environment> is the environment on the machine to change.
Shutdown the environment.
Alter the keystore parameters to suit the new desired configuration using the
configureEnv[.sh] -a utility.
Execute the initialSetup[.sh] -k utility to recreate the keystore with the new
settings.
Execute the configureEnv[.sh] once more and press enter on each password
prompt to re-encrypt the passwords with the new settings.
Execute the initialSetup[.sh] command to apply the changes to the
configuration files.
Note: For customers using native installation, update the Deployments using the Oracle
WebLogic console or Oracle Enterprise Manager to load the new versions of the product EAR
files.
If the encryption values have changed the data encrypted in the database must be re-
encrypyted to match the new settings using the process outlined in Synchronize Data
Encrytion.
Note: Failure to synchronize data when encryption values change will cause outages and unexpected
behavior in the product.
Note: The product should be shutdown while running this process.
If at any time the encryption values change the values that are encrypted using the old value
64 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
65 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
Dcom.oracle.ouaf.system.old.keystore.file=<oldfile> -
Dcom.oracle.ouaf.system.old.keystore.passwordFileName=<oldpassfile> -
Dcom.oracle.ouaf.system.old.keystore.type=<oldtype> -
Dcom.oracle.ouaf.system.old.keystore.alias=<oldalias> -
Dcom.oracle.ouaf.system.old.keystore.padding=<oldpadding> -
Dcom.oracle.ouaf.system.old.keystore.mode=<oldmode>
Where:
<oldfile> Original Key Store file
<oldpassfile> Original Password Store file
<oldtype> Original Key store type
<oldalias> Original alias
<oldpadding> Original Padding
<oldmode> Original Mode
66 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
One of the major features of the Oracle Utilities Application Framework is the ability to mask
and encrypt data within the product to protect sensitive information. This encryption is
implemented in a Feature Configuration using the Encrypted Feature Type.
Overview
The Oracle Utilities Application Framework supports Feature Configuration which store
specific configuration settings for features in the product to be implemented. Feature
Configurations allow simple configurations to be implemented for specific features.
Feature Configurations can be maintained using the Admin Menu F Feature
Configuration menu item. For example:
\
For the Encryption feature, one Feature Configuration should exist for the Encryption
Feature Type with an option per field to encrypt.
Note: If the product does not ship a Feature Configuration for Encryption, then it can be created as a
Customer Modification. Prefix the name of the Feature Name with CM.
67 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
68 - Security Guide
Oracle Utilities Customer Care and Billing, Version 2.5.0
supported.
If using a higher level of encryption may increase the storage requirements for a field.
If this is the case, adding an encryptedField to hold the larger encrypted value.
The wrap field should be set to false unless additional processing in your code is
included to handle the special marker. Product fields should use wrap=false.
Wrapping an encrypted value can be useful in knowing whether a specific data is
encrypted in cases where only some data on the table is encrypted.
Ad-hoc characteristics cannot be specified in the WHERE tag.
Hashing the value is handy for additional verification and indexing values.
69 - Security Guide