SAP Security Design
SAP Security Design
<company_name> Security
Design Document
Page 1
<company_name> Security Design
Document Control
Author Diane Davis /Ramesh Babu/Barry Roberts/Bill Wade
File Name <company_name> Security Design.doc
Target Readership
This document is intended for anyone who has responsibility for, or has a vested interest in SAP
Security & GRC Administration at XXX. This includes:
Business Executives
Information Services management
Technical staff
Application development teams
User Administration teams
Help Desk teams
SAP Security Administrator
Internal Auditor and External Auditors
Training Team and Business owners
Page 2
<company_name> Security Design
1. Introduction_____________________________________________________________________
1.1. Purpose.................................................................................................................................4
2. Scope__________________________________________________________________________
5. Terminology____________________________________________________________________
6. Tables_________________________________________________________________________
6.1. Security RACI Chart..........................................................................................................24
6.2. ECC Security Parameters................................................................................................25
6.3. System Profile Parameters..............................................................................................26
6.4. SAP ECC Sensitive Authorization Objects....................................................................29
Page 3
<company_name> Security Design
1. Introduction
This document is to describe the overall SAP Security Design that will be adopted for XXX SAP systems.
This design supports the configured business processes within the XXX SAP system, whilst ensuring an
adequate level of security and controls.
1.1. Purpose
The purpose of this document is to identify the high level design in order to
Define the build that will provide guidance for the build and run of SAP ECC security and GRC
Provide an overview of the approach for defining the various user roles in a typical SAP
application environment.
Specify particular security configuration decisions for the <company_name> solution
2. Scope
This document refers to the Security concept within the <company_name> solution for end users.
Both the production and non-production environments are considered within the scope of the security and
GRC teams.
The following systems components are considered in scope for this document:
SAP ECC
SAP BW & BOBJ
GRC modules implemented
SAP Solution Manager
The following systems components are not in scope for this document and will follow current XXX
practices for their categories, where applicable
Database and operating system security
All peripheral SAP components not specified above
All components associated with the operation of the IT infrastructure upon which the SAP
systems operate are out of scope of this document
Disaster recovery (DR) and business continuity planning (BCP) for SAP and related components
will fall under the XXX’s current IT policies and procedures
All components of systems subsidiary to and interfacing with the mySAP.com systems will be
maintained and secured following existing procedures, guidelines and standards.
Business Process Controls Strategy, risk assessment and controls recommendation shall be the
responsibility of the <company_name> Process Teams and the <company_name> Internal
Control and Compliance team. See the Governance Risk and Compliance Strategy Document
For non-SAP application security requirements, please refer to the standards and guidelines defined
within the policies and standard operating procedures as documented on the XXX intranet.
Page 4
<company_name> Security Design
Page 5
<company_name> Security Design
3.2.2. Users
Dialog users are assigned an application specific account-user master record that may be
assigned one or many application roles. XXX Employees and Contractors user ids will be
the same as their XXX network ID (Active Directory (ADID). Application userids will model
this same convention. Each XXX employee will have one and only application userid (if
needed). No generic SAP userids will be created and no userids will be allowed to be
shared.
Exceptions will be made for testing role functionality and model users in a non-production
environment and for service/batch accounts in production. When service accounts are
required to support batch processing and Tier 3 level support, a separate batch-id will be
established for each process area. Jobs in production systems should not be scheduled
using the individual user ids. Each business area will have at least one batch-id to run the
jobs related to that area. These accounts will comply with the XXX Information Security
Policy requirements.
User Groups
For the SAP solutions in <company_name>, there are two types of User Groups to
consider, Administrative User Groups and Authorization User Groups.
Page 6
<company_name> Security Design
The Administrative user group is used to distribute the administration of user maintenance.
User administrators can be authorized to maintain specific administrative user groups.
Administrative user groups do not provide the ability to grant transactional access to users.
It just allows for ease of maintenance within security administration. There is no plan to
use administrative user groups during the initial release. The following administrative user
groups are examples of what may be created and used to assign access for these groups:
DEVELOPMENT Application Developers (ABAP) team
BASIS Basis Support Team
CONFIGURE Configuration Development Team
HELPDESK1 Helpdesk Support Team
HELPDESK2 Helpdesk Support Team
SECURITY1 Security Design team
SECURITY2 Security Design team
TEST IDs
USER All end-users
DESKTOP IT Desktop Support Technical team
The second type of user groups is the authorization user group which is used to assign
roles to groups of people at one time. For <company_name> use of ECC, there is no plan
to use this type of group during the initial releases. The preference is to assign to the end
user due to the need to be flexible with assignment of task based roles.
3.3. General Security Approach
The security design and build is based on an approach with the goal of reducing risk of access to
sensitive areas, content while complying with XXX IT Security Policies and Procedures. To align with
the internal control requirements and prevent potential deficiencies that can impact an organization,
user functions will be segregated with respect to the user’s job descriptions and responsibilities. In
general, transactions with a very high sensitivity (IT and Business Sensitive Transactions) will not be
combined with other transactions. Unique use of transactions per role is the preferred approach with
duplication of transactions within other roles only when no other alternative is present. The role
definition process will provide a high level of flexibility, visibility and control to appropriately manage
the high-risk transactions and remediate users when necessary.
For each of the in-scope systems, transactions, queries, reports and web addresses, etc. will be
included into the role menu. The XXX <company_name> approach to security is to follow standard
SDLC methodology that includes “Design, Build, and Test”. The approach took into account:
Transactions listed by process and role
Role Build Templates
Org level security is high maintenance for user provisioning and therefore has been
determined within XXX that the benefits do not outweigh the costs.
XXX will use the Profile Generator as a tool to develop authorization profiles. Once activities
have been saved in a role, the profile generator is used to generate the necessary
authorizations and profiles. If a Security Role contains more than 150 authorizations, the
profile generator will automatically create additional profiles.
Roles will be directly assigned to a user.
<company_name> Training will identify the “to be” operational job function for job role
mapping. Security will collaborate to map task based roles to the specified function in time
for UAT
Observe best practices where possible:
Page 7
<company_name> Security Design
Page 8
<company_name> Security Design
4.1.1. Overview
In addition to the general approach for security, the ECC security design and build aims to
reduce and potentially eliminate the existence of segregation of duties conflicts within the
SAP technical design while adhering to
GRC Access Controls best practice
Observance of identified critical sensitive transaction codes
ECC will deploy a compliant security build. Authorization object level access control rules
based on the data needed to be accessed will be incorporated around these transactions to
provide more granular protection. The ECC build consists of:
Transactions listed within the PDDs or BPPs
RICEF Object and sensitive transaction areas identified by best practice resources.
Creation of small task-based roles that are free of SOD violations
Utilization of the GRC RAR for SOD reviews prior to deployment for role and user
reviews for SAP ECC security
Roles will be defined based on a task. Therefore, tasks are assigned to a role
owner having significant functional knowledge of what is required to perform the
task. See the detailed security role build.
Use SU24 Maintenance process. Avoid inserting objects manually.
Composite roles reduces visibility within roles, therefore limit their use
SOD tools interpret the use of * wildcards for administering roles or authorizations
widely which causes issues around SOD and excessive access.
Single roles containing similar functions/transactions can be more easily added or
removed from composite roles. Single roles containing dissimilar
functions/transactions will typically require more analysis to determine whether a
transaction can added or removed.
Limited use derived roles to represent similar job roles. Derived roles are derived
from parent roles. Changes to parent roles automatically transfer to derived roles,
thus simplifying role maintenance.
Use of composite roles will be used where consistency in the combination of roles
warrants this structure for maintenance
Page 9
<company_name> Security Design
Use of single roles instead of master roles because derived roles will not be used
for org level.
All reports or programs for end users to run will be assigned to a transaction.
Only those people with active user master records can access the system. User ids, roles,
profiles, transaction codes and authorization objects protect the system from unauthorized
access. Roles are created and maintained via transaction PFCG. Profiles can be created
manually using transaction SU02 and automatically by using SAP Profile Generator. It will
be XXX’s policy to rely on Profile Generator for creation of security profiles whenever
possible as per our systems integrator leading practice design.
All three of these must be taken into consideration when administering transaction level
security.
The authorization objects used to secure transactions are dependent on the functional area
being executed. There are approximately 22 object classes used to logically group the
SAP supplied authorization objects. Refer to the SAP supplied on-line documentation or an
actual client for a detailed listing. The objects are maintained in the table TOBJ and can be
viewed via transaction SE16.
The system access to execute the transaction is controlled by the authorization object
S_TCODE. This particular object requires that the transactions needed for a user, position
or role be explicitly defined. This means, that if a user needs access to transactions FB01,
FB02, and FB03, then these transactions must be specifically stated. Alternatively, putting
in the value of FB* can provide the same access but is not recommended anywhere but in
the development environment
Page 10
<company_name> Security Design
An authorization is a set of permissible values that grant system access privileges based
upon an authorization object. A user is permitted to perform an action only if he/she
passes the test for each field in an authorization object. In this way, objects allow complex,
multi-conditional testing of user access privileges. Creating a unique name and assigning
values to the fields that are defined for the object create an authorization for an
authorization object. Values determine the actions that are permissible. Authorizations
must be assigned to simple profiles.
Example: A G/L account authorization object has two fields to which varying degrees of access can be
granted, Activity and Company Code. An authorization could be created with a value of 03 (display)
assigned to the Activity field and a value assigned to the Company Code field. This authorization would be
assigned to a single profile along with the other authorizations required to access G/L accounts.
ECC performs authority checks to ensure execution of the code with security
considerations. During the creation process XXX will perform the following when creating
new authority checks:
1. Evaluate the need to create new authorization objects or use existing objects
2. If necessary, create the new authorization objects and associate them with an
existing object class. All new objects must be transported across the entire system
client landscape
3. Identify the values necessary to execute the program
4. Identify the position or role that should have access to execute this program, this
may be dependent on each client
5. If necessary, add the transaction code to the SAP ECC Profile Generator using
SU24
6. If using the profile generator, generate the new activity group necessary to execute
the program
7. If necessary, create the manual authorizations and profiles necessary to execute
the program
8. Transport the profile and/or activity group across the system client landscape
Page 11
<company_name> Security Design
Type Detail
Page 12
<company_name> Security Design
Page 13
<company_name> Security Design
4.2. BW/BOB J
The BW system is an analytical processing system that performs complex calculations on data stored in
it. As a data warehouse, it does not use transactions the way that ECC does but instead uses three
primary types of restrictions to secure reports.
4.2.1. Overview
BW roles can be restricted by the BW structural elements – InfoAreas and InfoCubes. This
type of specification gives access to all of the data housed in the InfoArea(s) or InfoCube(s)
specified. To be consistent with the overall Security Strategy, organization level (i.e., plant,
company, etc) will not be integrated into the design and therefore will also not be built into
BW. The security structure for BW is intended to restrict normal functionality where it is
important to protect the integrity of the results, but not to restrict similar content. A role in
BW typically identifies a collection of reports and queries for a specific business area. Roles
Page 14
<company_name> Security Design
often correspond to job titles. Roles are associated with tasks and include all activities that
are carried out by the respective users.
The vast majority of XXX’s BW end users will never directly logon to the BW system using
the SAPGui but will login from the BOBJ front end,
The first step is to identify the roles that need to be created and what the users will need to
access for each role. The simplest way to give access to the End Users is by info provider.
For EX: GL Users will have access to GL cubes. Once the Role has been created and
users assigned to that role, authorizations are generated to enable access to the Business
Warehouse. .
Power User roles will also need to be defined with the ability to create, change and display
queries and reports both for themselves and others in their department. BW Authorization
Objects
BW Reporting Authorizations will be based on hierarchy of authorizations as defined in the
PDDs a spreadsheet will be used to assign the end user roles to individual users as part of
the overall role to job position matrix.
Page 15
<company_name> Security Design
4.3.1. Overview
There are 2 different types of roles needed for GRC – Front-end and Back-End Roles. See
the GRC Role Build.
Front-end Roles - Front-end roles grant application rights to configure and run the tool
Back-end Roles - Back End roles are used with ECC for SPM to provide certain
master data update functionality needed to run the tool
GRC is a java based tool that has security administered using the SAP User Management
Engine (UME) for the front-end roles. UME provides a portal like security. GRC comes with
preconfigured UME roles which contains various UME actions. These UME roles can be
assigned to the UME user ids directly or may be copied in to a custom role and then
assigned to the UME users. Customization of these roles is typically not needed.
However, it is leading practice to copy the standard GRC UME roles into custom UME roles
to prevent any issues related to GRC upgrades. UME roles will be assigned to users based
Page 16
<company_name> Security Design
on need. Where possible, XXX will use out of the box GRC roles. At a minimum the main
users for GRC are as follows:
Super User Privilege Management enables users to perform emergency activities outside
their role as a “privileged User”. SPM provides the solution for systematic handling of all
emergency situations in a controlled and auditable environment. The typical roles and
functions assigned for SPM include SPM User role, SPM Owner role and SPM
Administrator role.
4.3.4. GRC PC
text
.
Page 17
<company_name> Security Design
4.4.1. Overview
4.4.2. Authorizations Objects
4.4.3. Authorization and Field Values
4.4.4. Authority Check in Custom ABAP
4.4.5. Activation Concept
4.4.6. System Security Parameters
4.5. Vertex
Text
4.5.1. Overview
4.5.2. Authorizations Objects
4.5.3. Authorization and Field Values
4.5.4. Authority Check in Custom ABAP
4.5.5. Activation Concept
4.5.6. System Security Parameters
Page 18
<company_name> Security Design
4.6.1. Overview
4.6.2. Authorizations Objects
4.6.3. Authorization and Field Values
4.6.4. Authority Check in Custom ABAP
4.6.5. Activation Concept
4.6.6. System Security Parameters
5. Terminology
Authorization A set of authorization object specific values that allow a user to perform
certain functions within the XXX system.
Data Owner The data owners are responsible for protecting (controlling access to) the
transactions, tables, and reports that they own.
Functional Team Member of the core development team, with responsibility for a specific
functional area and specifying security requirements from a business
perspective.
Governance Risk and A member of the ICC is responsible for establishing the security strategy,
Compliance (GRC) GRC strategy, related designs and establishing the associated administration
Team processes.
Role Single Roles consist of authorization profiles, which are generated using the
Profile Generator tool. Roles can be directly assigned to user ids.
Consists of a collection of single/individual roles grouped together. As such,
Role-Composite
these do not have authorizations or profiles directly assigned to them.
Composite Roles may be directly assigned to user ids.
Role-Master May be created for a generic job role (e.g. Accounts Payable Clerk) or task
Page 19
<company_name> Security Design
based roles (e.g. Create Vendor) and may be used as a template. If a role is
to be used for multiple divisions where each clerk would perform the same
functions, but should be restricted to data for their own division, a role will be
derived from the Master role.
Role-Simple Single roles consist of one or many authorizations that are required by the
SAP system in order to perform transactions (single profile).
Role Owner A business representative assigned with responsibility for certain roles and
the assignments of those roles to end users for a functional area.
Security Roles A security role is a collection of linked or associated activities, such as tasks,
reports, and transactions. A role is a data container for the SAP Profile
Generator to generate authorization profiles and usually represent either a
task or job role in the company. A particular task or job may consist of one or
more profiles
Security Team Member of the Technical Services team, and is responsible for the security
administration process.
<company_name> Responsible for monitoring that XXX practices are followed and that XXX
Internal Controls and information resources are properly protected.
Compliance (ICC)
Page 20
<company_name> Security Design
User Id Represents the User Identification in the XXX system. User Id’s are required
to log on to XXX systems
User group User groups facilitate the process for user reporting within the XXX system.
User groups enable security administration of users within the specified user
group
Each user has a unique user account called a master record. A user master
User master record
record contains a user’s personal data such as name, surname, address, and
other often used system parameters such as printer preferences, system
access rights, etc. The user master record is automatically associated with a
userid.
Page 21
<company_name> Security Design
6. Tables
6.1. Security RACI Chart
ICC
GRC Team
TeamFunctional
Role Owner
System Support
Security Team
Data Owner
Task
Page 22
<company_name> Security Design
Page 23
<company_name> Security Design
auth/no_check_in_som
This parameter is used to enable SU24 to activate authorization checks for
e_cases
transactions and to work with the Profile Generator. By default, the function is
inactive and the parameter value is N. To activate, the parameter should be
set to value Y.
login/ext_security
External security activated
auth/no_check_on_tco
This parameter is used to check on object S_TCODE. In certain cases, this
de
can be shut off, but this results in a big security risk for the system. By
default, the function is inactive, and the parameter value is N. To activate, the
parameter should be set to value Y.
Auth/tcodes_not_chec
Transaction codes that can run without the proper authorization. Examples
ked
maybe SU53 and SU56 that helps analyze authorization failures when a user
can’t run a transaction
XXX Values
Prod
QA
DEV
SAP Default
PARAMETER DESCRIPTION
Page 24
<company_name> Security Design
XXX Values
Prod
QA
DEV
SAP Default
PARAMETER DESCRIPTION
Rdisp/gui_auto_logout Specifies the number of seconds a user session 900 1800 1800 0
can be idle before being automatically logged off
by the system. Default is 0
Page 25
<company_name> Security Design
XXX Values
Prod
QA
DEV
SAP Default
PARAMETER DESCRIPTION
Page 26
<company_name> Security Design
Page 27
<company_name> Security Design
Page 28