EventBasedFunctionalUserResolution

Sample workflow for handling a functional user change event. Resolves the functional user privileges and / or updates their account attributes.

EventBasedFunctionalUserResolution reacts to change events published for functional user entries (dxrFunctionalUser). In addition to applying consistency rules, it resolves the functional user’s privileges: when an attribute change is relevant — filtered by the ignore, ignoreprefix, include and includeprefix parameters — the join activity applies provisioning rules from provisionrulesroot and updates account attributes in connected target systems. The responsiblelinkattr parameter (dxrSponsor) identifies the attribute through which the functional user’s sponsor is located.

The workflows in this reference are delivered as factory data and are loaded into the Connectivity configuration database during the initial configuration. They are samples: use the Identity Manager to copy a workflow into your own scenario and adapt the copy. Do not change the delivered objects, because a product update can replace them.

At a Glance

Name

EventBasedFunctionalUserResolution

Category

Identity Store

Technology

Java-based real-time workflow

LDAP object class

dxmIDMWorkflowDefinition

Workflow type

ProvisionTS

Connected system / controller type

dxrFunctionalUser

Configuration wizard

LDAP-LDAP

Active in the factory data

FALSE

Factory data version

8.0

Factory data path

Workflows/Default/Identity Store/EventBasedFunctionalUserResolution

Prerequisites

  • The Identity Store domain event policy must be configured to publish events for dxrFunctionalUser entries.

  • Both the consistency rules (consistencyrulesroot) and the provisioning rules (provisionrulesroot) must exist in the Identity Store under the configured subtrees.

  • Copy the workflow into your scenario, configure tscluster, tsresource, the rule roots and the ignore/include attribute lists, and activate the copy in the Java-based Server.

Workflow and Activities

Activity Type Component description Description Ports

error

error

provisioningActivity

Error Activity

Message

join

Server

resolutionActivity

Activity for user resolution and account update.

-

Ports

Activity Port Component description Connector Connected directory Bind profile SSL

error

Message

errorPort

ErrorNotifyMailConnector

-

-

not set

Configuration Parameters

Table 1. Workflow parameters of EventBasedFunctionalUserResolution
Parameter Default value

timeout

P0Y0M4DT0H0M0S

tscluster

*

tsresource

cn=My-Company

Table 2. Parameters of activity error
Parameter Default value

resourcefamily

LDAP

retrylimit

3

timeout

P0Y0M1DT0H0M0S

waitbeforeretry

P0Y0M0DT2H0M0S

Table 3. Parameters of port Message (activity error)
Parameter Default value

decrypt.attribute

dxmPassword

Table 4. Parameters of activity join
Parameter Default value

consistencyrulesroot

cn=FunctionalUsers,cn=domain_name,cn=Rules,cn=Policies,cn=domain_name

domain

cn=My-Company

ignore

dxmPassword, dxrChallengeResponse, dxrPrivilegesGrantedLink, dxrCreateUserByWF, description

ignoreprefix

dxmOpr, dxmPwd, dxrPwd, dxrAssigned, dxrErr, dxrHist, dxrInh, dxrIs

include

employeeNumber

includeprefix

dxrSec

provisionrulesroot

cn=FunctionalUsers,cn=domain_name,cn=Rules,cn=Policies,cn=domain_name

resourcefamily

Event_Maintenance

responsiblelinkattr

dxrSponsor

retrylimit

3

sortascending

TRUE

sortattribute

cn

timeout

P0Y0M0DT0H15M0S

waitbeforeretry

P0Y0M0DT0H30M0S

A Java-based real-time workflow runs as a permanently loaded configuration in the Java-based Server (IdS-J). It is triggered by a request or an event rather than by a schedule. Each workflow consists of activities; an activity opens one port per system it talks to, and each port uses a connector to reach that system.

Most provisioning workflows contain a join activity that performs the actual work and an error activity that receives requests which still fail after all retries and sends a notification about them. The retrylimit, waitbeforeretry and timeout parameters of an activity control how often and how long a failed request is retried before it is handed to the error activity.

The event port publishes change events over JMS, and the notify port sends e-mail notifications. Neither port is bound to a connected directory.

The workflow has two activities. The join activity uses the resolutionActivity component to apply consistency rules from consistencyrulesroot and provisioning rules from provisionrulesroot to the changed functional user entry. The ignore, ignoreprefix, include and includeprefix parameters control which attributes are considered for processing; attributes listed in ignore or matching ignoreprefix are skipped. The responsiblelinkattr parameter (dxrSponsor) is used to locate the sponsor of the functional user. Failed requests are retried up to retrylimit (3) times; persistent failures are passed to the error activity, which sends a notification by e-mail through the Message port.

Operation

  1. A client creates, modifies or deletes a functional user entry in the Identity Store and the event policy publishes a dxrFunctionalUser change event.

  2. The Java-based Server matches the event against tscluster and tsresource and passes the request to the join activity.

  3. The activity checks whether the changed attributes are relevant, based on the ignore, ignoreprefix, include and includeprefix parameter lists.

  4. Relevant attribute changes trigger consistency rule evaluation (consistencyrulesroot) and privilege resolution (provisionrulesroot), which may result in account changes in connected target systems.

  5. The sponsor of the functional user is identified through the dxrSponsor attribute (responsiblelinkattr).

  6. Failed requests are retried up to three times; requests that still fail are handed to the error activity for e-mail notification.

  7. The workflow is delivered inactive (dxmActive is FALSE). Copy it into your own scenario and activate the copy.