你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

教程:基于蓝图示例创建环境

重要

2026 年 7 月 11 日,蓝图(预览版)将弃用。 将现有蓝图定义和分配迁移到模板规格部署堆栈。 蓝图项目将转换为 ARM JSON 模板或用于定义部署堆栈的 Bicep 文件。 若要了解如何将项目创作为 ARM 资源,请参阅:

示例蓝图示范了 Azure 蓝图的功能。 每个示例蓝图附带具体的意图或目的,但其本身无法创建完整的环境。 每个示例蓝图旨在用作探索 Azure 蓝图的起点,其中带有包含的项目、设计和参数的各种组合。

以下教程使用“采用 RBAC 的资源组”蓝图示例来展示 Azure 蓝图服务的各个方面。 本文包括以下步骤:

  • 基于示例创建新的蓝图定义
  • 将示例副本标记为“已发布”
  • 将蓝图副本分配到现有的订阅
  • 检查要分配的已部署资源
  • 取消分配蓝图以删除锁

先决条件

若要完成本教程,需要一个 Azure 订阅。 如果没有 Azure 订阅,请在开始之前创建一个免费帐户

基于示例创建蓝图定义

首先实施蓝图示例。 通过导入可以基于示例在环境中创建新的蓝图。

  1. 在左侧窗格中,选择“所有服务” 。 搜索并选择“蓝图”。

  2. 在左侧的“开始”页中,选择“创建蓝图”下的“创建”按钮。

  3. 在“其他示例”下找到“采用 RBAC 的资源组”蓝图示例,并选择它。

  4. 输入该蓝图示例的“基本信息”:

    • 蓝图名称:提供蓝图示例副本的名称。 本教程使用名称 two-rgs-with-role-assignments
    • 定义位置:使用省略号并选择要将示例副本保存到的管理组或订阅。
  5. 选择页面顶部的“项目”选项卡,或页面底部的“下一步: 项目”。

  6. 查看构成蓝图示例的项目列表。 本示例定义两个资源组,其显示名称为 ProdRGPreProdRG。 在蓝图分配期间,将设置每个资源组的最终名称和位置。 为 ProdRG 资源组分配“参与者”角色,为 PreProdRG 资源组分配“所有者”和“读取者”角色。 定义中分配的角色是静态的,但分配有角色的用户、应用或组是在蓝图分配期间设置的。

  7. 查看完蓝图示例后,选择“保存草稿”。

此步骤在选定的管理组或订阅中创建示例蓝图定义的副本。 对已保存的蓝图定义的管理方式类似于从头开始创建的任何蓝图。 可将示例保存到管理组或订阅任意次。 但是,必须为每个副本提供唯一的名称。

“保存蓝图定义成功”门户通知出现后,转到下一步骤。

发布示例副本

现已在环境中创建蓝图示例的副本。 该副本在创建后处于“草稿”模式,必须先将其发布,然后才能分配和部署它。 可根据环境和需求自定义蓝图示例的副本。 本教程不会对副本进行任何更改。

  1. 在左侧窗格中,选择“所有服务” 。 搜索并选择“蓝图”。

  2. 在左侧选择“蓝图定义”页。 使用筛选器找到 two-rgs-with-role-assignments 蓝图定义,并将其选中。

  3. 选择页面顶部的“发布蓝图”。 在右侧的新窗格中,输入 1.0 作为蓝图示例副本的版本。 以后做出修改时,此属性非常有用。 提供更改注释,例如,“基于‘采用 RBAC 的资源组’蓝图示例发布的第一个版本”,然后在页面底部选择“发布”。

使用此步骤可将蓝图分配到订阅。 发布后,仍可进行更改。 若要进行其他更改,需要使用新的“版本”值发布,以跟踪同一蓝图定义的不同版本之间的差异。

“发布蓝图定义成功”门户通知出现后,转到下一步骤。

分配示例副本

成功发布蓝图示例的副本后,可将它分配到它所在的管理组中的某个订阅。 在此步骤中,需提供参数来使蓝图示例副本的每个部署保持唯一。

  1. 在左侧窗格中,选择“所有服务”。 搜索并选择“蓝图”。

  2. 在左侧选择“蓝图定义”页。 使用筛选器找到 two-rgs-with-role-assignments 蓝图定义,并将其选中。

  3. 选择蓝图定义页面顶部的“分配蓝图”。

  4. 提供蓝图分配的参数值:

    • 基础

      • 订阅:在蓝图示例副本所保存到的管理组中选择一个或多个订阅。 如果选择多个订阅,将使用输入的参数为每个订阅创建一个分配。
      • 分配名称:系统会根据蓝图定义的名称预先填充该名称。
      • 位置:选择要在其中创建托管标识的区域。 Azure 蓝图使用此托管标识在分配的蓝图中部署所有项目。 若要了解详细信息,请参阅 Azure 资源的托管标识。 本教程选择了“美国东部 2”。
      • 蓝图定义版本:选择示例蓝图定义副本的“已发布”版本 1.0
    • 锁分配

      选择“只读”蓝图锁定模式。 有关更多信息,请参阅蓝图资源锁定

    • 托管标识

      保留默认的“系统分配”选项。 有关详细信息,请参阅托管标识

    • 项目参数

      在本部分定义的参数将应用到定义了这些参数的项目。 这些参数属于动态参数 ,因为它们是在分配蓝图期间定义的。 对于每个项目,请将参数值设置为“值”列中定义的值。 对于 {Your ID},请选择你的 Azure 用户帐户。

      项目名称 项目类型 参数名称 说明
      ProdRG 资源组 资源组 名称 ProductionRG 定义第一个资源组的名称。
      ProdRG 资源组 资源组 位置 美国西部 2 设置第一个资源组的位置。
      参与者 角色分配 用户或组 {你的 ID} 定义要将“参与者”角色授予第一个资源组中的哪个用户或组。
      PreProdRG 资源组 资源组 名称 PreProductionRG 定义第二个资源组的名称。
      PreProdRG 资源组 资源组 位置 美国西部 设置第二个资源组的位置。
      “所有者” 角色分配 用户或组 {你的 ID} 定义要将“所有者”角色授予第二个资源组中的哪个用户或组。
      读取者 角色分配 用户或组 {你的 ID} 定义要将“读取者”角色授予第二个资源组中的哪个用户或组。
  5. 输入所有参数后,选择页面底部的“分配”。

此步骤部署定义的资源,并配置选定的锁分配。 应用蓝图锁最长可能需要花费 30 分钟。

“分配蓝图定义成功”门户通知出现后,转到下一步骤。

检查分配部署的资源

蓝图分配会创建并跟踪蓝图定义中定义的项目。 可以在蓝图分配页中通过直接查看资源来检查资源的状态。

  1. 在左侧窗格中,选择“所有服务” 。 搜索并选择“蓝图”。

  2. 在左侧选择“分配的蓝图”页。 使用筛选器找到 Assignment-two-rgs-with-role-assignments 蓝图分配,并将其选中。

    在此页中,可以看到分配成功消息、创建的资源列表及其蓝图锁定状态。 如果更新了分配,“分配操作”下拉列表会显示有关每个定义版本的部署的详细信息。 可以选择列出的每个已创建资源,打开该资源的属性页。

  3. 选择“ProductionRG”资源组。

    可以看到,该资源组的名称是 ProductionRG,而不是项目显示名称 ProdRG。 此名称与蓝图分配期间设置的值相匹配。

  4. 在左侧选择“访问控制(IAM)”页,然后选择“角色分配”选项卡。

    在此处可以看到,为你的帐户授予了“此资源”范围的“参与者”角色。 Assignment-two-rgs-with-role-assignments 蓝图分配具有“所有者”角色,因为资源组是使用该分配创建的。 这些权限还用于管理配置有蓝图锁的资源。

  5. 在 Azure 门户痕迹导航中,选择“Assignment-two-rgs-with-role-assignments”返回前一页面,然后选择“PreProductionRG”资源组。

  6. 在左侧选择“访问控制(IAM)”页,然后选择“角色分配”选项卡。

    在此处可以看到,为你的帐户授予了“此资源”范围的“所有者”和“读取者”角色。 与第一个资源组一样,该蓝图分配也具有“所有者”角色。

  7. 选择“拒绝分配”选项卡。

    该蓝图分配在部署的资源组中创建了一个拒绝分配,以强制实施“只读”蓝图锁定模式。 该拒绝分配会阻止“角色分配”选项卡中具有相应权限的某人执行特定的操作。 拒绝分配会影响所有主体。

  8. 选择该拒绝分配,然后在左侧选择“拒绝的权限”页。

    该拒绝分配正在阻止使用 * 和 Action 配置的所有操作,但允许通过 NotActions 排除 */read,以此进行读取访问。

  9. 在 Azure 门户痕迹导航中,选择“PreProductionRG - 访问控制(IAM)”。 在左侧选择“概述”页,然后选择“删除资源组”按钮。 输入名称 PreProductionRG 以确认删除,然后选择窗格底部的“删除”。

    此时会显示门户通知“删除资源组 PreProductionRG 失败”。 错误中指出,尽管你的帐户有权删除资源组,但蓝图分配拒绝了访问。 回顾前文,我们在蓝图分配期间选择了“只读”蓝图锁定模式。 蓝图锁会阻止具有权限的帐户(甚至包括“所有者”)删除资源。 有关更多信息,请参阅蓝图资源锁定

这些步骤演示了我们的资源是根据定义创建的,蓝图锁会阻止意外的删除,甚至可以阻止具有权限的帐户执行删除。

取消分配蓝图

最后一步是删除蓝图分配及其部署的资源。 删除分配不会删除已部署的项目。

  1. 在左侧窗格中,选择“所有服务” 。 搜索并选择“蓝图”。

  2. 在左侧选择“分配的蓝图”页。 使用筛选器找到 Assignment-two-rgs-with-role-assignments 蓝图分配,并将其选中。

  3. 选择页面顶部的“取消分配蓝图”按钮。 阅读确认对话框中的警告,然后选择“确定”。

    删除蓝图分配时,蓝图锁也会一并删除。 具有权限的帐户现在又可以删除创建的资源。

  4. 在 Azure 菜单中选择“资源组”,然后选择“ProductionRG”。

  5. 在左侧选择“访问控制(IAM)”页,然后选择“角色分配”选项卡。

每个资源组的安全性仍具有已部署的角色分配,但蓝图分配不再具有“所有者”访问权限。

“删除蓝图分配成功”门户通知出现后,转到下一步骤。

清理资源

完成本教程后,请删除以下资源:

  • 资源组 ProductionRG
  • 资源组 PreProductionRG
  • 蓝图定义 two-rgs-with-role-assignments

后续步骤

在本教程中,你已了解如何通过示例定义创建新的蓝图。 若要详细了解 Azure 蓝图,请继续学习蓝图生命周期文章。