重要
2026 年 7 月 11 日,蓝图(预览版)将弃用。 将现有蓝图定义和分配迁移到 模板规格。 蓝图工件将转换为用于定义部署堆栈的ARM JSON模板或Bicep文件。 若要了解如何将工件创建为 ARM 资源,请参阅:
部署蓝图时,Azure 蓝图服务会采取一系列操作来部署蓝图中定义的资源。 本文详细介绍了每个步骤涉及的内容。
蓝图部署是通过将蓝图分配给订阅或 更新现有分配来触发的。 在部署期间,Azure 蓝图执行以下高级步骤:
- Azure 蓝图授予所有者权限
- 创建蓝图分配对象
- 可选 - Azure 蓝图创建系统指定的托管标识
- 托管标识部署蓝图工件
- Azure 蓝图服务和 系统分配托管标识权限被吊销
Azure 蓝图授予所有者权限
使用系统分配的托管标识托管标识时,Azure 蓝图服务主体将被授予已分配订阅或订阅的所有者权限。 授予的角色允许 Azure 蓝图 创建和之后撤销 系统分配的 托管标识。 如果使用用户分配的托管标识,则 Azure 蓝图 服务主体不会获取且不需要订阅的所有者权限。
如果分配是通过门户完成的,则会自动授予权限。 但是,如果分配是通过 REST API 完成的,则需要使用单独的 API 调用来授予权限。 Azure 蓝图 的应用程序 ID 是 f71766dc-90d9-4b7d-bd9d-4499c4331c3f,但服务主体会因租户而异。 使用 Azure Active Directory 图形 API 和 REST 终结点 servicePrincipals获取服务主体。 然后,通过 Portal、Azure CLI、Azure PowerShell、REST API 或 Azure 资源管理器 模板 授予 Azure 蓝图 Owner 角色。
Azure 蓝图服务不会直接部署资源。
创建蓝图分配对象
用户、组或服务主体将蓝图分配给订阅。 分配对象存在于分配蓝图的订阅级别。 部署创建的资源不会在部署实体的上下文中完成。
创建蓝图分配时,会选择 托管标识 的类型。 默认值为 系统分配的 托管标识。 可以选择 用户分配的 托管标识。 使用 用户分配的 托管标识时,必须先定义并授予权限,然后才能创建蓝图分配。
所有者和蓝图操作员内置角色都具有用于创建和使用blueprintAssignment/write托管标识的分配的必要权限。
可选 - Azure 蓝图创建系统分配的托管标识
在分配期间选择系统分配的托管标识时,Azure 蓝图创建标识并将托管标识授予所有者角色。 如果升级了现有的分配,Azure 蓝图 将使用以前创建的托管标识。
与蓝图分配相关的托管标识用于部署或重新部署蓝图中定义的资源。 此设计避免了无意中相互干扰的工作分配。 此设计还通过控制蓝图中每个已部署资源的安全性来支持 资源锁定 功能。
托管标识部署蓝图工件
然后,托管标识按定义的顺序触发蓝图中工件的 资源管理器 部署。 可以调整顺序以确保依赖于其他项目的项目按正确的顺序进行部署。
部署的访问失败通常是授予托管标识的访问权限级别的结果。 Azure 蓝图服务管理系统分配托管标识的安全生命周期。 但是,用户负责管理 用户分配的 托管标识的权限和生命周期。
蓝图服务和系统分配的托管标识权限已被撤销
部署完成后,Azure 蓝图 会从订阅中撤销 系统分配 托管身份的访问权限。 然后,Azure 蓝图 服务从订阅中撤回权限。 权限删除可防止Azure 蓝图成为订阅的永久所有者。