You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/active-directory/governance/entitlement-management-logic-apps-integration.md
+88-60Lines changed: 88 additions & 60 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -81,17 +81,85 @@ These triggers to Logic Apps are controlled in a tab within access package polic
81
81
:::image type="content" source="media/entitlement-management-logic-apps/create-logic-app-extension-details.png" alt-text="Screenshot of creating logic app detail selections.":::
82
82
83
83
> [!NOTE]
84
-
> when creating a new Logic App in this modal, the length of "/subscriptions/{SubscriptionId}/resourceGroups/{RG Name}/providers/Microsoft.Logic/workflows/{Logicapp Name}" cannot exceed 150 characters.
84
+
> When creating a new Logic App in this modal, the length of "/subscriptions/{SubscriptionId}/resourceGroups/{RG Name}/providers/Microsoft.Logic/workflows/{Logicapp Name}" cannot exceed 150 characters.
85
85
86
86
1. In **Review and Create**, review the summary of your custom extension and make sure the details for your Logic App callout are correct. Then select **Create**.
87
87
88
88
1. This custom extension to the linked Logic App now appears in your Custom Extensions tab under Catalogs. You're able to call on this in access package policies.
89
89
90
+
## View and Edit Existing Custom Extensions for a Catalog
91
+
92
+
**Prerequisite roles:** Global administrator, Identity Governance administrator, or Catalog owner
93
+
94
+
1. Navigate to the Custom Extensions tab within a Catalog as mentioned earlier.
95
+
96
+
1. Here, you can view all the custom extensions you've created, along with the associated Logic App and information about the custom extension type.
97
+
:::image type="content" source="media/entitlement-management-logic-apps/custom-extension-list.png" alt-text="Screenshot of a list of custom extensions." lightbox="media/entitlement-management-logic-apps/custom-extension-list.png":::
98
+
1. Along with the Logic App name, the column Type dictates whether the custom extension was created in the new V2 auth model (after March 17, 2023), or the original model. If a custom extension was created in the new model, the Type column matches the selected type from the configuration modal that is either “*assignment request*” or “*pre-expiration*”. For older custom extensions, the type shows “*custom access package*”.
99
+
100
+
1. The Token Security column shows the associated auth security framework used when creating the custom extension. New V2 custom extensions show “*proof-of-possession*” (PoP) as the token security type. Older custom extensions show “regular”.
101
+
102
+
1. Old style custom extensions are no longer able to be created from the UI, however existing ones can be converted to new style custom extensions from the UI.
103
+
:::image type="content" source="media/entitlement-management-logic-apps/convert-token-security-extension.png" alt-text="Screenshot of converting old security token to new.":::
104
+
105
+
1. Selecting the three dots at the end of the row of an old custom extension allows you to update the custom extension to a new type quickly.
106
+
> [!NOTE]
107
+
> Custom extensions can only be converted to the new type if they are not in use, or if they are in use exclusively for policy stages of one specific extension type (assignment request stages or pre expiration stages).
108
+
1. You can also edit any custom extension. This allows you to update the name, description, and other field values. This can be accomplished by selecting **Edit** inside the three-dot pane for any custom extension.
109
+
110
+
1. Old style custom extensions can continue to be used and edited even if not converted, even though they can no longer be created.
111
+
112
+
1. If an old style custom extension can't be updated to the new type because it's being used for policy stages, of **BOTH** assignment request and pre expiration types, then in order to update it you must either remove it from all linked policies or ensure it's only used for policy stages associated with **ONE** type (assignment request, or pre expiration).
113
+
114
+
115
+
## Add custom extension to a policy in an access package
116
+
117
+
**Prerequisite roles:** Global administrator, Identity Governance administrator, Catalog owner, or Access package manager
118
+
119
+
1. Sign in to the [Azure portal](https://portal.azure.com).
120
+
121
+
1. In the Azure portal, select **Azure Active Directory** and then select **Identity Governance**.
122
+
123
+
1. In the left menu, select **Access packages**.
124
+
125
+
1. Select the access package you want to add a custom extension (logic app) to from the list of access packages that have already been created.
126
+
127
+
> [!NOTE]
128
+
> Select **New access package** if you want to create a new access package.
129
+
> For more information about how to create an access package, see [Create a new access package in entitlement management](entitlement-management-access-package-create.md). For more information about how to edit an existing access package, see [Change request settings for an access package in Azure AD entitlement management](entitlement-management-access-package-request-policy.md#open-and-edit-an-existing-policys-request-settings).
130
+
131
+
1. Change to the policy tab, select the policy and select **Edit**.
132
+
133
+
1. In the policy settings, go to the **Custom Extensions (Preview)** tab.
134
+
135
+
1. In the menu below **Stage**, select the access package event you wish to use as trigger for this custom extension (Logic App). For example, if you only want to trigger the custom extension Logic App workflow when a user requests the access package, select **Request is created**.
136
+
137
+
1. In the menu below **Custom Extension**, select the custom extension (Logic App) you want to add to the access package. The action you select executes when the event selected in the *when* field occurs.
138
+
139
+
1. Select **Update** to add it to an existing access package's policy.
140
+
141
+

142
+
143
+
## Edit a linked Logic App's workflow definition
144
+
145
+
**Prerequisite roles:** Global administrator, Identity Governance administrator, or Catalog owner
146
+
147
+
For newly created Logic Apps linked to custom extensions, these Logic Apps begin blank. To create the workflows in the Logic Apps that will be triggered by the extension when the linked access package policy condition is triggered, you need to edit the definition of the Logic App workflow in Logic App designer. To accomplish this, you'd follow these steps:
148
+
149
+
1. Navigate to the Custom Extensions tab within a Catalog as mentioned in the above section.
150
+
151
+
1. Select the custom extension for whom you want to edit the Logic App.
152
+
153
+
1. Select the Logic App under the Logic app column for the associated custom extension row. This allows you to edit or create the workflow in Logic App designer.
154
+
155
+
For more information on creating logic app workflows, see [Quickstart: Create an example Consumption workflow in multi-tenant Azure Logic Apps with the Azure portal](../../logic-apps/quickstart-create-example-consumption-workflow.md).
156
+
157
+
90
158
## Configuring custom extensions that pause entitlement management processes
91
159
92
160
A new update to the custom extensions feature is the ability to pause the access package policy process associated with a custom extension until after that Logic App completes, and a resume request payload is sent back to entitlement management. For example, if a custom extension for a Logic App is triggered from an access package grant policy, and “launch and wait” is enabled, once the Logic App is triggered the grant process won't resume until after the Logic App completes, and a resume request is sent back to entitlement management.
93
161
94
-
This pause process allows admins to have control of workflows they’d like to run before continuing with access lifecycle tasks in entitlement management. The only exception to this is if a timeout occurs. Launch and wait processes require a timeout of up to 14 days noted in minutes, hours, or days. If a resume response isn't sent back to entitlement management by the time the “timeout” period elapses, the entitlement management process automatically continues.
162
+
This pause process allows admins to have control of workflows they’d like to run before continuing with access lifecycle tasks in entitlement management. The only exception to this is if a timeout occurs. Launch and wait processes require a timeout of up to 14 days noted in minutes, hours, or days. If a resume response isn't sent back to entitlement management by the time the “timeout” period elapses, the entitlement management request workflow process pauses.
95
163
96
164
The admin is responsible for configuring an automated process that is able to send the API **resume request** payload back to entitlement management, once the Logic App workflow has completed. To send back the resume request payload, follow the instructions here in the graph API documents. See information here on the [resume request](/graph/api/accesspackageassignmentrequest-resume)
The following flow diagram shows the entitlement management callout to Logic Apps workflow:
178
+
:::image type="content" source="media/entitlement-management-logic-apps/extensibility-diagram-flow.png" alt-text="A screenshot of the extensibility user diagram." lightbox="media/entitlement-management-logic-apps/extensibility-diagram-flow.png":::
**Prerequisite roles:** Global administrator, Identity Governance administrator, or Catalog owner
228
+
## Extension end-user experience
160
229
161
-
For newly created Logic Apps linked to custom extensions, these Logic Apps begin blank. To create the workflows in the Logic Apps that will be triggered by the extension when the linked access package policy condition is triggered, you need to edit the definition of the Logic App workflow in Logic App designer. To accomplish this, you'd follow these steps:
230
+
### Approver experience
162
231
163
-
1. Navigate to the Custom Extensions tab within a Catalog as mentioned in the above section.
232
+
An approver sees the string specified in the resume request payload under `customExtensionStageInstanceDetail` as shown in the payload located in [Configuring custom extensions that pause entitlement management processes](entitlement-management-logic-apps-integration.md#configuring-custom-extensions-that-pause-entitlement-management-processes).
233
+
:::image type="content" source="media/entitlement-management-logic-apps/extensibility-approver-experience.png" alt-text="Screenshot of the approver screen." lightbox="media/entitlement-management-logic-apps/extensibility-approver-experience.png":::
164
234
165
-
1. Select the custom extension for whom you want to edit the Logic App.
235
+
### Requestor experience
166
236
167
-
1. Select the Logic App under the Logic app column for the associated custom extension row. This allows you to edit or create the workflow in Logic App designer.
237
+
When an access package has a custom extension with launch and wait functionality, and the Logic App is triggered when the access package request is created, requestors can see their request status within request history in MyAccess.
168
238
169
-
For more information on creating logic app workflows, see [Quickstart: Create an example Consumption workflow in multi-tenant Azure Logic Apps with the Azure portal](../../logic-apps/quickstart-create-example-consumption-workflow.md).
239
+
The following status updates are displayed to users based on their custom extension stage:
170
240
171
-
## View and Edit Existing Custom Extensions for a Catalog
241
+
|Custom Extension stage |Message displayed to requestor in MyAccess request history |
242
+
|---------|---------|
243
+
|When the extension is being processed | Waiting for information before proceeding |
244
+
|When the extension fails | Process expired |
245
+
|When the extension resumes | Process continues |
172
246
173
-
**Prerequisite roles:** Global administrator, Identity Governance administrator, or Catalog owner
174
-
175
-
1. Navigate to the Custom Extensions tab within a Catalog as mentioned earlier.
176
-
177
-
1. Here, you can view all the custom extensions you've created, along with the associated Logic App and information about the custom extension type.
178
-
:::image type="content" source="media/entitlement-management-logic-apps/custom-extension-list.png" alt-text="Screenshot of a list of custom extensions.":::
179
-
1. Along with the Logic App name, the column Type dictates whether the custom extension was created in the new V2 auth model (after March 17, 2023), or the original model. If a custom extension was created in the new model, the Type column matches the selected type from the configuration modal that is either “*assignment request*” or “*pre-expiration*”. For older custom extensions, the type shows “*custom access package*”.
180
-
181
-
1. The Token Security column shows the associated auth security framework used when creating the custom extension. New V2 custom extensions show “*proof-of-possession*” (PoP) as the token security type. Older custom extensions show “regular”.
182
-
183
-
1. Old style custom extensions are no longer able to be created from the UI, however existing ones can be converted to new style custom extensions from the UI.
184
-
:::image type="content" source="media/entitlement-management-logic-apps/convert-token-security-extension.png" alt-text="Screenshot of converting old security token to new.":::
185
-
186
-
1. Selecting the three dots at the end of the row of an old custom extension allows you to update the custom extension to a new type quickly.
187
-
> [!NOTE]
188
-
> Custom extensions can only be converted to the new type if they are not in use, or if they are in use exclusively for policy stages of one specific extension type (assignment request stages or pre expiration stages).
189
-
1. You can also edit any custom extension. This allows you to update the name, description, and other field values. This can be accomplished by selecting **Edit** inside the three-dot pane for any custom extension.
247
+
This is an example of a MyAccess request history from a requestor after the extension resumes:
190
248
191
-
1. Old style custom extensions can continue to be used and edited even if not converted, even though they can no longer be created.
192
-
193
-
1. If an old style custom extension cannot be updated to the new type because it is being used for policy stages, of **BOTH** assignment request and pre expiration types, then in order to update it you must either remove it from all linked policies or ensure it is only used for policy stages associated with **ONE** type (assignment request, or pre expiration).
194
-
195
-
## Add custom extension to a policy in an access package
196
-
197
-
**Prerequisite roles:** Global administrator, Identity Governance administrator, Catalog owner, or Access package manager
198
-
199
-
1. Sign in to the [Azure portal](https://portal.azure.com).
200
-
201
-
1. In the Azure portal, select **Azure Active Directory** and then select **Identity Governance**.
202
-
203
-
1. In the left menu, select **Access packages**.
204
-
205
-
1. Select the access package you want to add a custom extension (logic app) to from the list of access packages that have already been created.
206
-
207
-
> [!NOTE]
208
-
> Select **New access package** if you want to create a new access package.
209
-
> For more information about how to create an access package, see [Create a new access package in entitlement management](entitlement-management-access-package-create.md). For more information about how to edit an existing access package, see [Change request settings for an access package in Azure AD entitlement management](entitlement-management-access-package-request-policy.md#open-and-edit-an-existing-policys-request-settings).
210
-
211
-
1. Change to the policy tab, select the policy and select **Edit**.
212
-
213
-
1. In the policy settings, go to the **Custom Extensions (Preview)** tab.
214
-
215
-
1. In the menu below **Stage**, select the access package event you wish to use as trigger for this custom extension (Logic App). For example, if you only want to trigger the custom extension Logic App workflow when a user requests the access package, select **Request is created**.
216
-
217
-
1. In the menu below **Custom Extension**, select the custom extension (Logic App) you want to add to the access package. The action you select executes when the event selected in the *when* field occurs.
218
-
219
-
1. Select **Update** to add it to an existing access package's policy.
220
-
221
-

249
+
:::image type="content" source="media/entitlement-management-logic-apps/extensibility-requestor-experience.png" alt-text="Screenshot of the requestor screen." lightbox="media/entitlement-management-logic-apps/extensibility-requestor-experience.png":::
222
250
223
251
## Troubleshooting and Validation
224
252
@@ -239,4 +267,4 @@ To verify that your custom extension has correctly triggered the associated Logi
239
267
## Next steps
240
268
241
269
-[Delegation and roles in entitlement management](entitlement-management-delegate.md)
242
-
-[Create and manage a catalog of resources in entitlement management](entitlement-management-catalog-create.md)
270
+
-[Create and manage a catalog of resources in entitlement management](entitlement-management-catalog-create.md)
0 commit comments