RMS 16.0 Security Whitepaper
RMS 16.0 Security Whitepaper
System
January 2017
Note: The following is intended to outline our general
product direction. It is intended for information purposes
only, and may not be incorporated into any contract. It is not
a commitment to deliver any material, code, or functionality,
and should not be relied upon in making purchasing
decisions. The development, release, and timing of any
features or functionality described for Oracles products
remains at the sole discretion of Oracle.
Contents
Contents............................................................................................................................. ii
1 Security Overview ........................................................................................................ 1
2 Application Level Security .......................................................................................... 3
Roles................................................................................................................................... 3
Duties and Privileges....................................................................................................... 4
Oracle Retail Application Administration Console .................................................... 5
3 Data level Security ....................................................................................................... 7
Configuring Data Level Security .......................................................................................... 7
Data Security Tables ........................................................................................................ 8
Other Notes..................................................................................................................... 10
Data Security Views ...................................................................................................... 10
Purchase Order Approval Limits ....................................................................................... 11
1
Security Overview
This document provides an overview of the security functionality that is available as part
of the Oracle Retail Merchandising System (RMS).It will outline the security model that is
based on roles and allows flexibility for retailers to configure the application at the
screen, task, and data levels.
The security features of the application are as follows:
Authentication
This is the process of verifying the identity of a user. The authentication process
usually requires the user to provide a username and password or a combination
thereof, upon signing into an application. This is done based on a repository, such as
Lightweight Directory Access Protocol (LDAP) that holds the user data required for
authentication and authorization processes.
Role-Based Access/Authorization
This is the process of checking to see if an authenticated user has the privilege to
access specific system functionality. Within RMS, users are assigned to roles. The
logical grouping of duties within these roles provides different access rights to
specific functions within the various applications.
Data Authorization
This is the process of determining an authenticated user's rights to act upon a
particular set of data. This process typically checks if the authenticated user is linked
to a certain level in the merchandise or organization hierarchy.
These security tools for RMS should be effectively leveraged by the client based on the
respective business processes and the users who will be executing those processes within
RMS. This controls not just access to the system, but ensures that every employee is
systematically focused on the aspect of the client's business that they are responsible for.
Database level security is a feature of the Oracle database and will not be covered in the
scope of this document. For more information on securing the database for RMS, refer to
the Oracle Retail Merchandising Security Guide.
Security Overview 1
2
Application Level Security
Application level security requires that the users are authenticated at the time of logging
into the application and it restricts them only to the resources for which they are
authorized. Based on the business role, the user's access could be restricted either to
entire areas of the system, purchase orders for example, or to the way that they can
access areas. For example, a user associated with a business role of Buyer may be able to
perform only the tasks associated to a Buyer profile such as, creating, modifying, and
approving purchase orders, deals, contracts, and so on. He might additionally have view
only access to return to vendor (RTV) screens, but not be able to create or modify an RTV.
On the other hand, an Inventory Analyst might have access to the set of tasks that are
linked with movement of goods within the application, such as creating, modifying, and
approving transfers, RTVs, and purchase orders.
Roles
The Oracle Retail Fusion security model is built upon the Oracle Fusion Middleware
platform leveraging the Oracle Platform Security Services (OPSS), which incorporates the
Java Access and Authorization Specifications (JAAS). Fusion security supports a role-
based, declarative model that employs container-managed security where resources are
protected by roles that are assigned to users. There is a generic database user configured
as the data source in the WebLogic application server. All the database interactions
triggered from the application screens are handled through this data source.
A default security configuration is available with RMS after installation and is configured
to use the Oracle Fusion Middleware security model. The default configuration includes
the eleven predefined security roles listed below for application-specific permission
grants:
Application Administrator
Data Steward
Buyer
Inventory Analyst
Inventory Manager
Corporate Inventory Control Analyst
Inventory Control Manger
Sourcing Analyst
Finance Analyst
Supply Chain Analyst
Finance Manager
This is intended to be a starting point for retailers to use as they define the roles that
make sense for their specific business and users. Each user is assigned to a role and then
the application roles are associated to a set of duties, which in turn are associated to a set
of privileges. In this manner, an application role becomes the container that grants
permissions to its members to access the RMS screens and the functionalities within it.
Duty Privilege
The figure below is an example of how this is structured using two of the roles in the
default RMS configuration as an example. This diagram also highlights another feature of
the security configuration available in RMS, which is the ability to assign a user with
maintain privileges to a screen that is accessed through another screen that they have
view only access to. In this example the Supply Chain Analyst role has access to view
items, but can maintain item supplier data, which is only accessed through the main Item
screen in RMS.
Item Inquiry Supplier Supplier Item Inquiry Item Management Supplier Supplier
Inquiry Mgmt Inquiry Mgmt
Privilege
RMS also has two privileges that work a bit differently and are intended to help
configure the application by retail vertical. The first of these is called Use Diffs Priv. This
is meant to be assigned to roles that use differentiators for their items. For most fashion
or department store retailers, this would likely be associated to all roles. But, for other
businesses that may have a mix of fashion items and hardline items, this may only be
associated to certain roles in the organization. Users which have this privilege assigned
to them will have access to the Diff Matrix, Diff Distribution, Re-distribution by Diff, and
the Order, Transfer and Contract Parent/Diff Summary contextual reports. This privilege
also provides access to the differentiator container in the Item screen. Users without this
privilege will have these hidden from their view.
Another privilege that was added for users who work primarily in the Grocery retail
vertical is called Maintain/View Grocery Attributes Priv. Similar to the Use Diffs Priv, it
is intended show or hide grocery related attributes for items, such as the catch weight
indicator.
privileges. These mappings should be created only after thorough analysis of the client
business processes and business user actions ensuring that it does not break the logical
screen navigation flows.
Please refer to the Retail Merchandising Security Guide for the complete list of pre-defined
RMS roles, duties, and privileges, as well as more details on creating users, roles and
duties.
Users (SEC_USER)
This table holds the application user ID, which is associated with a user when they log
into RMS. The data security function uses this application user ID for applying the
security policy. Key attributes 1 on this table are:
USER SEQ - This is a sequence-generated number that uniquely identifies a user.
APPLICATION USER ID 2 - This column holds the application user ID set up in the
enterprise Lightweight Directory Access Protocol (LDAP) for the user. The user ID
must be in all capital letters.
1
There are also indicators on this table that identify the application that the user is
associated with across other Merchandising applications outside of RMS, including Sales
Audit (ReSA), Invoice Matching (ReIM), and Allocation. These applications would use a
similar setup for data level security as is outlined in this document, with the exception of
Allocation which does not use this functionality at this time.
2
Although there is a database user ID on the table, this is not used in RMS as of version
16.0
USER SEQ - This contains the security user assigned to the security group. It
references the user sequence defined on SEC_USER table.
Other Notes
Data security is configured in RMS using the Data Loading function, which uses
spreadsheets to manage the upload and download of data into the RMS tables. See
the Foundation Data Loading Overview white paper for more details on this
functionality.
For a user to have access to any data, the LDAP user ID that is used to log in to the
RMS application must be defined in the SEC_USER table as an
APPLICATION_USER_ ID.
The user must be assigned to a security group in SEC_USER_GROUP. This is done
through associating the USER_SEQ on SEC_USER assigned to the
APPLICATION_USER_ID with a GROUP_ID on SEC_GROUP.
The security group can only access the merchandise hierarchies and the organization
hierarchies assigned to the user in FILTER_GROUP_MERCH and
FILTER_GROUP_ORG respectively.
If a security group is NOT assigned to any data in FILTER_GROUP_MERCH or
FILTER_GROUP_ORG, users in this group are considered super users and will
have access to all merchandise hierarchies or all organization hierarchies,
respectively
3
The determination of whether cost or retail is used is based on the system option setting
PROCUREMENT_UNIT_OPTIONS.ORD_APPR_AMT_CODE.
4
Information on this table can also be managed using spreadsheets and the Data Loading
function in RMS.
Worldwide Inquiries:
Phone: +1.650.506.7000
Fax: +1.650.506.7200
oracle.com
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
Intel and Intel Xeon 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, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered
trademark of The Open Group.