配置生命周期工作流使用的逻辑应用
在将 Azure 逻辑应用与生命周期工作流的自定义任务扩展功能配合使用之前,必须首先使两者兼容。 本参考指南提供了一系列步骤,必须执行这些步骤才能使 Azure 逻辑应用兼容。 有关通过生命周期工作流门户创建新的兼容逻辑应用的指南,请参阅基于自定义任务扩展触发逻辑应用。
确定自定义任务扩展的令牌安全性类型
在配置 Azure 逻辑应用自定义扩展以用于生命周期工作流之前,必须先确定其具有哪种类型的令牌安全性。 两种令牌安全类型包括:
- 普通
- 所有权证明 (PoP)
若要确定自定义任务扩展的安全令牌类型,请查看“自定义扩展”页面:
注意
新的自定义任务扩展将仅具有所有权证明 (POP) 令牌安全类型。 只有在包含所有权证明令牌安全类型之前创建的任务扩展才会具有“普通”类型。
配置现有逻辑应用以供 LCW 使用
要使 Azure 逻辑应用与自定义任务扩展兼容运行,需要执行以下步骤:
- 配置逻辑应用触发器
- 配置回叫操作(仅适用于回叫方案。)
- 启用系统分配的托管标识(对于普通安全令牌类型扩展始终是必需的。这也是具有自定义任务扩展的回叫方案的默认值。有关此方案和其他自定义任务扩展部署方案的详细信息,请参阅:自定义任务扩展部署方案。)
- 配置 AuthZ 策略
若要配置,请执行以下步骤:
打开要与生命周期工作流配合使用的 Azure 逻辑应用。 逻辑应用可能会显示一个包含问候的简介屏幕,通过右上角的 X 可以将其关闭。
在屏幕左侧选择“逻辑应用代码视图”。
在编辑器中粘贴以下代码:
{ "definition": { "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", "actions": { "HTTP": { "inputs": { "authentication": { "audience": "https://graph.microsoft.com", "type": "ManagedServiceIdentity" }, "body": { "data": { "operationStatus": "Completed" }, "source": "sample", "type": "lifecycleEvent" }, "method": "POST", "uri": "https://graph.microsoft.com/beta@{triggerBody()?['data']?['callbackUriPath']}" }, "runAfter": {}, "type": "Http" } }, "contentVersion": "1.0.0.0", "outputs": {}, "parameters": {}, "triggers": { "manual": { "inputs": { "schema": { "properties": { "data": { "properties": { "callbackUriPath": { "description": "CallbackUriPath used for Resume Action", "title": "Data.CallbackUriPath", "type": "string" }, "subject": { "properties": { "displayName": { "description": "DisplayName of the Subject", "title": "Subject.DisplayName", "type": "string" }, "email": { "description": "Email of the Subject", "title": "Subject.Email", "type": "string" }, "id": { "description": "Id of the Subject", "title": "Subject.Id", "type": "string" }, "manager": { "properties": { "displayName": { "description": "DisplayName parameter for Manager", "title": "Manager.DisplayName", "type": "string" }, "email": { "description": "Mail parameter for Manager", "title": "Manager.Mail", "type": "string" }, "id": { "description": "Id parameter for Manager", "title": "Manager.Id", "type": "string" } }, "type": "object" }, "userPrincipalName": { "description": "UserPrincipalName of the Subject", "title": "Subject.UserPrincipalName", "type": "string" } }, "type": "object" }, "task": { "properties": { "displayName": { "description": "DisplayName for Task Object", "title": "Task.DisplayName", "type": "string" }, "id": { "description": "Id for Task Object", "title": "Task.Id", "type": "string" } }, "type": "object" }, "taskProcessingResult": { "properties": { "createdDateTime": { "description": "CreatedDateTime for TaskProcessingResult Object", "title": "TaskProcessingResult.CreatedDateTime", "type": "string" }, "id": { "description": "Id for TaskProcessingResult Object", "title": "TaskProcessingResult.Id", "type": "string" } }, "type": "object" }, "workflow": { "properties": { "displayName": { "description": "DisplayName for Workflow Object", "title": "Workflow.DisplayName", "type": "string" }, "id": { "description": "Id for Workflow Object", "title": "Workflow.Id", "type": "string" }, "workflowVersion": { "description": "WorkflowVersion for Workflow Object", "title": "Workflow.WorkflowVersion", "type": "integer" } }, "type": "object" } }, "type": "object" }, "source": { "description": "Context in which an event happened", "title": "Request.Source", "type": "string" }, "type": { "description": "Value describing the type of event related to the originating occurrence.", "title": "Request.Type", "type": "string" } }, "type": "object" } }, "kind": "Http", "type": "Request" } } }, "parameters": {} }
选择“保存”。
切换到“逻辑应用设计器”并检查已配置的触发器和回调操作。 若要生成自定义业务逻辑,请在触发器和回调操作之间添加其他操作。 如果只对即发即弃方案感兴趣,可以删除回调操作。
在屏幕左侧选择“标识”。
在“系统分配”选项卡下,启用可将其注册到 Microsoft Entra ID 的状态。
选择“保存”。
为具有 POP 安全令牌类型的自定义任务扩展配置授权策略
如果自定义任务扩展的安全令牌类型为所有权证明 (POP),请按照以下步骤设置授权策略:
前往创建的逻辑应用,然后选择“授权”。
根据下表创建授权策略:
策略名称:
POP-Policy
策略类型:
AADPOP
声明 值 颁发者 https://sts.windows.net/(Tenant ID)/ appid 00001111-aaaa-2222-bbbb-3333cccc4444 m POST u management.azure.com p /subscriptions/(subscriptionId)/resourceGroups/(resourceGroupName)/providers/Microsoft.Logic/workflows/(LogicApp name) 保存授权策略。
注意
请注意细节,因为细微差异可能导致以后出现问题。
- 对于
Issuer
,请确保租户 ID 后面包含斜杠 - 对于
appid
,请确保自定义声明为全部小写的appid
。appid
值表示生命周期工作流,并且值始终保持不变。
为具有普通安全令牌类型的自定义任务扩展配置授权策略
如果自定义任务扩展的安全令牌类型为普通,请按照以下步骤设置授权策略:
对于逻辑应用授权策略,我们需要托管标识应用程序 ID。 由于 Microsoft Entra 管理中心仅显示“对象 ID”,因此我们需要查找“应用程序 ID”。 可以按 Microsoft Entra 管理中心中的“企业应用程序”下的“对象 ID”搜索托管标识,以查找所需的“应用程序 ID”。
返回创建的逻辑应用,然后选择“授权”。
基于这些表创建两个授权策略:
策略名称:
AzureADLifecycleWorkflowsAuthPolicy
策略类型:
AAD
声明 值 颁发者 https://sts.windows.net/(Tenant ID)/ 读者 逻辑应用托管标识的应用程序 ID appid 00001111-aaaa-2222-bbbb-3333cccc4444 策略名称:
AzureADLifecycleWorkflowsAuthPolicyV2App
策略类型:
AAD
声明 值 颁发者 https://login.microsoftonline.com/(Tenant ID)/v2.0 读者 逻辑应用托管标识的应用程序 ID azp ce79fdc4-cd1d-4ea5-8139-e74d7dbe0bb7 保存授权策略。
注意
请注意细节,因为细微差异可能导致以后出现问题。
- 对于
Issuer
,请确保租户 ID 后面包含斜杠。 - 对于受众,请确保使用的是应用程序 ID,而不是托管标识的对象 ID。
- 对于
appid
,请确保自定义声明为全部小写的appid
。appid
值表示生命周期工作流,并且值始终保持不变。
将逻辑应用与生命周期工作流配合使用
现在,逻辑应用已配置为与生命周期工作流配合使用,可以通过 UI 或 API 创建自定义任务扩展,然后在生命周期工作流中使用它。