How-To Guide
How-To Guide
How-To Guide
SAP NetWeaver®
Identity Management
Implementation guide
- Creating role approvals
The product
SAP NetWeaver Identity Management Identity Center is the primary component for identity
management. The Identity Center includes functions for identity provisioning, workflow, password
management, logging and reporting. It uses a centralized repository, called the identity store, to
provide a uniformed view of the data, regardless of the data's original source.
The reader
This manual is written for people who want information about role approvals (using pending value
objects).
Prerequisites
To get the most benefit from this manual, you should have the following knowledge:
General knowledge about the Identity Center, including roles.
The following software and configuration is required:
SAP NetWeaver Identity Management Identity Center 7.2 SP8 or later with the 7.2 approval
mechanism enabled.
An identity store that is enabled for the Identity Management User Interface.
Person entries in the identity store that can be given role assignments.
An Identity Management User Interface (running on Enhancement Package 1 for SAP
NetWeaver Composition Environment 7.1, SAP NetWeaver Composition Environment 7.2 or
SAP NetWeaver 7.3) that is correctly configured for the identity store.
Role definitions.
The manual
This guide describes how an approval of a pending role assignment can be implemented.
Related documents
You can find useful information in the following documents:
SAP NetWeaver Identity Management Identity Center help file
SAP NetWeaver Identity Management Identity Center Tutorial: Working with roles and privileges
Document History
Document Version Description
4 Added sections about re-authentication and approval management
Icons
Icon Description
Caution
Important
Note
Recommendation or Tip
Example
Table of contents
1 Introduction .....................................................................................................................1
1.1 The Validate Event Tasks .........................................................................................1
1.2 The Pending Value Object ........................................................................................1
1.3 The Approver(s) ........................................................................................................2
1.4 Use Cases ................................................................................................................2
2 Configuring Simple Approvals........................................................................................3
2.1 The Member Event Task ...........................................................................................3
2.2 The Sample Roles ....................................................................................................4
2.3 Configuring the Approver on the Role........................................................................5
2.4 Configuring the Approvers on the Task .....................................................................9
2.5 Configuring the Approvers on the Pending Value Object (Manager Approval/Role
Owner Approval) .....................................................................................................10
3 Configuring Escalations................................................................................................14
3.1 Configuring the Escalation Approvers on the Task .................................................. 14
3.2 Configuring the Escalation Approvers on the Role ...................................................15
3.3 Configuring the Escalation Approvers on the Pending Value Object ........................ 16
4 Configuring Parallel (Multiple) Approvals .................................................................... 17
4.1 Configuring the Approval Task ................................................................................17
4.2 Processing the Approval .........................................................................................18
5 Using the Notification Task ...........................................................................................19
5.1 Configuring the Approval Task ................................................................................19
5.2 Receiving a Notification Message............................................................................ 20
6 Configuring Sequential (Multi-Level) Approvals ..........................................................21
6.1 Manager/Role Owner Approval ...............................................................................21
7 Delegating (Forwarding) an Approval Manually ........................................................... 25
7.1 Configuring the Approval Task ................................................................................25
7.2 Forwarding the Approval .........................................................................................26
7.3 Processing the Approval .........................................................................................27
7.4 Viewing Request Details .........................................................................................28
8 Configuring Automatic Delegation ...............................................................................29
8.1 Enabling Automatic Delegation from the "To Do" Tab .............................................. 29
8.2 Disabling Automatic Delegation from the "To Do" tab .............................................. 30
8.3 Enabling Automatic Delegation from a Task ............................................................ 31
8.4 Disabling Automatic Delegation from a Task ...........................................................32
9 Configuring a Conditional Approval ............................................................................. 33
9.1 Specifying the Criteria .............................................................................................33
9.2 The Switch Task .....................................................................................................34
9.3 Configuring the Role ...............................................................................................37
9.4 Configuring the User ...............................................................................................37
9.5 Processing an Approval ..........................................................................................38
9.6 The "DefineApprovalType" Script ............................................................................ 39
10 Using uIS_Approval to Remove an Approver ..............................................................42
10.1 Configuring the Job .................................................................................................42
10.2 Running the Job......................................................................................................45
11 Requiring Re-Authentication ........................................................................................47
11.1 Processing the Approval .........................................................................................47
12 Managing Approvals .....................................................................................................48
12.1 Listing Pending Approvals .......................................................................................48
12.2 Finding Approvals Using Advanced Search ............................................................. 49
12.3 Declining a Pending Approval ................................................................................. 50
12.4 Escalating a Pending Approval................................................................................51
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
1 Introduction
The purpose of this document is to describe how to configure approval of role/privilege assignments. It
does not describe how to configure basic approvals (any other approval than for assignments, for
instance approving an attribute modification).
This document is based on the 7.2 approval mechanism introduced with SAP NetWeaver Identity
Management 7.2 SP4. For an overview of approval processing using this mechanism, see the topic
"About approval processing" in the help file for the Identity Center Management Console.
If the 7.2 approval mechanism is not already enabled for the Identity Center, it must be enabled. See
SAP NetWeaver Identity Management Identity Center: Installing the database (Microsoft SQL Server)
or SAP NetWeaver Identity Management Identity Center: Installing the database (Oracle). The
documents are available from the Service Marketplace.
Never delete a pending value object, as that will leave the system in an inconsistent
state.
For more details about the pending value object and the attributes, see the document SAP NetWeaver
Identity Management Identity Center Identity store schema.
May 2013 1
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
May 2013 2
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
The "Role approval" task is defined as a public ordered task group, with only the default configuration:
May 2013 3
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
The value in the "Execute" list indicates when the Validate add task is called, and is only relevant is
the assignment has Valid from defined (i.e is not effective immediately). In this case, the "Execute"
setting can be either:
Immediately
The Validate add task is executed immediately, regardless of the Valid from value of the
assignment.
When valid
The Validate add task is not executed until the Valid from is reached.
Inherited
The value defined on the repository will be used.
May 2013 4
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
In this case one specific user is defined as approver for this role. This could have been a reference to
another role, and all members of this role would have received the approval request.
The approvers are stored on the attribute MX_APPROVERS on the role. It can also be added by
executing a task in the Identity Management User Interface or from a job.
May 2013 5
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
May 2013 6
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
Select the "Request Information" tab to display details about the request:
May 2013 7
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
Select the "Approval Information" tab to see information about other approvers:
May 2013 8
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
May 2013 9
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
May 2013 10
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
The role owner can be one or more user entries, roles or privileges.
The approvers are defined with the attribute MX_APPROVERS on the pending value object. We use
the syntax TARGET.MX_OWNER to reference the value of the attribute MX_OWNER of the role.
For more information about this syntax, see the topic "Including attributes from referenced entries
when processing pending value objects" in the help file for the Identity Center Management Console.
Changing this attribute after the approval task has started has no effect on the approvers for this
specific approval, but will take effect for approvals created after the change.
May 2013 11
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
May 2013 12
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
We use the syntax SUBJECT.MX_MANAGER to add the manager of the user to the attribute
MX_APPROVERS of the pending value object.
For more information about this syntax, see the topic "Including attributes from referenced entries
when processing pending value objects" in the help file for the Identity Center Management Console.
May 2013 13
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
3 Configuring Escalations
In this section, we describe how to configure escalations if the assignment request is not processed
within the defined time limit.
May 2013 14
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
The fields "Timeout", "Timeout rule", "Max no of escalations" and "Escalation timeout" are filled in in
the same way as in the previous example.
But as the approvers are defined on the role, the escalation approvers have to be added there, using
the attributes MX_ESCALATION_APPROVERS_1/2/3.
Here we have defined a task to configure the role:
The escalation approver is defined on the attribute "Escalation approvers, level 1".
May 2013 15
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
May 2013 16
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
May 2013 17
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
May 2013 18
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
May 2013 19
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
May 2013 20
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
In the first approval, the manager is added as an approver by the action task before the approval task
is executed.
In the second approval, the role owner is added before the approval task is called.
If the first approval is declined, the whole assignment request is declined.
May 2013 21
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
Both these tasks use a To identity store pass in the same way as in section 2.5.2 and 2.5.3:
Both approval tasks are configured to get approvers from the pending value object:
You could add any timeout/escalation handling to the approval task as well.
May 2013 22
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
May 2013 23
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
When the manager approves the assignment request, the role owner receives the approval:
The role owner can see that the manager already approved the request.
May 2013 24
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
May 2013 25
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
Show
Select the entry type of the user. The default value is "Person". Only entry types defined as "Identity
entry type" are shown in the list.
and find
Enter (parts of) a user name and choose "Go".
The matching entries are shown in the list below. You can view details about the user by clicking the
user's unique ID.
Select the user you want to delegate the approval to.
Reason for delegation
Enter a reason why the approval is delegated. This reason will be included in the notification message
that is sent to the new approver. Reason is optional.
Choose "Delegate" to forward the approval.
May 2013 26
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
The approver processes the approval as usual. He can also delegate the approval further to another
approver.
May 2013 27
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
You can also see the details by viewing the properties of the assignment from the display task:
May 2013 28
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
May 2013 29
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
Choose "Enable automatic delegation" to open the "Configure automatic delegation" dialog box:
Show
Select the entry type of the user. The default value is "Person". Only entry types defined as "Identity
entry type" are shown in the list.
and find
Enter (parts of) a user name and choose "Go".
The matching entries are shown in the list below. You can view details about the user by clicking the
user's unique ID.
Select the user you want to delegate approvals to.
Reason for delegation
Enter a reason why the approvals are delegated. This reason will be included in the notification
message that is sent to the new approver. Reason is optional.
Choose "Enable" to start forwarding approvals to the given user.
When automatic delegation is enabled, the "Enable automatic delegation" check box is enabled.
May 2013 30
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
May 2013 31
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
Automatic delegation to
Choose "Select…" to open the "Add…" dialog box:
Make sure to select "Person" or another entry type defined as "Identity entry type" in the "Show" field
and enter a text to search for in the "and Find" field.
Choose "Search". All matching entries are displayed in the list.
Select a user and choose "Add".
Automatic delegation reason
Enter a reason why the approvals are delegated. This reason will be included in the notification
message that is sent to the new approver. Reason is optional.
Choose "Save" to complete the task.
Automatic delegation to
Choose "Remove" to the right of the field to remove the user.
Choose "Save" to complete the task.
May 2013 32
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
First, we specify the criteria for doing a system approval. Then, based on these criteria, the
corresponding node of the switch task is executed. You can either do a system approve or decline, or
start the regular approval task.
In this example, we check for the presence of the privilege "IsOK". If the user has this privilege, the
role request is automatically approved.
May 2013 33
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
You could also specify roles that that will result in a system approval, or privileges/roles that result in a
system decline.
The script DefineApprovalType is used to decide which action to take:
If the user has one of the roles/privileges defined as
PRIVILEGES_TO_HAVE/ROLES_TO_HAVE, the assignment request is approved by the
system. The context variable IDMAPPROVALTYPE is set to 0.
If the user has one of the roles/privileges defined as
PRIVILEGES_NOT_TO_HAVE/ROLES_NOT_TO_HAVE the assignment request is declined by
the system. The context variable IDMAPPROVALTYPE is set to 1.
If none of these criteria is fulfilled, the assignment request enters the normal approval process.
The context variable IDMAPPROVALTYPE is set to 3.
For the complete script, see section 9.6.
The SQL query checks the value of the context variable that was set by the script and executes the
corresponding case node. The switch task has three case nodes:
0 (System decline)
1 (System approve)
2 (Regular approval)
May 2013 34
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
May 2013 35
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
The attribute "MX_ATTR_STATE" is set to 1 to indicate that the assignment request is approved.
May 2013 36
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
When this role is requested, the task checks if the user has the privilege "IsOK" and assignes the role
without an approval. If not, the approval task is started in the normal way.
This user is then regarded as "pre-approved", and will be assigned the role without approval.
May 2013 37
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
May 2013 38
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
function DefineApprovalType(Par){
CurrentEntryID = uGetEntryID();
CurrentIDStore = uGetIDStore();
AuditID = uGetAuditID();
May 2013 39
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
// -- System Decline
if(okToSystemDecline == "true"){
OutString = uSetContextVar("IDMAPPROVALTYPE", "0");
}
else {
if(okToSystemApprove == "true"){
// -- System Approve
OutString = uSetContextVar("IDMAPPROVALTYPE", "1");
}
else{
May 2013 40
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
// -- Normal Approval
OutString = uSetContextVar("IDMAPPROVALTYPE", "2");
}
}
}
May 2013 41
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
For the requests for the role "ROLE:Manager", also the "Approver" is defined as approver. For the role
"ROLE:User", he is the only approver.
May 2013 42
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
We use a "To Generic" pass that has the following SQL statement defined on the "Source" tab:
This SQL statement finds all approvals for the approver specified with the job constant.
The "Destination" tab is defined as follows:
For each ApprovalID for the given approver, the script "RemoveApprover" is called.
May 2013 43
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
if (Result.indexOf("!ERROR") >= 0) {
uError(Result);
}
return;
}
We call the function uIS_Approval to remove the approver from the list of approvers.
We need to provide the MSKEY of the approver and the approval ID to the approval, so this is
retrieved with the first statements in the script.
The u-function is called with the following parameters:
var Result = uIS_Approval(5,ApproverMSKEY,UniqueId,0,"Long term leave");
5 – Remove approver (Operation)
ApproverMSKEY – The MSKEY of the approver to remove
UniqueID – The approval ID
0 – Indicates that the operation was done by the system (as opposed to a user)
Long term leave – The reason for the operation
May 2013 44
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
If we look at one of the assignments for the role "ROLE:Manager", we see that Christopher Wright was
removed as approver, and Approver has approved the assignment:
May 2013 45
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
The assignment request for the role "ROLE:User", where Christopher Wright was the only approver, is
declined:
May 2013 46
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
11 Requiring Re-Authentication
To increase security, you can require re-authentication when processing an approval. When this is
enabled, the user will have to provide the login password to perform the operation.
This is configured in the approval task:
Re-authenticate
Select "Approval" to require re-authentication only when approving the request or "Always" if you
require re-authentication also when declining, delegating or escalating a request.
May 2013 47
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
12 Managing Approvals
As a manager, you can get an overview of all approvals for approvers you are defined as a manager
for. Pending approvals are managed from the "Approval Management". The logged-in user must have
one of the following privileges:
MX_PRIV:MANAGED_APPROVALS:READONLY to be able to view pending approvals
MX_PRIV:MANAGED_APPROVALS:PROCESS to be able to decline or escalate the approval
How you configure access to the "Approval Management" tab is described in the document SAP
NetWeaver Identity Management Identity Center: Installing and configuring the Identity Management
User Interface.
Enter a search criterion in the "Find" field. This is a free-text search in the name of the user getting the
assignment, the name of the role/privilege, the approver and the context.
You can also use the advanced search (see below).
All approvals matching the search criterion are displayed in the list. The color of the status indicator
shows how many days are left before the approval expires.
Select an approval to show more information in the details view below.
May 2013 48
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
Fill in the fields with the search criteria you want to use.
Approval Type
Select if you want to include all approvals, or only assignment or basic approvals.
Date
Enter a date range. This will find all approvals that have been changed within the period.
Consignee
Choose to the right of the field to open a dialog box where you can find a user you want to find
approvals for. You can only find approvals for one specific user.
Approver
Choose to the right of the field to open a dialog box where you can find an approver you want to
see approvals for. You can only find approvals for one specific approver.
Assigner
Choose to the right of the field to open a dialog box where you can find an assigner you want to
find approvals for. You can only find approvals for one specific assigner.
Context
Choose to the right of the field to open a dialog box where you can find a specific context to use as
search criterion. You can only find approvals for one specific context.
Assignment
Choose to the right of the field to open a dialog box where you can search for the role or privilege
that is requested assigned. You can only search for approvals for one specific role or privilege.
Choose "Go" to start the search.
May 2013 49
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
Choose "Decline".
May 2013 50
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
Choose "Escalate".
May 2013 51
SAP NetWeaver Identity Management Implementation guide - Creating role approvals
May 2013 52