You are viewing an earlier version of the admin guide. For the latest version, please visit EmpowerID Admin Guide v7.211.0.0.

Skip to end of banner
Go to start of banner

Approval Engine

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

When users request access to resources, they initiate workflows that attempt to execute one or more EmpowerID Operations on those resources in a manner consistent with the workflow. For instance, if a user requests membership in a Management Role, the associated workflow tries to perform operations on both the user and the Management Role to update the person's role membership. By default, if a user can initiate a workflow but lacks access to execute one or more operations within it, the authorization engine returns a message stating that the required access is missing. This default mode is suitable for admin workflows that do not require approval. For processes that need approval, EmpowerID offers a robust workflow engine that can be enabled on a per-workflow basis.

Workflow Approval Routing

Organizations can override the default approval process for greater control over how the system generates and manages approvals. Each workflow has a property called "Do not generate a business request (no approval)," which is enabled for most workflows by default.

The approval process logic, in relation to the "Do not generate a business request (no approval)" property on a given workflow, occurs as follows:

  1. True state: EmpowerID checks if the person executing the workflow possesses the necessary RBAC access to carry out the operations within the workflow. If the person does have access, the workflow proceeds; if not, EmpowerID informs the person of their access insufficiency, and the workflow is terminated. No approval routing happens in this case. This method reduces the number of approval tasks generated and removes unnecessary actions from the approval process.

  2. False state: In this case, the workflow must be associated with a Business Request Type and will always require approval, even if the individual has the authority to execute the workflow operations. The Business Request Type property categorizes workflows, enabling more flexible approval routing and grouping related access requests. This property, coupled with new Access Request and Approval Flow policies, permits organizations to consolidate related access requests into a single "approval bundle," specifying who should receive approval tasks and determining the number of approvals needed before fulfillment.

Approval Flow Policies

When users shop for resources in the IAM Shop and submit their orders, these items are sent as "Business Requests" to the EmpowerID system. These requests are routed for approval based on Approval Flow policies, which can be adjusted to create multi-tiered approval processes based on the organization's requirements.

Key components of Approval Flow policies that can be configured include:

  1. Business Request Type: A workflow property that groups workflows by the type of business request they represent, like the IT Shop Business Request Type. Approval Flow policies can stipulate multiple levels of approval for certain Business Request Types before fulfillment. Approval flow at the Business Request level is sometimes referred to as global level approval flow.

  2. Approval Flow Steps: Define the number of approvals required for fulfillment, with each step representing a sequential stage that must be approved before progressing. Each step can be optionally configured for "step-level" fulfillment. This means that a step can run a workflow and perform some action based on the decision made at that step. Step-level fulfillment is often used to execute an action when the approver's decision results in a rejection, stopping the forward processing of the approval flow. The normal fulfillment process for an item request only executes if all steps are approved.

  3. Item Level Approval: Each step can allow Item Level approval, enabling the approver to make decisions on each item instead of a single decision for the entire Business Request.

  4. Approver Resolver Rules: Dictate who the Approval Flow Step should route for approval.

  5. Items Types and Item Type Actions: Item Types are the individual resources that can be requested, and Item Type Actions represent actions that can occur against an item. Examples of Item Type Actions include Add Account To Group or Assign Azure License.

Approval Flow

EmpowerID's approval flow, despite the multiple components, follows a straightforward logic. Items have two opportunities to be approved: at the Business Request level and at the individual item level. If a Business Request is rejected at any step in this approval flow, the process ends. Only items approved at the Business Request Level progress to the next step, where they can optionally be approved at the individual item level.

Business Request Level

At this level, the Approval engine looks at the Business Request Type to see if the type is defined with any Approval Flow policies per Access Request policy. If the Business Request Type is not defined as specified, nor defined for the Access Request policy of the target resource for the type, then the engine checks the Business Request itself to determine the Approval Flow policy.

Item Level

At this level, the Approval engine first checks the Item Type Action per the Access Request policy to see if the policy designates different Approval Flow policies for the item based on its Access Request policy. If there isn't a specific Access Request policy defined for the Item Type Action, the engine checks the Item Type Action itself for a specific Approval Flow Rule. If there isn't a specific Approval Flow Rule set, the Approval engine falls back on the Approval Flow Policy for the item as specified on the item’s Access Request policy. 

Figure 4 above illustrates how approval flows work in EmpowerID at a high level. In this example, a new Business Request is created to onboard an employee. The onboarding request includes several items: a Business Role, an Application Role, and a Management Role. The Approval Policy for the Business Request has two Approval Steps. The first step requires the employee's manager's approval, while the second step requires the finance department's approval. In both steps, Item Level approval is configured, allowing the manager and the finance department to approve individual items and reject others. Items approved by all steps are then fulfilled by the system, while rejected items are not.

Access Request Policies

Access Request policies are used to control access to resources in EmpowerID and can be used to designate different Approval Flow policies for resources based on their Access Request policy. With this model, you create the Approval Flow policies first and then add them to the Access Request policy when you create it. EmpowerID includes a default out-of-the-box Access Request policy that meets most situations.  In the order of priority to determine the proper approval flow policy for an item, the approval flow policy set on the Access Request Policy is evaluated last.

Fulfillment

Fulfillment describes how EmpowerID concludes approved Business Requests, such as "adding a user to an Application Role" or "provisioning a mailbox in Azure". Once all levels of approval are cleared, items in a Business Request can proceed to fulfillment. This process is managed by the Business Request Item Fulfillment Job, which handles items ready for fulfillment in two ways, based on whether they are associated with Correlation IDs.

  1. Fulfill in Different Workflow (No Correlation ID): Items without Correlation IDs are directed to the fulfillment workflow specified for their related Item Action Types. For instance, if a user is to join a Management Role, the designated workflow for that action would fulfill the item. These items never return to the initial workflow operation for resumption; instead, the calling workflow exits the process.

  2. Fulfill in Initial Workflow (Correlation ID): Items bearing Correlation IDs are routed back to the originating workflow operation, where approval was a prerequisite to proceed.

The presence of Correlation IDs within a workflow is a user-controlled setting that can be enabled or disabled for any workflow within the EmpowerID UI as needed. The "Return to WF for Fulfillment" setting governs this behavior and can be adjusted on the "Edit One" page of any workflow.

The fulfillment process, according to the existence of Correlation IDs, is depicted in Figure 5.

Notification Policies

As part of the approval process, EmpowerID sends notifications to request approvers, initiators, and delegated users. The approval process allows users to customize the frequency and type of notifications they receive. Here's how notifications function in EmpowerID:

  1. A Business Request Event is created each time a user submits a Business Request.

  2. Business Request Events are submitted to the Business Request Notification Policy engine.

  3. The engine determines if the event needs to be added to the Business Request Notification Inbox, by first examining individual user's notification preferences, and defaulting to system notifications if no personalized settings exist.

  4. Notifications are then sent to Business Request participants based on these settings.

Notification Policy Components

Several components drive the Notification policies and how the Notification Policy engine delivers notifications. These include:

  • Business Request Events: Four levels of events where notifications can be triggered: Created, Open, Approver Set, Fulfillment Ready and Fulfillment Completed, and Completed.

  • Business Request Participant Type: Individuals associated with a specific part of a business request. These can include the Initiator, TargetPerson, InitiatorManager, TargetPersonManager, Approver, Approver Manager, Potential Approver, and Commenter.

  • Levels: Several levels can be designated for notifications, including Business Request, Business Request Item, Business Request Approval Step, and Business Request Item Approval Step.

  • Messages: Email messages delivered by the notification engine to Business Request participants.


Approval Flow Demo

The following video demonstrates how to configure approvals and approval routing in EmpowerID.

Approval Flow Demo.mp4

  • No labels