作为服务主体或管道所有者部署管道

委派部署可以作为服务主体或管道阶段所有者运行。 启用后,管道阶段将作为代理(服务主体或管道阶段所有者)进行部署,而不是作为请求制定者进行部署。

使用服务主体进行部署

先决条件

  • Microsoft Entra 用户帐户 如果您还没有帐户,可以免费创建帐户
  • 以下 Microsoft Entra 角色之一:全局管理员、云应用程序管理员或应用程序管理员。
  • 您必须是 Microsoft Entra ID 中企业应用程序(服务主体)的所有者。

对于具有服务主体的委托部署,请按照下列步骤操作。

  1. 在 Microsoft Entra ID 中创建企业应用程序(服务主体)。

    重要提示

    任何在管道中启用或修改服务主体配置的人员都必须是 Microsoft Entra ID 中企业应用程序(服务主体)的所有者。

  2. 将企业应用程序作为服务器到服务器 (S2S) 用户添加到管道主机环境及其部署到的每个目标环境中。

  3. 将部署管道管理员安全角色分配给管道主机中的 S2S 用户,并将系统管理员安全角色分配给目标环境中的用户。 较低权限的安全角色不能部署插件和其他代码组件。

  4. 在管道阶段选择(选中)委派部署,选择服务主体,然后输入客户端 ID。 选择保存

  5. 在管道主机环境中创建云端流。 可以使用管道 Microsoft Dataverse API 集成替代系统。

  6. 选择 OnApprovalStarted 触发器。

  7. 为所需的自定义逻辑添加步骤。

  8. 插入审批步骤。 使用动态内容向审批者发送部署请求信息。

  9. 插入一个条件。

  10. 为服务主体创建 Dataverse 连接。 您需要一个客户端 ID 和密码。

  11. 添加 Dataverse 使用此处显示的设置执行未绑定操作
    操作名称:UpdateApprovalStatus ApprovalComments:插入动态内容。 部署的请求者将看到备注。 ApprovalStatus:20 = 已批准,30 = 已拒绝 ApprovalProperties:插入动态内容。 可以从管道主机内部访问管理信息。

    重要提示

    UpdateApprovalStatus 操作必须使用服务主体的连接。

    与服务主体连接

    小费

    要改善调试体验,请从动态内容菜单中选择 ApprovalProperties 并插入 workflow()。 这将流运行链接到管道阶段运行(运行历史)。

  12. 保存,然后测试管道。

此处是一个规范审批流的屏幕截图。

规范审批流

重要提示

  • 请求制作者可能无法访问目标环境中部署的资源。 资源可以在部署后共享。 为了自动化共享,您可以使用以下示例或 ALM 加速器扩展作为参考实现。
  • 至少,部署连接引用和访问环境需要基本的用户安全角色。
  • 测试时,如果您删除了自己的安全角色,其他管理员将需要稍后将其恢复。 Power Platform 管理员可以在经典体验中恢复他们自己的安全角色。

作为管道阶段所有者进行部署

普通用户,包括用作服务帐户的用户,也可以充当代理。 与服务主体相比,配置更加简单,但是不能部署包含 oAuth 连接的连接引用的解决方案。

要作为管道阶段所有者进行部署,请按照下列步骤操作。

  1. 将部署管道管理员安全角色分配给管道主机中的管道阶段所有者,并在目标环境中分配系统管理员安全角色。

    较低权限的安全角色不能部署插件和其他代码组件。

  2. 作为管道阶段所有者进行登录。 只有所有者可以启用或修改这些设置。 不允许团队所有权。

  3. 选中委派部署,并选择阶段所有者

    • 管道阶段所有者的身份将用于此阶段的所有部署。
    • 同样,该身份必须用于批准部署。
  4. 在管道主机环境的解决方案中创建云端流。

    1. 选择 OnApprovalStarted 触发器。
    2. 根据需要插入操作。 例如,审批操作。
    3. 添加 Dataverse 执行未绑定操作
      操作名称:UpdateApprovalStatus(20 = 已完成,30 = 已拒绝)

删除委派部署示例

重要提示

这些示例中提供的功能现在在产品中受到本机支持,但在您所在的地区可能还不可用。

该下载包含用于在目标环境中管理批准和共享部署的画布应用程序和流的示例云端流。 下载示例解决方案

将托管解决方案下载并导入到您的管道主机环境中。 然后,可以自定义该解决方案以满足贵组织的需求。

常见问题解答

我收到错误部署阶段不是服务主体 (<AppId>) 的所有者。只有服务主体的所有者才能将其用于委托部署。

确保您是 Microsoft Entra ID(之前为 Azure AD)中企业应用程序(服务主体)的所有者。 您可能只是应用程序注册的所有者,而不是企业应用程序的所有者。

企业应用程序

对于基于阶段所有者的委派部署,为什么我不能指定其他用户作为部署者?

出于安全原因,您必须以设置为管道阶段所有者的用户身份登录。 这可以防止将未经同意的用户添加为部署者。

为什么我的委派部署卡在待处理状态?

所有委派部署均处于待处理状态,直至获得批准。 确保您的管理员已配置 Power Automate 审批流或其他自动化,正常工作,并且部署已获得批准。

谁拥有已部署的解决方案对象?

部署身份。 对于委托部署,所有者是委托服务主体或渠道阶段所有者。

制作者如何访问目标环境中已部署的对象?

重要提示

在部署期间共享的原生功能目前正在变得可用,允许制作者作为部署请求的一部分请求访问已部署的资源。

请求制作者可能无法访问目标环境中部署的资源。 管理员必须在 Power Platform 管理中心内分配安全角色并共享已部署的应用、流等。 或者,管理员可以构建自动化来管理访问权限。

我可以添加自定义审批步骤吗?

是的。 例如,Power Automate 审批可以自定义,以满足您组织的需求。 您还可以集成其他审批系统。

我收到错误“ServicePrincipal”类型的委派部署只能由部署阶段配置的服务主体批准或拒绝。

确保服务主体调用 Dataverse 自定义操作 UpdateApprovalStatus。 如果使用 Power Automate 审批,请确保此操作配置为使用委托服务主体的连接。

我收到错误“所有者”类型的委派部署只能由部署阶段配置的所有者批准或拒绝。

确保管道阶段所有者调用 Dataverse 自定义操作 UpdateApprovalStatus。 如果使用 Power Automate 审批,请确保此操作配置为使用委托管道阶段所有者的连接。

我的审批流程中出现错误无法找到阶段运行记录的审批状态属性。

当审批状态尚未处于待处理状态时,就会发生这种情况。 确保这是委派部署,并且您在审批流中使用 OnApprovalStarted 触发器。

我可以对不同的管道和阶段使用不同的服务主体吗?

是的。