Azure 托管应用程序概述

Azure 托管应用程序使你能够提供易于客户部署和操作的云解决方案。 作为发布者,你可实施基础结构并提供持续支持。 若要向所有客户提供托管应用程序,可以将它发布到 Azure 市场。 如果只希望组织中的用户使用它,可将其发布到内部服务目录。

托管应用程序类似于 Azure 市场中的解决方案模板,但有一个关键的区别。 在托管应用程序中,资源将部署到由应用发布者或客户管理的托管资源组。 该托管资源组存在于客户的订阅中,但是可向发布者租户中的标识授予访问该托管资源组的权限。 作为发布者,如果由你管理应用程序,则你可指定解决方案的持续支持费用。

发布者和客户权限

对于托管资源组,可选择性地设置发布者的管理访问权限和客户的拒绝分配。 根据发布者和客户对托管应用程序的需求,可使用不同的权限方案。

  • 发布者管理:发布者对客户 Azure 租户中的托管资源组中的资源具有管理访问权限。 拒绝分配会限制客户对托管资源组的访问。 “发布者管理”是默认的托管应用程序权限方案。
  • 发布者和客户访问权限:发布者和客户对托管资源组具有完全访问权限。 会移除拒绝分配。
  • 锁定模式:发布者无权访问客户部署的托管应用程序或托管资源组。 拒绝分配会限制客户访问权限。
  • 客户管理:客户对托管资源组具有完全管理访问权限,并且会移除发布者的访问权限。 没有拒绝分配。 发布者开发应用程序并在 Azure 市场发布,但不管理应用程序。 发布者通过 Azure 市场许可应用程序进行计费。

使用权限方案的优点如下:

  • 出于安全原因,发布者不希望对托管资源组、客户的租户或托管资源组中的数据拥有永久管理访问权限。
  • 发布者希望移除拒绝分配,以便客户管理应用程序。 发布者无需管理拒绝分配,即可为客户启用或禁用操作。 例如,重启托管应用程序中的虚拟机等操作。
  • 为客户提供管理应用程序的完全控制权,使发布者不必成为管理应用程序的服务提供商。

托管应用程序的优点

托管应用程序减少了客户使用解决方案的障碍。 他们不需要云基础结构的专业知识即可使用你的解决方案。 根据发布者配置的权限,客户对关键资源的访问权限可能有限,无需担心在管理资源时出错。

托管应用程序使你能够与客户建立持续的关系。 你可以定义管理应用程序的相关条款,所有费用将通过 Azure 计费进行处理。

尽管客户将托管应用程序部署在他们自己的订阅中,但他们不需要维护、更新或修复这些应用程序。 但是,存在一些权限,使客户能够对托管资源组中的资源拥有完全访问权限。 可以确保所有客户均使用批准的版本。 客户不需要培养应用程序特定的域方面的知识就能管理这些应用程序。 客户可以自动获取应用程序更新,而无需担心如何排查和诊断应用程序问题。

对于 IT 团队,托管应用程序让你能够为组织中的用户提供预先批准的解决方案。 你知道这些解决方案符合组织标准。

托管应用程序支持 Azure 资源托管标识

托管应用程序的类型

你可以在服务目录中内部发布你的托管应用程序,也可以外部发布在 Azure 市场中。

显示托管应用程序如何发布到服务目录或 Azure 市场的关系图。

服务目录

服务目录是为组织中的用户提供的已批准解决方案内部目录。 可以使用该目录来确保满足组织标准,并为组织提供解决方案。 员工可使用服务目录找到其 IT 部门推荐和批准的应用程序。 他们可以访问组织中其他人员与他们共享的托管应用程序。

有关将托管应用程序发布到服务目录的信息,请参阅快速入门:创建和发布托管应用程序定义

Azure 市场

希望为所提供的服务计费的供应商可以通过 Azure 市场提供托管应用程序。 供应商发布应用程序后,该应用程序可供他们组织外部的用户使用。 通过这种方法,托管服务提供商 (MSP)、独立软件供应商 (ISV) 或系统集成商 (SI) 可向所有 Azure 客户提供他们的解决方案。

托管应用程序的资源组

通常,托管应用程序的资源位于两个资源组中。 客户管理一个资源组,而发布者管理另一个资源组。 定义托管应用程序时,发布者可指定访问级别。 发布者可以请求永久角色分配,也可以为受限于某个时间段的分配请求即时访问。 发布者还可配置托管应用程序,以便不存在发布者访问权限。

目前,Azure 中的所有数据提供程序都不支持限制数据操作的访问。

下图显示了客户的 Azure 订阅和发布者的 Azure 订阅之间的关系,这是默认的“发布者管理”权限。 托管应用程序和托管资源组在客户的订阅中。 发布者对托管资源组具有管理访问权限,以维护托管应用程序的资源。 发布者对托管资源组设置只读锁定(拒绝分配),以限制客户用于管理资源的访问权限。 有权访问托管资源组的发布者标识不受锁定。

关系图显示托管资源组的客户和发布者 Azure 订阅之间的关系。

可更改图中所示的管理访问权限。 可向客户授予对托管资源组的完全访问权限。 而且,可移除发布者对托管资源组的访问权限。

应用程序资源组

此资源组保存托管应用程序实例。 此资源组可能仅包含一个资源。 托管应用程序的资源类型为 Microsoft.Solutions/applications

客户拥有对资源组的完全访问权限,并使用它来管理托管应用程序的生命周期。

托管资源组

此资源组包含托管应用程序所需的所有资源。 例如,应用程序的虚拟机、存储帐户和虚拟网络。 客户对该资源组的访问权限可能受限,因为除非更改权限选项,否则客户不管理托管应用程序的各个资源。 发布者对此资源组的访问权限对应于托管应用程序定义中指定的角色。 例如,发布者可以请求此资源组的“所有者”或“参与者”角色。 访问权限可以是永久性的,也可以限制为特定的时间。 发布者可选择不拥有托管资源组的访问权限。

当客户删除托管应用程序时,也会一并删除托管资源组。

Azure Policy

可以应用 Azure Policy 来审核托管应用程序。 可以应用策略定义以确保托管应用程序的已部署实例满足数据和安全要求。 如果应用程序与敏感数据进行交互,请确保你已评估应当如何对该数据进行保护。 例如,如果应用程序与来自 Microsoft 365 的数据进行交互,则可应用策略定义来确保启用数据加密。

后续步骤

在本文中,你了解了使用托管应用程序的好处。 请转到下一篇文章以创建托管应用程序定义。