SAP Security - Level 1
SAP Security - Level 1
SAP Security - Level 1
Table of Contents
BASIC TERMINOLOGIES
USER SETTINGS
ROLE MAINTENANCE BASICS
ROLE MAINTENANCE ADVANCE TOPICS
PROFILE PARAMETERS, SPECIAL USERS AND CRITICAL
AUTHORIZATIONS
CONTROLLING USER AND ROLE ADMINISTRATION
TROUBLESHOOTING AND ADMINISTRATION AIDS
TRANSPORTING AUTHORIZATION COMPONENTS
CONFIGURING ROLE MAINTENANCE TOOLS
PFCG INSTALLATION AND UPGRADE
ORGANIZATIONAL MANAGEMENT
SECURITY IN PROJECTS
Lesson 1
BASIC TERMINOLOGIES
Authorization
Integrity
Privacy
Ensuring liability and legal obligation towards stakeholders and shareholders including validation
Basic Terminologies
Application data is protected from unauthorized access using authorizations.
Application data is protected from unauthorized access using authorizations.
Authorizations are bundled into profiles which are assigned in the form of
Authorizations are bundled into profiles which are assigned in the form of
roles to the user master record.
roles to the user master record.
Roles are defined by an administrator to map business scenarios.
Roles are defined by an administrator to map business scenarios.
Business scenarios are made up of a group of activities which are
Business scenarios are made up of a group of activities which are
represented in the form of transactions within the roles.
represented in the form of transactions within the roles.
A user may have access to a single scenario or several scenarios depending
A user may have access to a single scenario or several scenarios depending
on the way the business flow is structured within the organization.
on the way the business flow is structured within the organization.
Similarly. A business scenario can be split into several roles depending upon
Similarly. A business scenario can be split into several roles depending upon
the complexity of the business process.
the complexity of the business process.
Splitting of roles is also important to segregate the duties amongst the
Splitting of roles is also important to segregate the duties amongst the
employees of an organization and thereby having more players to accomplish
employees
ofprocess
an organization
and This
thereby
having
players
to accomplish
a business
end to end.
reduces
themore
risk of
malpractices
within
a business
process end to end. This reduces the risk of malpractices within
the company.
the company.
Table USERS_SSM
Table
USERS_SSM
Switch the user menu and/or the SAP menu on or off as required.
Switch the user menu and/or the SAP menu on or off as required.
ALL_USER_MENUS_OFF , YES/NO
ALL_USER_MENUS_OFF , YES/NO
Values
Values
Fields
ACTVT
ICF_VALUE
RFCDEST
RFCTYPE
Values
Lesson 2
USER SETTINGS
User Settings
A user master record is a must for every
user to access the system. The record
also stores information used for
authentication. E.g. Password
User master records are client specific.
A user id is a 12 character identifier for an
SAP user.
P200USER
P200USER
24.08.2011
24.08.2011
Logon Data
Logon Data
Defaults
Defaults
Parameters
Parameters
P200USER
P200USER
24.08.2011
24.08.2011
Profiles
Profiles
Personalization
Personalization
License Data
License Data
User Type
System Users
System users (called CPIC users in older releases) are required for the
System users (called CPIC users in older releases) are required for the
internal communication of the systems. To increase the security of your
internal communication of the systems. To increase the security of your
system landscape, when you are creating system users, assign only
system landscape, when you are creating system users, assign only
greatly restricted authorizations, combined in special roles to the system
greatly restricted authorizations, combined in special roles to the system
users.
users.
In principle, one user ID (such as SAPCPIC) would be sufficient, and you
In principle, one user ID (such as SAPCPIC) would be sufficient, and you
could use it for all system users. However, with this situation, it would be
could use it for all system users. However, with this situation, it would be
practically impossible to change the password of the system users, or
practically impossible to change the password of the system users, or
simply to keep it secret, as there can be multiple utilizing RFC destinations.
simply to keep it secret, as there can be multiple utilizing RFC destinations.
So that you must only change the password of the relevant system user in
So that you must only change the password of the relevant system user in
one place when you are changing the password later, use a separate
one place when you are changing the password later, use a separate
system user for each RFC destination. This means that there are as many
system user for each RFC destination. This means that there are as many
system users in your system landscape as there are RFC destinations.
system users in your system landscape as there are RFC destinations.
No license fees apply to these system users.
No license fees apply to these system users.
Additional Features
Transaction SU10 can be used to maintain the user
master for a large number of users at once.
You can display change documents for users by
navigating to environment -> display changes.
User master record is stored in USR* tables.
Table USR02 is used to display logon data for the user
and it also stores some change logs like last logon date
for the user.
Change logs for the user are stored in USH* tables.
To effectively utilize the memory space occupied by the
tables in the database, the table data can be archived.
Lesson 3
Role
Roles are authorization containers that represent a specific part of an employees job. The role itself is
composed of different functions of the employee, which again is the sum of certain tasks inside these
functions.
Example: The job of a user is Head of the purchase dept. In his job he has different roles, such as being
a buyer. One of the functions of the buyer is to create purchase orders.
Job: Head of the purchase dept.
Role: Buyer
Function: Create Purchase Order (Referred to as a Transaction in SAP).
A user may have more than one role. The above user may also be responsible for maintaining the master
data relevant for purchasing.
He may also be responsible for vendor evaluation and rating.
With roles you can implement menus which the users can work with after logging on to the system.
If integrated with organizational management, roles can be assigned to jobs, positions and organizational
units.
Role
Role
Description
Description
Description
Description
SAP_CO_PC_JOB_SALESORDER
SAP_CO_PC_JOB_SALESORDER
Display Sales Orders
Display Sales Orders
Menu
Menu
Authorizations
Authorizations
Role Documentation
Role Documentation
User
User
View
ViewSimple maintenance (Workplace menu maintenance)
Simple
menu maintenance)
Basicmaintenance
maintenance(Workplace
(menus, profiles,
other objects)
Basic
maintenance
(menus, profiles,
other objects)
Complete
view (Organizational
Management
and workflow)
Environment Complete
SystemviewHelp
(Organizational Management and workflow)
Goto Utilities(M)
Goto Utilities(M)
Environment
System Help
Settings
Settings
Transactions in Roles
Shift + F9
Transactions in Roles
Shift + F9
Description
Menu
Authorizations
Transaction
Report
Transaction
Report
Authorization Default
Authorization Default
Role Menu
Role Menu
User Maintenance
UserMaintenance
BP - Maintain Business Partner
PFCG
BP
- Role
Maintenance
- Maintain
Business
Partner
SU01
PFCG
User
Maintenance
- Role
Maintenance
SA38
SU01
ABAP
Reporting
User
Maintenance
SE16
SA38
Data
Browser
ABAP
Reporting
SM30
SE16
Call
View Maintenance
Data
Browser
SM30 Call View Maintenance
Other
Other
User
MiniApps
Delete
Delete
Target System
Target System
CT1CLNT010
Dest.
CT1CLNT010
Dest.
Distribute
Distribute
Copy Menus
Copy Menus
From SAP Menu
From SAP Menu
From Other Role
From Other Role
From Area Menu
From Area Menu
Import from file
Import from file
Maintain Authorizations
PFCG automatically proposes the authorizations with default values in some
cases based on the transactions added in the role menu.
The authorization objects display Yellow or Green Traffic Lights based on whether
the authorization data has been maintained completely or partially.
The authorization objects for Organizational values are displayed in Red traffic
lights instead of Yellow if not maintained with values.
Manually
Manually
Open
Open
Changed
Changed
Maintained
Maintained
SAP_BC_BASIS_ADMIN
System Administrator
SAP_BC_BASIS_ADMIN
System Administrator
Manually
Cross Application Authorization Objects
Manually
Cross Application Authorization Objects
Basis Administration
Maintained
Basis Administration
Maintained
Maintained User Master Maintenance: User Groups
Maintained User Master Maintenance: User Groups
Maintained User Master Maintenance: User Groups
Maintained User Master Maintenance: User Groups
Activity
03,08
*
Activity
03,08
*
User Group in user master
*
User
Group in user master
maintenanc
*
maintenanc
Org. Levels
Org. Levels
AAAB
AAAB
BC_A
BC_A
S_USER_GRP
S_USER_GRP
T_YA67011010
T_YA67011010
ACTVT
ACTVT
CLASS
CLASS
Generate Authorizations
Finally once the authorizations are maintained they need to be generated to take effect.
On generation all the maintained authorizations are collected into a profile.
Since a profile can only hold a limited number of authorizations (150) , One role may
have several profiles. PFCG divides and creates these profiles automatically.
You can recognize these profiles from the fact that their names are identical for the first
10 characters, and an appended number starting with 1-99.
role:known
Authorizations
Change
They are also
as sequential profiles.
Manually
Manually
Open
Open
Changed
Changed
Maintained
Maintained
SAP_BC_BASIS_ADMIN
System Administrator
SAP_BC_BASIS_ADMIN
System Administrator
Manually Assign Profile
CrossName
Application
Authorization
Objects Profile
for Generated
Authorization
Manually Assign Profile
CrossName
Application
Authorization
Objects
for Generated Authorization Profile
Basis Administration
Maintained
You can
change
the default profile name here
Basis
Administration
Maintained
You can change
default
profile nameUser
hereGroups
Userthe
Master
Maintenance:
Maintained
T-12345678
Profile User
nameMaster
Maintenance: User Groups
Maintained
Profile
name T-12345678
Maintained
User Master
Maintenance:
User Groups
Profile
for role
SAP_BC_BASIS_ADMIN
Text
Maintained
User
Master
Maintenance:
User
Groups
Profile
for
role
SAP_BC_BASIS_ADMIN
Text
Activity
03,08
*
Activity
03,08
*
User Group in user master
ADMIN
*
User
Group in user master
maintenanc
ADMIN
*
maintenanc
Org. Levels
Org. Levels
AAAB
AAAB
BC_A
BC_A
S_USER_GRP
S_USER_GRP
T_YA67011010
T_YA67011010
ACTVT
ACTVT
CLASS
CLASS
Note : AGR_PROF only lists the main profile but does not list the automatically generated profiles in the role.
User Assignment
User tab page in PFCG is used to assign the roles
Utilities
System
Utilities
System
to the users.
Info object
InfoCustomizing
object
The validity dates can be set to a limited period of
auth
time if required.
Customizing
Settings auth
User master comparison is done to fill up the
Settings
Display Changes
authorization buffer tables (USRBF2) and also to
Display
Changes
Optimize
User Assignment
make to the time dependant authorizations effective.
Settings:User
RoleAssignment
maintenance
Optimize
There are three ways of performing a user master
Settings: Role maintenance
comparison:
Automatic User Master Adjustment when Saving Role
Automatic
User Master Adjustment when Saving Role
For an individual role on the users tab.
Menu: Do Not Insert Existing Entries. Standard: No
You can do it in mass for a large number of roles
Menu: Do Not Insert Existing Entries. Standard: No
using transaction PFUD
You can schedule a background job to run every
day during the non-working hours for the program
pfcg_time_dependency
Description
Description
Menu
Menu
Authorizations
Authorizations
User
User
Organizational Mgmt.
Organizational Mgmt.
User Assignments
User Assignments
User ID
User
ID
TCRUSE
TCRUSE
NKDMAN
NKDMAN
User Name
User
Name
Tom
Cruise
Tom
Cruise
Nicole Kidman
Nicole Kidman
MiniApps
MiniApps
User Comparison
User Comparison
From
From
21.10.2010
21.10.2010
21.02.2011
21.02.2011
To
To 22.05.2012
22.05.2012
31.12.9999
31.12.9999
In
C
In
C
Lesson 4
Customizing Roles
When building roles for the project team and especially for the
functional consultants it possible to restrict their access to the
specific project views of the IMG project.
Customizing roles can be built in PFCG by inserting
customizing authorization from Utilities > Customizing Auth.
Utilities
System
Utilities
System
Info object
InfoCustomizing
object
auth
Customizing
auth
Settings
Settings
Display Changes
Display
Changes
Optimize
User Assignment
Optimize User Assignment
Description
Description
Menu
Menu
Customizing Authorizations
Customizing Authorizations
Status: You have not assigned any Customizing objects
Status: You have not assigned any Customizing objects
Add
Add
Au
Au
Transaction
Report
Transaction
Report
Authorization Default
Authorization Default
Role Menu
Role Menu
Composite Roles
Composite roles are just role containers, they do not have any authorizations of their
own
Delete
There are two ways you can create the menu structure
Delete
There
arecomposite
two ways role:
you can
the menu
structure
of the
Youcreate
can either
recreate
the menu
of the
composite
Youmerge
can either
recreate
the of
menu
completely,
or role:
you can
it with
the menu
the
completely,
or you can merge it with the menu of the
single roles.
single roles.
Copy Menus
Copy Menus Do you want to recreate the composite role completely
you
wantthe
to recreate
the composite
role completely
or
merge
existing data
with the menu
data from the
ReadDo
Menu
or
merge
the
existing
data
with
the
menu
data
from the
single
roles?
Read Menu
single roles?
Re-import
Merge
Cancel
Re-import
Merge
Cancel
Role
ZDB_AIO_AP_CLERK
Description
Description
Authorizations
Menu
Description
Authorizations
Menu
Role Menu
Role Menu
User Maintenance
UserMaintenance
BP - Maintain Business Partner
PFCG
BP
- Role
Maintenance
- Maintain
Business
Partner
PFCG - Role Maintenance
Role
ZDB_AIO_AP_CLERK
Description
Description
Description
Authorizations
Menu
Authorizations
Menu
Transaction Inheritance
Transaction Inheritance
Z00_AIO_AP_CLERK
Derive from Role
AP Clerk Global
Delete Inheritance Relationship
Delete Inheritance Relationship
Information
Information
Individual maintenance of an organizational field using the "Maintain
Individual
maintenance
of an
organizational
fieldchange
using the
Field Values"
dialog box
makes
the following
for"Maintain
this field in
Field
dialog box makes the following change for this field in
thisValues"
authorization:
this authorization:
o Value maintenance using the dialog box "Define Organizational
o Value
maintenance
the the
dialog
box "Define Organizational
Levels"
no longer using
changes
value.
Levels" no longer changes the value.
o When adjusting derived roles, the authorization value is overwritten
o When adjusting derived roles, the authorization value is overwritten
You can reset the new status of the organizational field in this
Youauthorization
can reset thebynew
statusthe
of field
the organizational
in thisicon next
deleting
content using field
the delete
authorization
deleting the field content using the delete icon next
to the field by
name.
to the field name.
Do you want to maintain the organizational level field individually?
Do you want to maintain the organizational level field individually?
- The maintenance via the "Define organizational levels" dialog box no longer changes the
authorization values.
- As of Release 4.6B: When adjusting the authorization data of derived roles, the system
overwrites the authorization values in the derived roles.
Manually
Manually
Open
Open
Changed
Changed
Maintained
Maintained
SAP_BC_BASIS_ADMIN
System Administrator
SAP_BC_BASIS_ADMIN
System Administrator
Manually
Cross Application Authorization Objects
Manually
Cross Application Authorization Objects
Basis Administration
Maintained
Basis Administration
Maintained
Maintained User Master Maintenance: User Groups
Maintained User Master Maintenance: User Groups
Maintained User Master Maintenance: User Groups
Maintained User Master Maintenance: User Groups
Activity
03,08
*
Activity
03,08
*
User Group in user master
*
User
Group
in
user
master
maintenanc
*
maintenanc
Org. Levels
Org. Levels
AAAB
AAAB
BC_A
BC_A
S_USER_GRP
S_USER_GRP
T_YA67011010
T_YA67011010
ACTVT
ACTVT
CLASS
CLASS
Combining Authorizations
If several authorizations exist for one authorization object, the Profile Generator checks
If several
for one
authorization
object,
Generator
checksto be
whetherauthorizations
the status andexist
content
of the
combination
allow the
twoProfile
or more
authorizations
whether
theAutomatic
status andcompression
content of the
combination
allow two
or more
authorizations
to be
merged.
allows
optimal display
of the
authorization
list, and
merged.
Automatic
compression
allows
of the
list,profile.
and
prevents
unnecessary
data from
beingoptimal
saved display
in the role
andauthorization
the generated
prevents unnecessary data from being saved in the role and the generated profile.
Automatic combining during the merge process is only possible on authorizations with the
Automatic
combiningand
during
the merge process is only possible on authorizations with the
status "Standard"
"Maintained".
status "Standard" and "Maintained".
Changed and manual authorizations can be merged if they share an identical active status.
Changed and manual authorizations can be merged if they share an identical active status.
If this pre-requisite is fulfilled then two authorizations can be combined in the following
If this
pre-requisite is fulfilled then two authorizations can be combined in the following
cases:
cases: For all fields, one authorization is contained in the other.
The values of both authorizations differ in exactly one field, and are otherwise identical.
Deactivating Authorizations
It is useful for two reasons to deactivate the unwanted standard
It is useful for two reasons to deactivate the unwanted standard
authorizations:
authorizations:
Lesson 5
Customer Defined
System Default
Value
Parameter
Name
login/min_password_diff
Comment
min. number of chars which differ between old and new
password
login/min_password_digits
login/min_password_letters
login/min_password_lowercase
login/min_password_specials
login/min_password_uppercase
Parameter Name
login/min_password_lng
User-Defined
Value
login/password_expiration_time
60
login/password_history_size
10
login/password_logon_usergroup
login/password_max_idle_initial
15
login/password_max_idle_productive 60
Special Users
Special Users are the users
which are predefined in the SAP
systems with well known names
and passwords.
As a result they should be
protected from unauthorized
access.
There are two types of special
users: those created by
installing the SAP system and
those created when you copy
clients.
000, 001 and 066 clients are
created automatically during an
SAP installation.
login/no_automatic_user_sapstar
login/no_automatic_user_sapstar
Short description
Short description
Appl. area
Appl. area
Default value
Default
value
Profile
value
Profile
value
Current value
Current value
SAP* is defined in the SAP system code and does not require a user master record.
SAP*
is defined
in the access
SAP system
andand
does
require
a user master
It has
got unlimited
to thecode
system
thenot
default
password
is pass.record.
It has
got installation
unlimited access
to the
system
andfor
the
default
password
is pass.
During
the user
master
record
SAP*
is created
in client
000 and 001 with initial password
During
installation
the
user
master
record
for
SAP*
is
created
in
client
000
with initial
password
as 06071992, The installation can proceed only after the admin has resetand
the001
password
for the
user.
as
06071992,
The
installation
can
proceed
only
after
the
admin
has
reset
the
password
for
the
user.
This master record created in the system for SAP* deactivates the special authorizations for the user and
This
master
record
created
in the systemtofor
now
only the
assigned
authorizations
theSAP*
userdeactivates
would apply.the special authorizations for the user and
now
only
the
assigned
authorizations
to
the
user
would
Creation of user master record for SAP* is one way ofapply.
preventing unauthorized access with the user.
Creation
of
user
master
record
for
SAP*
is
one
way
of
preventing
withcode
the user.
If you delete the user master record for SAP*, then the standardunauthorized
user definedaccess
in system
becomes
If you
delete
userpassword
master record
for SAP*, then the standard user defined in system code becomes
active
withthe
default
PASS.
active
with
default
password
The
user
now has
completePASS.
authorization.
The
user
now haspassword
completePASS
authorization.
The
standard
cannot be changed.
The standard password PASS cannot be changed.
Text
Text
Check Indicator for Checking
Add Tcode
Delete Tcode
Add Tcode
Delete Tcode
Calling Transaction : FS00
Description: GL account master record maintenance
Exce.
Check
Indicator
Checking
S_TCODE
in for
CALL
TRANSACTION
S_TCODE in CALL TRANSACTION
Check Message
Ind
Type
Use
Use
The check indicator determines
The
check indicator
determines
whether
a transaction
start
whether
a
transaction
start
authorization check (that is, an
FD01
Create Customer (Accounting)
YES
authorization
check
(that
is, anthe object
authorization
check
against
FSP0
G/L acct master record in chrt/accts
YES
authorization
against
the object
S_TCODE check
with the
transaction
code of
FSS0
G/L account master record in co code
YES
S_TCODE
with
the
transaction
code
of
the called transaction, and additional
KA01
Create Cost Element
theauthorization
called transaction,
additional
checksand
entered
in
KA02
Change Cost Element
authorization
entered
in
transactionchecks
SE93 for
the transaction,
if
KP65
Create Cost Planning Layout
YES
transaction
SE93
forbe
theperformed
transaction,
if
appropriate)
is to
when
appropriate)
is
to
be
performed
when
the ABAP statement CALL
For every transaction that is executed from the menu tree, favorites or from the the ABAP statement CALL
TRANSACTION is run.
Forcommand
every transaction
that isisexecuted
from
favorites
or from
the the TRANSACTION is run.
field, a check
performed
by the
the menu
kerneltree,
for the
transaction
against
You can enter the following values:
command
field, aobject
checkS_TCODE
is performed
kernel
authorization
for by
thethe
field
TCD.for the transaction against the
You
canAn
enter
the following
values:
Yes:
authorization
check
is
authorization
object
S_TCODE
for athe
field TCD.MIGO, the system will only allow to
For example
if a user
executes
transaction
Yes:
An
authorization
check
is
performed when the ABAP statement
Forproceed
examplefurther
if a user
executes
transaction MIGO,
system will
only allow
to
if he
has the aauthorization
for the the
transaction
in object
S_TCODE.
performed
when the ABAPisstatement
CALL TRANSACTION
run
proceed
if he has
the authorization
for the
transaction in object S_TCODE.
Therefurther
are however
exceptions
to the above
rule:
CALL
TRANSACTION
is
run
No: No authorization check is
There
are however
to the
above
rule: or transaction using statement CALL
Transactions
thatexceptions
are called from
another
program
No:performed
No authorization check is
TRANSACTION
Transactions
that are called from another program or transaction using statement CALL
TRANSACTION
Report Transactions which are started using SUBMIT action from SA38 are checked
performed
SPACE (empty): One of the above
against
authorization
object
Report
Transactions
which
areS_PROGRAM.
started using SUBMIT action from SA38 are checked
SPACE
One
of the
above
check(empty):
indicators
is yet
to be
set. In the
against
authorization
object S_PROGRAM.
Parameter
transactions
that eventually call core transaction codes (Table TSTCP). Core
check
indicators
is
yet
to
be
set.
In the
current release, no authorization
check
transactions
are not protected
by S_TCODE.
Parameter
transactions
that eventually
call core transaction codes (Table TSTCP). Core
current
release,
no
authorization
check
transactions are not protected by S_TCODE.
is performed.
is performed.
FB01
Post Document
YES
ZCOMPANY
ZCOMPANY
Company Code
Company Code
COMPANY
COMPANY
Company Code
Company Code
ZORGTABLE
ZORGTABLE
COMPANY
COMPANY
ZCOMPANY
ZCOMPANY
Programs like tables are protected against unauthorized access using authorization
groups.
Authorization group is stored in program attributes.
Program authorization groups can be maintained using report RSCSAUTH
The following activities are controlled:
SUBMIT : To start a program execution
BTCSUBMIT : Schedule a program as a background job.
VARIANT : To create and execute a program as a variant.
Lesson 6
BC_A
BC_A
S_USER_GRP
S_USER_GRP
T_YA67011010
T_YA67011010
ACTVT
ACTVT
CLASS
CLASS
S_USER_GRP
S_USER_GRP
T_YA67011010
T_YA67011010
ACTVT
ACTVT
CLASS
CLASS
User
Group
: INDUSER Roles Z.IN* and Single Roles ZIN*
Roles
: Composite
Roles : Composite Roles Z.IN* and Single Roles ZIN*
Lesson 7
02
02
1000
Users authorization Data USER01 1000
Users authorization Data USER01
Authorization object M_LFM1_EKO
Authorization
object
M_LFM1_EKO
Authorization
T-C01001045689
Authorization
T-C01001045689
Profile T-C0100104
Profile
RoleT-C0100104
Z_MASTER_DATA Master Data Admin
Role
Z_MASTER_DATA
Master Data Admin
Authorization Field ACTVT
Authorization Field ACTVT
02,03,08
02,03,08
Authorization Field EKORG
Authorization Field EKORG
2000
2000
AUTH
AUTH
AUTH
AUTH
AUTH
F_LFA1_APP RC=0
F_LFA1_APP
RC=0
F_LFA1_GEB
RC=0
F_LFA1_GEB
RC=0
M_LFM1_EKO RC=4
APPKZ=M; ACTVT=08
APPKZ=M;
ACTVT=08
ACTVT=08;
ACTVT=08;
EKORG=1000:ACTVT=08;
07:03:09
AUTH
M_LFM1_EKO RC=4
EKORG=1000:ACTVT=08;
Text
Lesson 8
TRANSPORTING AUTHORIZATION
COMPONENTS
Transporting Roles
Upload/Download Roles
Normally it is only possible to exchange data with
Normally
it is only possible to exchange data with
transport requests between SAP systems with the same
transport requests between SAP systems with the same
release status. For example, if roles have to be
release status. For example, if roles have to be
exchanged across releases, this can be done by
exchanged across releases, this can be done by
downloading or uploading roles.
downloading or uploading roles.
When you download the data, it is all stored in a local file,
When
you download the data, it is all stored in a local file,
with the exception of the generated authorization profiles
with the exception of the generated authorization profiles
and the user assignments.
and the user assignments.
After an upload, the role might have to be edited and
After
an upload, the role might have to be edited and
generated.
generated.
You can save multiple roles in a local file at the same
You
can save multiple roles in a local file at the same
time by choosing Utilities Mass download.
time by choosing Utilities Mass download.
Transporting Users
Start immediately
Start immediately
Start immediately
Start immediately
Lesson 9
Adjusting SU24
Authorization Authorization Authorization Changed Modification
Name Authorization Object Fld.
Value
Value
by
Date
MB03 M_MSEG_BMB
ACTVT
03
SAP
30.08.2004
MB03 M_MSEG_BMB
BWART
SAP
30.08.2004
MB03 M_MSEG_LGO
ACTVT
03
SMITHJ 17.09.2005
MB03 M_MSEG_LGO
BWART
SMITHJ 17.09.2005
MB03 M_MSEG_LGO
LGORT
SMITHJ 17.09.2005
Transaction Code
Object
St
Object
Modification
Time
14:29:40
14:29:40
15:33:40
15:33:40
15:33:40
MODIFIED
X
X
X
ME21N
Check Indicator
Proposal
Field Values
Object
K_CSKS_SET
K_KEKO
M_ANFR_BSA
M_ANFR_EKG
Check
Set Status Yes
User
Name
Check Ind.
Flag
Do Not
Check
Set Status No
CO-CCA Cost Center Groups
Check
NO
Set Status New UnMaintained
CO-PC Product Costing
Check
NO
Document Type in RFQ
Check
NO
Purchasing Group in RFQ
Check
NO
Object
M_BEST_BSA
M_BEST_BSA
M_BEST_BSA
M_BEST_BSA
Field Name
ACTVT
ACTVT
ACTVT
BSART
Change
From
01
02
03
To
Authorization Checks
To ensure that a user has the
appropriate authorizations when he
or she performs an action, users are
subject to authorization checks.
The following actions are subject to
authorization checks that are
performed before the start of a
program or table maintenance and
which the SAP applications cannot
avoid:
Starting SAP transactions
(authorization object S_TCODE)
Starting reports (authorization object
S_PROGRAM)
Calling RFC function modules
(authorization object S_RFC)
Table maintenance with generic tools
(S_TABU_DIS)
In addition to use transaction SU24 to display default field values, you can also use
it to reduce authorization checks at runtime.
This has the effect of not performing an authorization check on a specific
authorization object.
You should be careful when deciding which authorization checks to suppress. By
suppressing authorization checks, you allow users to perform tasks for which they
are not explicitly allowed.
For an authorization check to be executed, it must be included in the source code
of a transaction and must not be explicitly exempt from the check.
You can suppress authorization checks without changing the program code, as
check indicators control authorization checks.
Transaction Code
Transaction Code
Object
Object
St
St
Object
Object
Object
Object
K_CSKS_SET
K_CSKS_SET
K_KEKO
K_KEKO
M_ANFR_BSA
M_ANFR_BSA
ME21N
ME21N
Check Indicator
Proposal
Field Values
Check Indicator
Proposal
Field Values
Check
User
Name
Check Ind.
Flag
Check
Do Not
Check
User
Name
Check
Ind.
Flag
Cost Center Groups
Check
NO
DoCO-CCA
Not
Check
CO-CCA
Cost
Center
Groups
Check
NO
CO-PC Product Costing
Check
YS
CO-PC
Product
Costing
Check
YS
Document Type in RFQ
Check
NO
Document Type in RFQ
Check
NO
Lesson 10
Auth/no_check_in_some_cases
Auth/no_check_in_some_cases
Short description
Short description
Appl. area
Appl. area
Default value
Default
value
Profile
value
Profile
value
Current value
Current value
TR
TR
TR
TR
TR
TR
TR
TR
TR
TR
TR
M_BANF_EKO
M_BANF_WRK
M_BEST_BSA
M_BEST_EKG
M_BEST_EKO
M_BEST_WRK
M_EINF_EKO
M_EINF_FRG
M_INFO_MCD
M_IS_KENNZ
M_MATE_CHG
SAP
SAP
SAP
SAP
SAP
SAP
SAP
DDIC
SAP
SAP
SAP
30.08.2010 13:00:00
X
30.08.2010 13:00:00
X
30.08.2010 13:00:00
Y
30.08.2010 13:00:00
Y
30.08.2010 13:00:00
Y
30.08.2010 13:00:00
Y
Checkfl
Short
Description
30.08.2010 13:00:00
X
Checkfl Short Description
01.02.2011 15:03:00
X
N
No
authorization
check
30.08.2010 13:00:00
X
N X
NoAuthorization
authorization check
check takes place
30.08.2010 13:00:00
X
X
Authorization
30.08.2010
13:00:00
X check takes place
U
Not maintained
USOBX_C
USOBX_C
U Y
Y
ME21N
ME21N
ME21N
ME21N
ME21N
ME21N
ME21N
ME21N
ME21N
ME21N
ME21N
ME21N
ME21N
TR
TR
TR
TR
TR
TR
TR
TR
TR
TR
TR
TR
TR
M_BEST_BSA
M_BEST_BSA
M_BEST_BSA
M_BEST_BSA
M_BEST_BSA
M_BEST_BSA
M_BEST_EKG
M_BEST_EKG
M_BEST_EKG
M_BEST_EKG
M_BEST_EKG
M_BEST_EKG
M_BEST_EKG
ACTVT
ACTVT
ACTVT
ACTVT
ACTVT
BSART
ACTVT
ACTVT
ACTVT
ACTVT
ACTVT
EKGRP
ACTVT
01
02
03
08
09
01
02
03
08
09
$EKGRP
01
NotAuthorization
maintained check takes place, default values in
Authorization
takes place, default values in
USOBT Notcheck
maintained
USOBT Not maintained
SAP
DDIC
DDIC
DDIC
SAP
SAP
SAP
DDIC
DDIC
DDIC
SAP
SAP
SAP
USOBT_C
USOBT_C
St
Object
Object
ME21N
ME21N
Object
Object
K_CSKS_SET
K_CSKS_SET
K_KEKO
K_KEKO
M_ANFR_BSA
M_ANFR_BSA
M_ANFR_EKG
M_ANFR_EKG
Check Indicator
Proposal
Field Values
Check Indicator
Proposal
Field Values
Check
Set Status Yes
User
Name
Check Ind.
Flag
Check
SetSet
Status
Yes
Do Not
Check
Status
No
User
Name
Check
Ind.
Flag
Cost Center Groups
Check
NO
DoCO-CCA
Not Check
SetSet
Status
No
Status
New UnMaintained
CO-CCA
Cost
Center
Groups
Check
NO
CO-PC Product Costing Set Status New
Check
NO
UnMaintained
CO-PC
Product
Costing
Check
NO
Document Type in RFQ
Check
NO
Document
Type
in
RFQ
Check
NO
Purchasing Group in RFQ
Check
NO
Purchasing Group in RFQ
Check
NO
Object
Object
M_BEST_BSA
M_BEST_BSA
M_BEST_BSA
M_BEST_BSA
M_BEST_BSA
M_BEST_BSA
M_BEST_BSA
M_BEST_BSA
Field Name
Field
Name
ACTVT
ACTVT
ACTVT
ACTVT
ACTVT
ACTVT
BSART
BSART
Change
Change
From
From
01
01 02
02 03
03
To
To
St
St
Object
Object
A_A_VIEW
A_A_VIEW
A_S_ANLKL
A_S_ANLKL
A_S_KOSTL
A_S_KOSTL
C_STUE_BER
C_STUE_BER
Object Description
Object
Description
Asset
View
Asset
View
Asset Master Record Maint. (Ccode/Asset Class)
Asset
Master
Record
Maint.
(Ccode/Asset
Class)
Asset
Master
Record
Maint.
(Ccode/Cost
Center)
Asset
Master
Record
Maint.
(Ccode/Cost
Center)
CS BOM Authorizations
CS BOM Authorizations
Security Upgrade
Installing the Profile generator
Installing the Profile generator
Transport Conn.
Transport Conn.
Migration
of Profile
report trees
Check of
Generator
Check
of
Profile
Generator
activation
activation
Upgrade of the roles and default
Upgrade
of the roles
default
tables (SU25,
stepsand
2A-2D)
tables
(SU25, steps
2A-2D)created
Conversion
of manually
Conversion
manually
created
profiles to of
roles
if necessary
profiles
to step
roles6)
if necessary
(SU25,
(SU25, step 6)
Upgrade - Scenarios
Thereare
arealways
alwaystwo
twopossibilities:
possibilities:
There
Sourcerelease
releasedid
didnot
notuse
usePFCG
PFCG
Source
PG needs to be activated.
PG needs to be activated.
Sourcerelease
releaseused
usedPFCG
PFCG(>3.1G)
(>3.1G)
Source
youare
areusing
usingPG
PGfor
forthe
thefirst
firsttime:
time:
IfIfyou
Youcan
canstart
startbuilding
buildingyour
yourroles
rolesusing
usingPG
PG
You
Convertthe
themanual
manualprofiles
profilesinto
intoroles
rolesusing
usingstep
step6 6
Convert
SU25.
ofofSU25.
Transport Conn.
Transport Conn.
SAP_NEW
SAP_NEW
Comp profile
Comp profile
New authorization checks
New authorization checks
Active
Active
DDIC
DDIC
Consisting of Profiles
Consisting of Profiles
Profile
SAP_NEW_21C
SAP_NEW_21D
SAP_NEW_22A
SAP_NEW_30A
SAP_NEW_30B
SAP_NEW_30C
SAP_NEW_30D
SAP_NEW_30E
SAP_NEW_30F
SAP_NEW_31G
SAP_NEW_40A
Text
Authorizations for new objects added Rel. 2.1C
Authorizations for New Objects Added Rel. 2.1D
Authorizations for New Objects Added Rel. 2.2A
Authorizations for New Objects Rel. 3.0A
Authorizations for New Objects Rel. 3.0B
Authorizations for New Objects in Release 3.0C
Authorizations for new objects in Release 3.0D
Authorizations for New Objects in Release 3.0E
Authorizations for new objects in Release 3.0F
Authorizations for New Objects in Release 3.1G
Authorizations for New Objects in Release 4.0A
Lesson 11
ORGANIZATIONAL MANAGEMENT
Organizational Management
Overtime people change positions, departments and collect
authorizations for their new areas of work. If the user administrator
forgets to remove the authorizations for the users older departments
or positions then the user keeps on receiving more authorizations.
Buyer
Accounts
Clerk
Warehouse
Manager
Buyer
Accounts
Clerk
Warehouse
Manager
Organizational Plan
An organizational plan represents a
functional organization and reporting
structures between positions in an
Holder(s)
enterprise.
Organizational Managements objectoriented design provides you with a
number of organizational objects with
which you create organizational plans.
At the center of an organizational plan
Holder(s)
are organizational units(departments, for
example) arranged in a hierarchy that
mirrors the structure of your enterprise.
Other organizational units such as
positions(sales administrator, for
example) depict your enterprises
Holder(s)
reporting structure. Objects such as jobs,
tasks, and work centers are the building
blocks of your organizational plan.
By relating objects via relationships, you
create a network that mirrors your
In addition toand
this,
you canstructures.
create relationships to objects from other components (cost
organizational
reporting
center, employee or R/3 User, for example).
Theallows
Organizational
Structure
you to build
up and window
maintain the
allows
you to buildstructure
up and maintain
organizational
for your the
organizational
structure
for
your
organizational plan.
plan.
organizational
The Staff Assignments
window allows
Theyou
Staff
Assignments
window
allows
to identify the fundamental
staffing
youdetails
to identify
the fundamental
staffing
required
for an organizational
details
plan.required for an organizational
plan.
The Task Profile window allows you to
Theassign
Task Profile
allows you to
roles towindow
jobs, positions,
assign
roles to jobs,
positions,
organizational
units,
and holders of
organizational
units,
and
holders
of are
positions (users). Workflow
Tasks
positions
(users). at
Workflow
Tasks
are
also assigned
this level,
however,
also
assigned
at related
this level,
however,
these
are not
to authorizations.
these are not related to authorizations.
Organizational Structure/Change
Organizational Structure/Change
Org. Unit
Plan version 01 Current plan
Org. Unit
Plan version 01 Current plan
Department 2510/000/000
Search Term
2510/000/000
Search
TermSearch DepartmentDepartment
Marketing
Structure
Department
Marketing
Structure Search
Department Finance
Department
Finance
Department
Logistics
Department Logistics
Staff Assignments/Change
Staff Assignments/Change
Org. Unit
Plan version 01 Current plan
Org. Unit
Plan version 01 Current plan
Search Term
Department Marketing (Org Unit)
Search
Term
Department
Marketing (Org Unit)
Structure Search
Sales Mgr Marketing (Position)
Sales Mgr Marketing (Position)
Lisa Kudrow (Person/user)
Lisa Kudrow (Person/user)
Task Profile/Change
Task Profile/Change
Org. Unit
Plan version 01 Current plan
Org. Unit
Plan version 01 Current plan
Department Marketing (Org Unit)
Search Term
Department
Marketing (Org Unit)
Search
Term
Structure Search
Change invoice status (Task)
Structure Search
Change
invoice
(Task) (Task)
Change
stat.status
of confirmation
Position
Change
stat. of
confirmation (Task)
Position
Job
Employee
(Role)
JobUser
Employee (Role)
User
Settings
Settings
View
View
Simple maintenance (Workplace menu maintenance)
Simple
menu maintenance)
Basicmaintenance
maintenance(Workplace
(menus, profiles,
other objects)
Basic
maintenance
(menus,
profiles,
other
objects)
Complete view (Organizational Management
and workflow
Complete view (Organizational Management and workflow
Role
Role
Job
Job
S 50004151 Sales Manager - Marketing
Position
S 50004151 Sales Manager - Marketing
Position
CP 50003346 Lisa Kudrow
Person
CP 50003346 Lisa Kudrow
Person
O 90000755 Department Marketing
Org. Unit
O 90000755 Department Marketing
Org. Unit
S 50004151 Sales Manager - Marketing Position
S 50004151 Sales Manager - Marketing Position
CP 50003346 Lisa Kudrow
Person
CP 50003346 Lisa Kudrow
Person
AG /SAP/EMPLOYEE
EMPLOYEE
AG /SAP/EMPLOYEE
EMPLOYEE
C 50004150 Sales Manager
C 50004150 Sales Manager
Lesson 12
SECURITY IN PROJECTS
Implementation Methodology
Blueprint Phase
The blueprint phase for the authorizations may start only after the business blueprint is
done.
This is because the authorizations can be analyzed and conceptualized only after the
business processes are documented.
The main steps during this phase are:
Analyze the business process with the project team
Determine the various job roles and activities to be included within the roles.
Prepare a list of the roles for the business process and list the activities for each
role.
Determine an ideal design for the job roles
Determine an naming convention for the roles.
The Process Master List is a document which forms a basis for this phase. It
documents all the activities that are performed during a business process. These
activities are mapped with SAP transactions in this list.
This list should be ready and signed off to start working on the job roles.
The authorizations team along with the business process owners would work on
grouping these activities to form the job roles.
A-LM059_LXX
LM
A-AP001_LXX
AP
A-AP002_LXX
AP
A-AP003_LXX
AP
A-AP004_LXX
AP
A-AP010_LXX
AP
Determine MB1B/MIGO
Putaway
Location
Requisitione FK03
r checks
SAP for
Vendor
Existence
Request to N/A
create/chan
ge Vendor
Master Data
Purchasing N/A
Complete
Vendor
Creation
Form for AP
Terms of
N/A
Payment
request
Maintain
FK01, FK02, XK01, XK02
Vendor
Master
System
Type
(for
Activities
only)
SAP R/3
SAP R/3
Manual
Manual
Manual
SAP R/3
Derived roles are only helpful initially for small roles (or individual tasks) which truly are exactly the same (except for the org
or other element of a common object). If you are planning some major acquisitions and diversity in your production locations
and sales organizations, then derived roles might be an option for a "Just One Company Code" system, but your business
areas and other org elements will be forced to some extent to have the same business processes or your roles will provide
too much access for the others when one of them wants something special. You will become inflexible and over time the
differences will destroy your concept very easily.
One would want to create a common set of roles which contains the required org level authorizations for the various roles and
then create a second set of roles for the functions in the different business areas and add the differentiated org elements to
them. Make sure that the transaction you select actually also use these. What you have is a transactional role containing all
the transactions & auth objects. You then create a separate role with manually added auth objects that contain all the auth
objects that are relevant for restriction. You then disable those objects in the transactional role. This way you have 2 roles,
one providing transactional content & the other providing all your restrictions.
One of the perceived benefits is that you only have 1 role containing restriction data and this can be applied to all users.
You then give them different transactional roles depending on what transactions they need etc.
Downsides to this are:
Increased complexity: It can be a steep learning curve for a new administrator in the company.
Reduced security: Security is based on 2 levels, S_TCODE & object level. If you are creating a single value role (or
even a few of them) they are going to contain more auth objects than are needed for the respective transactional roles.
SOD analysis: It makes analysis and reporting at role level more complex.
Breaking SAP security setup: When you take this approach you may be breaking the link between PFCG and SU24.
Also we have to decide whether we have one single role with all the transactions or break them up into smaller roles. They
have their Pros and Cons as mentioned below:
It might be desirable for users to only have one role (in addition to a "common role for all users"). This way SoD
analysis can concentrate on analyzing authorizations within single role designs, without the added complexity of doing
role to role comparisons
Smaller roles can be used across multiple functions thus limiting the total number of roles can have a dramatic impact
on the total maintenance effort. When designed the right way.
A big role (per position) is avoiding redundancy of transactions in various smaller roles where they could easily have
different values on object level.
Naming Convention
Role Documents
Realization Phase
Start building the job roles in the system as per the role
Start
building the job roles in the system as per the role
documents.
documents.
Informal screening of the roles by the functional team is
Informal
screening of the roles by the functional team is
recommended during this phase to ensure that the
recommended during this phase to ensure that the
authorizations are being set as desired.
authorizations are being set as desired.
Prepare test users per role/per module.
Prepare
test users per role/per module.
Changes to the transactions within the role and addition /
Changes
to the transactions within the role and addition /
removal of job roles in the list is expected during this
removal of job roles in the list is expected during this
phase.
phase.
Define the test scripts for testing the authorizations in the
Define
the test scripts for testing the authorizations in the
next phase.
next phase.
Final Preparation