Hello everyone,
I have an inquiry about using LCM Provisioning workflow as a subprocess in a custom leaver workflow (can be run either from a QuickLink or an event trigger).
Currently, two of the steps that the custom leaver workflow has are:
- A step to remove all roles
- A step to remove all entitlements and disabling all links (i.e.,
AccountRequestoperation isDisable,AttributeRequestsoperations areRemove, and provisioning policies for each application contain the necessary attributes changes to disable the native account)
Each of these two steps construct a plan, with this plan being executed by a Provisionerobject.
After each of these steps, we have an extra step which refreshes the identity via the refreshIdentity call method. The reason for having two refresh identity steps is that after removal of roles, we can be sure that the entitlements currently residing on that identity are additional entitlements (i.e., not granted by a role) before we head on and remove the identity’s entitlements.
However, as number of applications grow, we fear that the usage of Provisioner object in directly executing the plan would degrade performance since we directly execute the plan using this object and not make use of a more efficient process like LCM Provisioning as a subprocess.
So, my question is, what is the best practice for implementing such scenario in order to make sure performance is not degraded? Do we:
- Keep it as it is?
- Create a large provisioning plan and hand it to the
LCM Provisioningsubprocess? - Another better option than the previous two?
If handing it to the LCM Provisioning subprocess is better, do we set the foregroundProvisioningattribute to false or true? Since there are steps afterwards that require the provisioning step to be finished. Also, are there any other arguments that need to be set as well?
Thanks in advance.