你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
教程:基于蓝图示例创建环境
重要
2026 年 7 月 11 日,蓝图(预览版)将弃用。 将现有蓝图定义和分配迁移到模板规格和部署堆栈。 蓝图项目将转换为 ARM JSON 模板或用于定义部署堆栈的 Bicep 文件。 若要了解如何将项目创作为 ARM 资源,请参阅:
示例蓝图示范了 Azure 蓝图的功能。 每个示例蓝图附带具体的意图或目的,但其本身无法创建完整的环境。 每个示例蓝图旨在用作探索 Azure 蓝图的起点,其中带有包含的项目、设计和参数的各种组合。
以下教程使用“采用 RBAC 的资源组”蓝图示例来展示 Azure 蓝图服务的各个方面。 本文包括以下步骤:
- 基于示例创建新的蓝图定义
- 将示例副本标记为“已发布”
- 将蓝图副本分配到现有的订阅
- 检查要分配的已部署资源
- 取消分配蓝图以删除锁
先决条件
若要完成本教程,需要一个 Azure 订阅。 如果没有 Azure 订阅,请在开始之前创建一个免费帐户。
基于示例创建蓝图定义
首先实施蓝图示例。 通过导入可以基于示例在环境中创建新的蓝图。
在左侧窗格中,选择“所有服务” 。 搜索并选择“蓝图”。
在左侧的“开始”页中,选择“创建蓝图”下的“创建”按钮。
在“其他示例”下找到“采用 RBAC 的资源组”蓝图示例,并选择它。
输入该蓝图示例的“基本信息”:
- 蓝图名称:提供蓝图示例副本的名称。 本教程使用名称 two-rgs-with-role-assignments。
- 定义位置:使用省略号并选择要将示例副本保存到的管理组或订阅。
选择页面顶部的“项目”选项卡,或页面底部的“下一步: 项目”。
查看构成蓝图示例的项目列表。 本示例定义两个资源组,其显示名称为 ProdRG 和 PreProdRG。 在蓝图分配期间,将设置每个资源组的最终名称和位置。 为 ProdRG 资源组分配“参与者”角色,为 PreProdRG 资源组分配“所有者”和“读取者”角色。 定义中分配的角色是静态的,但分配有角色的用户、应用或组是在蓝图分配期间设置的。
查看完蓝图示例后,选择“保存草稿”。
此步骤在选定的管理组或订阅中创建示例蓝图定义的副本。 对已保存的蓝图定义的管理方式类似于从头开始创建的任何蓝图。 可将示例保存到管理组或订阅任意次。 但是,必须为每个副本提供唯一的名称。
“保存蓝图定义成功”门户通知出现后,转到下一步骤。
发布示例副本
现已在环境中创建蓝图示例的副本。 该副本在创建后处于“草稿”模式,必须先将其发布,然后才能分配和部署它。 可根据环境和需求自定义蓝图示例的副本。 本教程不会对副本进行任何更改。
在左侧窗格中,选择“所有服务” 。 搜索并选择“蓝图”。
在左侧选择“蓝图定义”页。 使用筛选器找到 two-rgs-with-role-assignments 蓝图定义,并将其选中。
选择页面顶部的“发布蓝图”。 在右侧的新窗格中,输入 1.0 作为蓝图示例副本的版本。 以后做出修改时,此属性非常有用。 提供更改注释,例如,“基于‘采用 RBAC 的资源组’蓝图示例发布的第一个版本”,然后在页面底部选择“发布”。
使用此步骤可将蓝图分配到订阅。 发布后,仍可进行更改。 若要进行其他更改,需要使用新的“版本”值发布,以跟踪同一蓝图定义的不同版本之间的差异。
“发布蓝图定义成功”门户通知出现后,转到下一步骤。
分配示例副本
成功发布蓝图示例的副本后,可将它分配到它所在的管理组中的某个订阅。 在此步骤中,需提供参数来使蓝图示例副本的每个部署保持唯一。
在左侧窗格中,选择“所有服务”。 搜索并选择“蓝图”。
在左侧选择“蓝图定义”页。 使用筛选器找到 two-rgs-with-role-assignments 蓝图定义,并将其选中。
选择蓝图定义页面顶部的“分配蓝图”。
提供蓝图分配的参数值:
基础
- 订阅:在蓝图示例副本所保存到的管理组中选择一个或多个订阅。 如果选择多个订阅,将使用输入的参数为每个订阅创建一个分配。
- 分配名称:系统会根据蓝图定义的名称预先填充该名称。
- 位置:选择要在其中创建托管标识的区域。 Azure 蓝图使用此托管标识在分配的蓝图中部署所有项目。 若要了解详细信息,请参阅 Azure 资源的托管标识。 本教程选择了“美国东部 2”。
- 蓝图定义版本:选择示例蓝图定义副本的“已发布”版本 1.0。
锁分配
选择“只读”蓝图锁定模式。 有关更多信息,请参阅蓝图资源锁定。
托管标识
保留默认的“系统分配”选项。 有关详细信息,请参阅托管标识。
项目参数
在本部分定义的参数将应用到定义了这些参数的项目。 这些参数属于动态参数 ,因为它们是在分配蓝图期间定义的。 对于每个项目,请将参数值设置为“值”列中定义的值。 对于
{Your ID}
,请选择你的 Azure 用户帐户。项目名称 项目类型 参数名称 值 说明 ProdRG 资源组 资源组 名称 ProductionRG 定义第一个资源组的名称。 ProdRG 资源组 资源组 位置 美国西部 2 设置第一个资源组的位置。 参与者 角色分配 用户或组 {你的 ID} 定义要将“参与者”角色授予第一个资源组中的哪个用户或组。 PreProdRG 资源组 资源组 名称 PreProductionRG 定义第二个资源组的名称。 PreProdRG 资源组 资源组 位置 美国西部 设置第二个资源组的位置。 “所有者” 角色分配 用户或组 {你的 ID} 定义要将“所有者”角色授予第二个资源组中的哪个用户或组。 读取者 角色分配 用户或组 {你的 ID} 定义要将“读取者”角色授予第二个资源组中的哪个用户或组。
输入所有参数后,选择页面底部的“分配”。
此步骤部署定义的资源,并配置选定的锁分配。 应用蓝图锁最长可能需要花费 30 分钟。
“分配蓝图定义成功”门户通知出现后,转到下一步骤。
检查分配部署的资源
蓝图分配会创建并跟踪蓝图定义中定义的项目。 可以在蓝图分配页中通过直接查看资源来检查资源的状态。
在左侧窗格中,选择“所有服务” 。 搜索并选择“蓝图”。
在左侧选择“分配的蓝图”页。 使用筛选器找到 Assignment-two-rgs-with-role-assignments 蓝图分配,并将其选中。
在此页中,可以看到分配成功消息、创建的资源列表及其蓝图锁定状态。 如果更新了分配,“分配操作”下拉列表会显示有关每个定义版本的部署的详细信息。 可以选择列出的每个已创建资源,打开该资源的属性页。
选择“ProductionRG”资源组。
可以看到,该资源组的名称是 ProductionRG,而不是项目显示名称 ProdRG。 此名称与蓝图分配期间设置的值相匹配。
在左侧选择“访问控制(IAM)”页,然后选择“角色分配”选项卡。
在此处可以看到,为你的帐户授予了“此资源”范围的“参与者”角色。 Assignment-two-rgs-with-role-assignments 蓝图分配具有“所有者”角色,因为资源组是使用该分配创建的。 这些权限还用于管理配置有蓝图锁的资源。
在 Azure 门户痕迹导航中,选择“Assignment-two-rgs-with-role-assignments”返回前一页面,然后选择“PreProductionRG”资源组。
在左侧选择“访问控制(IAM)”页,然后选择“角色分配”选项卡。
在此处可以看到,为你的帐户授予了“此资源”范围的“所有者”和“读取者”角色。 与第一个资源组一样,该蓝图分配也具有“所有者”角色。
选择“拒绝分配”选项卡。
该蓝图分配在部署的资源组中创建了一个拒绝分配,以强制实施“只读”蓝图锁定模式。 该拒绝分配会阻止“角色分配”选项卡中具有相应权限的某人执行特定的操作。 拒绝分配会影响所有主体。
选择该拒绝分配,然后在左侧选择“拒绝的权限”页。
该拒绝分配正在阻止使用 * 和 Action 配置的所有操作,但允许通过 NotActions 排除 */read,以此进行读取访问。
在 Azure 门户痕迹导航中,选择“PreProductionRG - 访问控制(IAM)”。 在左侧选择“概述”页,然后选择“删除资源组”按钮。 输入名称 PreProductionRG 以确认删除,然后选择窗格底部的“删除”。
此时会显示门户通知“删除资源组 PreProductionRG 失败”。 错误中指出,尽管你的帐户有权删除资源组,但蓝图分配拒绝了访问。 回顾前文,我们在蓝图分配期间选择了“只读”蓝图锁定模式。 蓝图锁会阻止具有权限的帐户(甚至包括“所有者”)删除资源。 有关更多信息,请参阅蓝图资源锁定。
这些步骤演示了我们的资源是根据定义创建的,蓝图锁会阻止意外的删除,甚至可以阻止具有权限的帐户执行删除。
取消分配蓝图
最后一步是删除蓝图分配及其部署的资源。 删除分配不会删除已部署的项目。
在左侧窗格中,选择“所有服务” 。 搜索并选择“蓝图”。
在左侧选择“分配的蓝图”页。 使用筛选器找到 Assignment-two-rgs-with-role-assignments 蓝图分配,并将其选中。
选择页面顶部的“取消分配蓝图”按钮。 阅读确认对话框中的警告,然后选择“确定”。
删除蓝图分配时,蓝图锁也会一并删除。 具有权限的帐户现在又可以删除创建的资源。
在 Azure 菜单中选择“资源组”,然后选择“ProductionRG”。
在左侧选择“访问控制(IAM)”页,然后选择“角色分配”选项卡。
每个资源组的安全性仍具有已部署的角色分配,但蓝图分配不再具有“所有者”访问权限。
“删除蓝图分配成功”门户通知出现后,转到下一步骤。
清理资源
完成本教程后,请删除以下资源:
- 资源组 ProductionRG
- 资源组 PreProductionRG
- 蓝图定义 two-rgs-with-role-assignments
后续步骤
在本教程中,你已了解如何通过示例定义创建新的蓝图。 若要详细了解 Azure 蓝图,请继续学习蓝图生命周期文章。