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

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

使用服务主体进行部署

先决条件

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

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

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

    重要提示

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

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

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

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

  5. (可选)允许共享请求,以便部署请求者可以指定哪些安全组可以访问目标环境中已部署的对象。 共享请求是部署请求的一部分,可以批准或拒绝。

重要提示

部署审批员负责仔细审核共享和安全角色信息。 部署获得批准后,管道会使用部署服务主体的标识自动分配权限。
>

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

  2. 选择 OnApprovalStarted 触发器。

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

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

  5. 插入一个条件。

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

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

    重要提示

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

    与服务主体连接

    小费

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

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

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

规范审批流

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

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

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

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

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

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

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

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

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

删除委派部署示例

重要提示

这些产品现在以本机方式支持这些示例中提供的功能,但这些示例可能会提供有关扩展本机共享功能的见解。

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

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

常见问题解答

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

在部署期间共享是与服务主体进行委托部署的本机功能。 它避免了管理员需要在 Power Platform 管理中心内手动分配安全角色和共享已部署的应用、流、助手等。 相反,管理员只需批准部署请求,系统会自动执行共享。

在部署期间可以共享哪些对象类型?

目前,支持安全角色、画布应用和云端流。 根据您的区域,还可以提供 Copilot 共享。

部署新版本时,能否更新共享?

共享在对象首次部署到目标环境时可用。 在部署新版本时不能更新共享。 请确保在首次部署时选择适当的安全组。 通过安全组管理持续访问。

为画布应用和流分配了哪些权限?

管道分配运行应用程序和流所需的最低权限。 如果需要更高权限,可以扩展管道。 我们建议您在分配更高权限时启用“阻止非托管自定义”功能。

制作者可以与个人用户共享吗?

目前不能。 我们建议在首次部署对象后通过安全组管理单个用户访问权限。

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

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

企业应用程序

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

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

对于基于阶段负责人的委派部署,我能否使用自定义 DeploymentSettings.json 文件?

目前不在制作者体验中。

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

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

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

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

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

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

为什么必须负责服务主体?

出于安全原因强制实施此选项。 您也可以使用服务帐户创建管道,并将同一服务帐户添加为所有者。 另一种方法是在 Microsoft Entra 中将服务主体(应用程序用户)指定为管道阶段的所有者和自身(企业应用程序)的所有者。 不过,必须通过管道主机中的 Dataverse API 才能将管道阶段所有权分配给应用程序。

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

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

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

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

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

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

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

是的。