UserResolution
Sample workflow for handling privilegeResolution. Checks for expired users and assignments, applies provisioning rules for given users and does a user resolution.
UserResolution is the Java-based real-time workflow for resolving a single user’s current
privilege set. When a dxrUser entry changes — for example because an assignment is added or
removed, or because a role or group it depends on is updated — the Java-based Server creates a
ProvisionTS request that this controller workflow picks up. The PrivilegeResolutionActivity
checks for expired users and expired assignments, applies the configured provisioning rules to
the user, recalculates the complete privilege set, and writes the resulting account and membership
changes to the target system subtrees.
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 |
|
Category |
Identity Store |
Technology |
Java-based real-time workflow |
LDAP object class |
|
Workflow type |
|
Connected system / controller type |
|
Configuration wizard |
|
Active in the factory data |
FALSE |
Factory data version |
8.0 |
Factory data path |
|
Prerequisites
-
Copy the workflow into your scenario and activate it in the Java-based Server.
-
Set
provisionrulesrootandusersubtreeto the correct DN paths for your domain before activating.
Workflow and Activities
| Activity | Type | Component description | Description | Ports |
|---|---|---|---|---|
|
|
|
Error Activity |
|
|
|
|
Activity for user resolution and account update. |
- |
Ports
| Activity | Port | Component description | Connector | Connected directory | Bind profile | SSL |
|---|---|---|---|---|---|---|
|
|
|
|
- |
- |
not set |
Configuration Parameters
| Parameter | Default value |
|---|---|
|
P0Y0M4DT0H0M0S |
| Parameter | Default value |
|---|---|
|
LDAP |
|
3 |
|
P0Y0M1DT0H0M0S |
|
P0Y0M0DT2H0M0S |
| Parameter | Default value |
|---|---|
|
dxmPassword |
| Parameter | Default value |
|---|---|
|
500 |
|
10000 |
|
300 |
|
300 |
|
cn=domain_name,cn=Rules,cn=Policies,cn=domain_name |
|
ConsistencyCheck |
|
3 |
|
P0Y0M0DT0H15M0S |
|
FALSE |
|
500 |
|
10000 |
|
50 |
|
50 |
|
TRUE |
|
cn=subtree,cn=Users,cn=domain_name |
|
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 PrivilegeResolutionActivity
component with the PrivilegeResolutionController type to process the resolution request. It
reads provisioning rules from provisionrulesroot, caches them with the page sizes and MRU
sizes configured by the provisionrules. parameters, and looks up the user in usersubtree
using the userstorage. cache settings. The retrylimit is 3 with a
waitbeforeretry of 30 minutes. Failed requests are forwarded to the error activity for
e-mail notification through the Message port.
Operation
-
A change to a
dxrUserentry causes the Java-based Server to create aProvisionTSrequest for thedxrUsercontroller type. -
The Java-based Server assigns the request to the
joinactivity of this workflow; up totimeout(4 days) is allowed for the workflow instance to be picked up. -
The
PrivilegeResolutionActivitychecks whether the user or any of their assignments has expired, and expires them if necessary. -
The activity applies the provisioning rules loaded from
provisionrulesrootand recalculates the user’s complete privilege set. -
Account and group membership changes resulting from the resolution are written into the target system subtrees of the Identity Store.
-
If the activity fails, it is retried up to three times with a 30-minute wait between attempts. Requests that still fail after all retries are handed to the
erroractivity for e-mail notification. -
The workflow is delivered inactive (
dxmActiveisFALSE). Copy it into your own scenario, set the DN placeholders inprovisionrulesrootandusersubtree, and activate the copy.