Section 3 of 10

User Management and Authorization

User master records, roles and profiles, authorisation objects, tracing authorisation failures, and segregation of duties.

Open contents

Authorisation management is among the most audited parts of Basis. Controlling who can do what is basic internal control.

The user master

User types
TypePurposeCan log on?
DialogA human userYes
SystemBackground processing and RFCNot via GUI
CommunicationSystem-to-system RFCNot via GUI
ServiceAnonymous accessYes, multiple sessions
ReferenceCollects shared authorisationsNo

Roles and profiles

Kinds of role
KindContent
Single roleThe basic unit of authorisation
Composite roleSeveral single roles bundled by job function
Derived roleInherits authorisations, varying only organisational values

Derived roles suit the same job performed at different sites: one parent buyer role, derived per plant, so only the accessible plants differ and changes to the parent propagate.

Authorisation objects

An example object
M_BEST_WRK (purchase order / plant)

ACTVT: 01 create, 02 change, 03 display
WERKS: 1000, 2000

-> the user may create, change and display
   purchase orders for plants 1000 and 2000
Objects worth knowing
ObjectControls
S_TCODEWhich transactions may be started
S_PROGRAMWhich programs may be run
S_TABU_DISTable display and maintenance
S_DEVELOPAccess to development objects
S_USER_GRPUser administration
S_BTCH_JOBBackground job operations

Investigating authorisation failures

CodePurpose
SU53The last failed authorisation check; quickest
ST01Authorisation trace with full detail
STAUTHTRACELonger traces across several users
SUIMReports on users and roles

Segregation of duties

Combinations to keep apart
CombinationRisk
Create vendors and run paymentsInvent a vendor and pay it
Create purchase orders and post receiptsRecord deliveries that never happened
Raise credit memos and release billing blocksIssue fraudulent refunds
Create users and assign rolesGrant yourself unlimited access
Develop and transport to productionPut untested code live

๐Ÿ“– Unfamiliar term? Look it up in the SAP glossary.

Check your understanding

Test what you just read.

Quiz 1

Which transaction code is used to create and modify SAP users?

Quiz 2

Which transaction code is used for role creation and authorization assignment?

Quiz 3

A Dialog user is the user type used for interactive login via SAP GUI.

Quiz 4

Which user type is used for background processing and RFC communication?

Quiz 5

Which transaction checks the details of a recent authorization failure?

Quiz 6

It is recommended to assign authorizations to users through roles rather than directly.