Activity target
The execution of a CRUD activity results in a request to perform a certain operation on a certain object. For example, an “Update” activity requests Active Roles to make changes to the properties of a certain object, an “Add to group” activity requests Active Roles to add a certain object to particular groups, and so forth. The object on which the operation is requested by a CRUD activity is referred to as the target object of that activity, or simply activity target.
When you configure a CRUD activity, you can use the following options to specify the activity target for that activity:
- Fixed object in directory. The activity target is the given object. You can select the desired object in Active Directory when you configure a CRUD activity.
- Object identified by workflow parameter. The activity target is the object specified by the value of a certain parameter of the workflow. You can choose the desired parameter from the workflow definition when you configure a CRUD activity.
- Object from workflow data context. The activity target will be selected by the activity on the basis of the data found in the workflow environment at the time of executing the workflow. When configuring a CRUD activity, you can specify which object you want the activity to select at workflow run time.
- Object identified by DN-value rule expression. The Distinguished Name (DN) of the activity target is specified by the string value of a certain rule expression. By using a rule expression, you can compose a string value based on properties of various objects found in the workflow environment at the time of executing the workflow. You can create the desired rule expression when you configure a CRUD activity.
The following table helps distinguish CRUD activity targets.
Table 58: CRUD activity targets
Update |
The object whose properties are to be changed. An Update activity requests Active Roles to change certain properties of a particular object. That object is referred to as the activity target of the Update activity. |
Add to group |
The object to be added to the groups. An “Add to group” activity requests Active Roles to add a certain object to particular groups. That object is referred to as the activity target of the “Add to group” activity. |
Remove from group |
The object to be removed from the groups. A “Remove from group” activity requests Active Roles to remove a certain object from particular groups. That object is referred to as the activity target of the “Remove from group” activity. |
Move |
The object to be moved. A Move activity requests Active Roles to move a certain object to a particular container in Active Directory. That object is referred to as the activity target of the Move activity. |
Deprovision |
The object to be deprovisioned. A Deprovision activity requests Active Roles to deprovision a certain object. That object is referred to as the activity target of the Deprovision activity. |
Undo deprovision |
The object to be restored. An “Undo deprovision” activity requests Active Roles to restore a certain object that was deprovisioned. That object is referred to as the activity target of the “Undo deprovision” activity. |
Delete |
The object to be deleted. A Delete activity requests Active Roles to delete a certain object. That object is referred to as the activity target of the Delete activity. |
Notification
You can configure a CRUD activity to subscribe recipients to the notifications of the following events:
- Activity completed successfully. When configured to notify of this event, the activity causes Active Roles to send a notification e-mail if no significant errors occurred during execution of this activity.
- Activity encountered an error. When configured to notify of this event, the activity causes Active Roles to send a notification e-mail if any significant errors occurred during execution of this activity.
The notification settings specify the event to notify of, and notification recipients. When executed by the workflow, the activity prepares a notification message appropriate to the specified event. Active Roles retains the message prepared by the activity, and sends the message to the specified recipients upon occurrence of that event. The notification settings are similar to the notification settings of a Notification activity (see Notification activity earlier in this document).
Error handling
When configuring a CRUD activity, you can choose whether to suppress errors encountered by that activity. The following option is available: Continue workflow even if this activity encounters an error. If this option is not selected (default setting), an error encountered by the activity causes Active Roles to terminate the workflow.
If you configure a CRUD activity so that the workflow is allowed to continue in case of an error encountered by that activity, then you can have the workflow take an appropriate compensation action. This could be accomplished by using an If-Else activity with a branch condition that evaluates the “Encountered an error” execution status of the CRUD activity. Add an If-Else activity following the CRUD activity and configure a condition on an If-Else branch to detect the “Encountered an error” execution status of that CRUD activity. Then, configure that If-Else branch to contain the activities you want to perform the compensation action. As a result, once the CRUD activity has encountered an error, the “Encountered an error” branch condition evaluates to TRUE, causing the workflow to execute the activities intended to perform the compensation action.
“Run as” options
By default, any CRUD activity is executed under the user account specified by the “run as” setting in the workflow options and start conditions. This could be the service account of the Active Roles Administration Service or the account of the user who caused the workflow to start. You can configure the activity to override the default “run as” setting by choosing to run the activity under the service account or the account of the user who caused the workflow to start. The account under which the activity is running determines the access rights of the activity in the directory.
One more option determines whether to apply approval rules to the operation requested by the activity if the activity is executed under a privileged account, such as the Active Roles service account, an Active Roles Admin account, or the account of the user who is designated as an approver. By default, the activity uses the option setting specified in the workflow options and start conditions. However, the workflow-wide option setting can be overridden on a per-activity basis.
When you configure a CRUD activity, you can enable or disable the Enforce approval option for that activity. When enabled, this option causes the approval rules to be applied, submitting the operation for approval regardless of the account under which the activity is executed. Otherwise, the operation requested by the activity bypasses approval rules if the activity is executed under the Active Roles service account, an Active Roles Admin account, or the account of the user who is designated as an approver, so the operation is not submitted for approval.