你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
重要
2026 年 7 月 11 日,蓝图(预览版)将弃用。 将现有蓝图定义和分配迁移到 模板规格 和 部署堆栈。 蓝图构件将被转换为 ARM JSON 模板或 Bicep 文件,以用于定义部署堆栈。 若要了解如何将工件创建为 ARM 资源,请参阅:
本教程介绍如何使用 Azure 蓝图执行与在组织中创建、发布和分配蓝图相关的一些常见任务。 此技能可帮助你定义基于 Azure 资源管理器(ARM)模板、策略和安全性开发可重用和快速部署的配置的常见模式。
先决条件
- 如果没有 Azure 订阅,请在开始之前创建一个免费帐户。
- 若要创建蓝图,帐户需要以下权限:
- Microsoft.Blueprint/blueprints/write - 创建蓝图定义
- Microsoft.Blueprint/blueprints/artifacts/write - 创建蓝图定义的工件
- Microsoft.Blueprint/blueprints/versions/write - 发布蓝图
创建蓝图
定义符合性标准模式的第一步是从可用资源撰写蓝图。 让我们创建一个名为 MyBlueprint 的蓝图,为订阅配置角色和策略分配。 然后,在资源组上添加资源组、ARM 模板和角色分配。
在左窗格中选择 “所有服务 ”。 搜索并选择 “蓝图”。
选择 蓝图定义,然后选择“ + 创建蓝图”。
或者,选择 “开始>创建 ”以直接创建蓝图。
从内置蓝图列表顶部的卡中选择“以空白蓝图开始”。
提供蓝图名称,例如 MyBlueprint。 (最多可以使用 48 个字母和数字,但不能使用空格或特殊字符。暂时将 蓝图说明 留空。
在 “定义位置 ”框中,选择右侧的省略号。 然后选择要保存蓝图的管理组或订阅,接着点击选择。
确认信息是否正确。 以后无法更改蓝图名称和定义位置字段。 然后选择“ 下一步: ”页面底部的项目“或页面顶部的” 项目 “选项卡。
在订阅级别添加角色分配:
在 “订阅”下,选择“ + 添加项目”。 “ 添加项目 ”窗口将在浏览器右侧打开。
对于 项目类型,请选择 “角色分配”。
对于 “角色”,请选择“ 参与者”。 保留 “添加用户、应用或组” 框内带有指示动态参数的复选框。
选择 “添加” 以将此项目添加到蓝图。
注释
大多数工件支持参数。 在创建蓝图期间分配值的参数是 静态参数。 如果在蓝图分配期间分配参数,则它是 一个动态参数。 有关详细信息,请参阅 蓝图参数。
在订阅级别添加策略分配:
在角色分配构件下,选择“ + 添加工件”。
对于 项目类型,请选择 “策略分配”。
将 类型 更改为 内置类型。 输入 “搜索”,然后输入 标签。
将焦点移出搜索,以便进行筛选。 选择 “将标记及其值追加到资源组”。
选择 “添加” 以将此项目添加到蓝图。
选择策略分配的行 ,将标记及其值追加到资源组。
此时将打开一个窗口,作为蓝图定义的一部分向项目提供参数。 可以根据此蓝图设置所有任务的参数(静态参数),而不是在任务分配期间设置参数(动态参数)。 此示例在蓝图分配期间使用动态参数,因此请保留默认值并选择“ 取消”。
在订阅级别添加资源组:
在 “订阅”下,选择“ + 添加项目”。
对于 项目类型,请选择 “资源组”。
将项目显示名称、资源组名称和位置框留空。 确保选中每个参数属性的复选框,以使其成为动态参数。
选择 “添加” 以将此项目添加到蓝图。
在资源组下添加模板:
在 ResourceGroup 下,选择“ + 添加项目”。
对于 项目类型,请选择 Azure 资源管理器模板。 将 项目显示名称 设置为 StorageAccount,并将 “说明” 留空。
在编辑器框中的“ 模板 ”选项卡上,粘贴以下 ARM 模板。 粘贴模板后,选择“ 参数 ”选项卡,并记下模板参数
storageAccountType并location检测到。 会自动检测和填充每个参数,但配置为动态参数。重要
如果要导入模板,请确保该文件仅是 JSON 且不包含 HTML。 指向 GitHub 上的 URL 时,请确保已选择 RAW 以获取纯 JSON 文件,而不是用 HTML 包装的 URL,以便在 GitHub 上显示。 如果导入的模板不是纯 JSON,则会发生错误。
{ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "storageAccountType": { "type": "string", "defaultValue": "Standard_LRS", "allowedValues": [ "Standard_LRS", "Standard_GRS", "Standard_ZRS", "Premium_LRS" ], "metadata": { "description": "Storage Account type" } }, "location": { "type": "string", "defaultValue": "[resourceGroup().location]", "metadata": { "description": "Location for all resources." } } }, "variables": { "storageAccountName": "[concat('store', uniquestring(resourceGroup().id))]" }, "resources": [{ "type": "Microsoft.Storage/storageAccounts", "name": "[variables('storageAccountName')]", "location": "[parameters('location')]", "apiVersion": "2018-07-01", "sku": { "name": "[parameters('storageAccountType')]" }, "kind": "StorageV2", "properties": {} }], "outputs": { "storageAccountName": { "type": "string", "value": "[variables('storageAccountName')]" } } }清除 storageAccountType 复选框,请注意,下拉列表仅包含 ARM 模板下
allowedValues包含的值。 选择该框以将其设置回动态参数。选择 “添加” 以将此项目添加到蓝图。
已完成的蓝图应如下所示。 在参数列中,请注意,每个项目都有 x 个参数被填充,总共有 y 个参数。 动态参数是在蓝图每次分配期间设置的。
添加所有计划的项目后,请选择页面底部的 “保存草稿 ”。
编辑蓝图
在 “创建蓝图”中,未提供说明或向新资源组添加角色分配。 可以通过执行以下步骤来修复这两者:
从左侧页面选择 蓝图定义 。
在蓝图列表中,选择并按住之前创建的蓝图(或右键单击)。 然后选择 “编辑蓝图”。
在蓝图说明中,提供有关蓝图及其组成工件的一些信息。 在这种情况下,请输入如下内容: 此蓝图在订阅上设置标记策略和角色分配,创建 ResourceGroup,并将资源模板和角色分配部署到该 ResourceGroup。
选择页面底部的下一步:Artifacts或页面顶部的Artifacts选项卡。
在资源组下添加角色分配:
在 ResourceGroup 下,选择“ + 添加项目”。
对于 项目类型,请选择 “角色分配”。
在 “角色”下,选择“ 所有者”,然后清除“ 添加用户”、“应用”或“组 ”框下的复选框。
搜索并选择要添加的用户、应用或组。 此工件使用相同的静态参数集,并在该蓝图的每个分配中保持不变。
选择 “添加” 以将此项目添加到蓝图。
已完成的蓝图应如下所示。 请注意,新添加的角色分配显示“已填充 1 个参数中的 1 个”。 这意味着它是静态参数。
选择保存草稿,因为其已更新。
发布蓝图
现在,你已将所有计划的项目添加到蓝图,现在可以发布它了。 发布后,即可将蓝图分配到订阅。
从左侧页面选择 蓝图定义 。
在蓝图列表中,选择并按住之前创建的蓝图(或右键单击)。 然后选择“ 发布蓝图”。
在打开的窗格中,提供 版本 (字母、数字和连字符,最大长度为 20 个字符),例如 v1。 (可选)在 “更改笔记”中输入文本,例如 “首次发布”。
选择页面底部的 “发布 ”。
分配蓝图
发布蓝图后,可以将其分配给订阅。 将创建的蓝图分配到管理组层次结构下的一个订阅。 如果蓝图保存到订阅,则只能将其分配给该订阅。
从左侧页面选择 蓝图定义 。
在蓝图列表中,选择并按住(或右键单击)之前创建的蓝图(或选择省略号)。 然后选择“ 分配蓝图”。
在 “分配蓝图 ”页上的 “订阅 ”下拉列表中,选择要向其部署此蓝图的订阅。
如果 Azure 计费中提供了受支持的企业产品/服务,则会在“订阅”框下激活一个新链接。 执行以下步骤:
选择 “创建新 ”链接以创建新订阅,而不是选择现有订阅。
对于 显示名称,请输入新订阅的名称。
对于 产品/服务,请从下拉列表中选择可用的产品/服务。
对于“管理组”,请选择省略号来选择管理组,订阅将是其子级。
选择页面底部的 “创建 ”。
重要
选择“ 创建”后,会立即创建新订阅。
注释
为您选择的每个订阅生成一个任务。 可以在以后对单个订阅分配进行更改,而无需对所选订阅的其余部分进行更改。
对于 分配名称,请为此分配提供唯一的名称。
在 “位置”中,选择要在其中创建托管标识和订阅部署对象的区域。 Azure 蓝图使用此托管标识来部署分配的蓝图中的所有项目。 若要了解详细信息,请参阅Azure 资源托管标识。
对于蓝图定义版本下拉列表中已发布版本的选择,请保留v1条目为原样。 (默认值为最新发布的版本。
对于“锁定分配”,保留默认值“不锁定”。 有关详细信息,请参阅 蓝图资源锁定。
在 “托管标识”下,保留系统 分配的默认值。
在订阅级别的角色分配中[用户组或应用程序名称]:贡献者,请搜索并选择一个用户、应用程序或组。
对于订阅级策略分配,请将 “标记名称 ”设置为 CostCenter,并将 “标记值 ”设置为 ContosoIT。
对于“ResourceGroup”,请通过下拉列表提供名称“StorageAccount”和位置“美国东部 2”。
注释
对于在蓝图定义期间在资源组下添加的每个项目,该项目将缩进以与将部署的资源组或对象对齐。 只有在上下文信息中才会列出无法获取参数或者在分配时没有要定义的参数的项目。
在 ARM 模板 StorageAccount 上,为 storageAccountType 参数选择Standard_GRS。
阅读页面底部的信息框,然后选择“ 分配”。
跟踪蓝图的部署
将蓝图分配给一个或多个订阅时,会发生两种情况:
- 蓝图将添加到每个订阅的“分配的蓝图”页
- 开始部署蓝图中定义的所有工件的过程。
将蓝图分配给订阅后,请验证部署的进度:
从左侧页面选择“已分配的蓝图”。
在蓝图列表中,选择并按住之前分配的蓝图(或右键单击)。 然后选择“ 查看分配详细信息”。
在 “蓝图分配 ”页上,验证是否已成功部署所有项目,并且部署期间没有错误。 如果发生错误,请参阅 故障排除蓝图 ,了解确定出了什么问题的步骤。
清理资源
取消分配蓝图
如果不再需要蓝图,请从订阅中删除蓝图分配。 蓝图可能已被较新的蓝图替换,其中包含更新的模式、策略和设计。 删除蓝图后,作为该蓝图的一部分分配的项目将保留下来。 若要删除蓝图分配,请执行以下步骤:
从左侧页面选择“已分配的蓝图”。
在蓝图列表中,选择要取消分配的蓝图。 然后选择页面顶部的 “取消分配蓝图 ”。
阅读确认消息,然后选择“ 确定”。
删除蓝图
从左侧页面选择 蓝图定义 。
右键单击要删除的蓝图,然后选择“ 删除蓝图”。 然后在确认对话框中选择 “是 ”。
注释
删除此方法中的蓝图也会删除所选蓝图的所有已发布版本。 若要删除单个版本,请打开蓝图,然后选择“ 已发布的版本 ”选项卡。然后选择要删除的版本,然后选择“ 删除此版本”。 另外,只有在删除蓝图定义的所有蓝图分配之后,才能删除该蓝图。
后续步骤
在本快速入门中,你已使用 Azure 门户创建、分配和删除了蓝图。 若要详细了解 Azure 蓝图,请继续阅读蓝图生命周期文章。