跳到正文

Azure 登陆区图:管理组、订阅与中心网络

一篇讲清 Azure 登陆区如何组成:管理组层级、订阅、Azure Policy 护栏、中心辐射或 Virtual WAN,以及 IaC 加速器。

· 创始人兼开发者

发布于

缩进树从租户根组到 Contoso 中间根组,中间根组带有策略节点,其下依次是 Platform、含 Corp 和 Online 的 Landing zones、Sandbox 和 Decommissioned。右侧两个 Corp 辐射 VNet 与带防火墙和网关的中心 VNet 对等连接。

大多数 Azure 环境的起点都一样。有人为试点创建了一个订阅,接着为生产创建一个,然后每个团队各有一个。两年后,租户根组下挂着 40 个订阅,其中三个自建了 VPN 网关,一台数据库 VM 带着公网 IP,而且没人知道哪些策略适用于哪里。

Azure 登陆区是 Microsoft 为避免这种局面给出的蓝图。本文配合图示逐一介绍各个部分:管理组、平台与工作负载登陆区、策略护栏、中心辐射与 Virtual WAN、身份和部署。

什么是 Azure 登陆区

Cloud Adoption Framework (CAF) 将 Azure 登陆区定义为“用于治理、保护和扩展多订阅 Azure 环境的成熟且灵活的架构”(Microsoft Learn)。它分为两部分:

  • 平台登陆区:管理组层级,加上中心网络、日志和安全工具等共享资源。Microsoft 建议每个 Microsoft Entra 租户设一个,由平台团队运维。
  • 工作负载登陆区:每个工作负载一个,由其团队拥有,把所有环境(开发、测试、生产)作为一个或多个订阅。较早的资料称之为应用程序登陆区。

订阅是基本构件:CAF 称它是管理、计费和扩展的单位。按 AWS 的说法,订阅大致相当于账户,管理组相当于组织单元;AWS 登陆区图讲的是这一侧。

管理组层级

在管理组上分配的策略或角色会应用到其下的所有内容,订阅所有者无法更改。根据管理组文档,Azure 每个租户允许 10,000 个管理组,根以下最多六层,每个管理组只有一个父级。

参考层级,并附上默认 ALZ 策略分配的说明:

管理组 父级 包含的内容
租户根组 无 租户中的一切;ALZ 不在此分配策略
中间根组,例如 Contoso 租户根组 整个登陆区;日志等全组织范围的策略
Platform 中间根组 Management (Log Analytics)、Connectivity (中心网络)、Identity (域控制器) 和 Security (Microsoft Sentinel),各一个订阅
Landing zones 中间根组 Corp (连接到中心)、Online (面向互联网) 和 Local (Azure Local)
Sandbox 中间根组 实验;拒绝与其他订阅的 VNet 对等连接
Decommissioned 中间根组 正在关闭的订阅;拒绝新资源,VM 被关机

CAF 管理组指南中的三条规则能避免大多数重新设计:

  1. 保持扁平。 三到四层就够了;不要为区域或开发、测试、生产添加管理组。
  2. 在中间根组分配,而不是租户根组。 新订阅默认落在租户根组下,在你要求权限之前任何用户都能创建管理组。两项都要改,并把 Sandbox 设为默认。
  3. 在订阅范围给工作负载团队授予角色。 平台团队可以在管理组上持有角色,用即时访问来控制。

名称正在变化:Security 在 2025 年并入了 Platform,最新的 CAF 概述把 Landing zones 称为“Workload landing zones”,把 Corp 称为“Internal”。

平台登陆区与工作负载登陆区

平台登陆区 工作负载登陆区
所有者 平台团队 工作负载团队
内容 管理组、策略、中心、日志、身份服务 一个工作负载在所有环境中的资源
数量 每个 Entra 租户一个 每个工作负载一个
创建方式 IaC 加速器 订阅自动发放,按请求进行
访问 通过 PIM 获得管理组角色 在自己订阅上的角色

在订阅自动发放中,一次请求(通常是拉取请求)会在 Corp 或 Online 下创建订阅,分配角色和预算,对 Corp 还会添加一个与中心对等连接的辐射网络。Microsoft 发布了 Bicep 和 Terraform 的发放模块。

策略驱动的护栏

Azure Policy 把层级变成强制执行:在管理组上分配一次规则,其下当前和未来的每个订阅都会继承它。

护栏 效果 分配位置
不允许具有公共网络访问的 PaaS 服务 Deny Corp
不允许带公网 IP 的网络接口 Deny Corp
专用终结点的 DNS 记录 DeployIfNotExists Corp
每个子网都有网络安全组 Deny Landing zones、Identity
活动日志和资源日志发送到 Log Analytics DeployIfNotExists 中间根组
允许的位置 Deny 默认不分配

区域规则需要谨慎:内置的 Allowed locations 策略会跳过资源组和 global 位置,所以要搭配 Allowed locations for resource groups 使用,并先用 DoNotEnforce 模式运行,看它会拦截什么:

az policy assignment create \
  --name allowed-locations \
  --scope /providers/Microsoft.Management/managementGroups/contoso \
  --policy e56962a6-4747-49cd-b67b-bf8b01975c4c \
  --params '{"listOfAllowedLocations": {"value": ["westeurope", "northeurope"]}}' \
  --enforcement-mode DoNotEnforce

时机很重要:新的分配大约五分钟后生效,移入管理组的订阅大约 30 分钟后评估,完整扫描每 24 小时运行一次。DeployIfNotExists 和 Modify 策略作用于新建和更新的资源;已有资源需要修正任务。

网络:中心辐射还是 Virtual WAN

连接订阅拥有共享网络:Azure Firewall、VPN 和 ExpressRoute 网关、Bastion、专用 DNS 区域和 DNS Private Resolver。CAF 的网络拓扑指南提供两种设计:

中心虚拟网络 Virtual WAN
路由 你自己管理对等连接、路由表和网关传输 每个中心里有一个 Microsoft 托管的路由器
适用场景 少数区域,IPsec 隧道少于 30 条,需要完全控制 多个区域,SD-WAN 或超过 30 个分支,VPN 到 ExpressRoute 的传输
辐射到辐射 通过防火墙,借助路由表 在 Standard 中心里通过中心路由器,或使用路由意图经由防火墙
规模 每个虚拟网络 650 个对等连接 每个中心 500 个 VNet 连接减去中心数量;50 Gbps 路由器
地址空间 AzureFirewallSubnet 需要 /26 中心需要 /24,使用 Azure Firewall 时为 /22,创建时固定

对等连接不具传递性,所以在中心虚拟网络中,每个辐射网络都有一张把 0.0.0.0/0 发往防火墙专用 IP 的路由表,中心侧的对等连接允许网关传输,辐射侧的对等连接使用远程网关;路由细节见中心辐射网络拓扑一文。Azure Firewall Basic 最高处理 250 Mbps,Standard 为 30 Gbps,Premium 为 100 Gbps。使用 Virtual WAN 时选 Standard 类型;Basic 只支持站点到站点 VPN。

DNS 是团队最常出错的地方。privatelink.blob.core.windows.net 这类专用 DNS 区域放在连接订阅中,并链接到中心,由 DNS Private Resolver 转发到 168.63.129.16 的 Azure DNS;本地 DNS 服务器把 blob.core.windows.net 这类区域转发给它。Corp 中的 DeployIfNotExists 策略会把每个专用终结点的记录写入中央区域,所以工作负载团队不需要对它的权限。

身份

Microsoft Entra 租户是身份边界。CAF 的实用规则:

  • 在发放时给工作负载团队授予其自有订阅上的角色,绝不授予管理组上的角色。
  • 让平台工程师通过 Privileged Identity Management (PIM) 激活 Owner 等角色,需要审批并有时间限制。
  • 对所有管理 Azure 的人应用条件访问,并保留受监控的紧急访问账户。
  • 如果工作负载仍然需要,就用身份订阅放置域控制器或 Microsoft Entra Domain Services。

部署

撰写本文时(2026 年 11 月),Microsoft 推荐 Azure Landing Zones IaC Accelerator:基于 Azure Verified Modules (AVM) 的 Bicep 或 Terraform。它的 PowerShell 模块会初始化 GitHub 或 Azure DevOps 仓库、带审批的流水线,以及使用联合凭据的托管标识。Terraform 为层级和策略 (avm-ptn-alz)、管理资源以及每种网络设计使用各自独立的模块;Bicep 使用部署堆栈,它可能删除你从模板中移除的资源。

旧方案正在退役:Terraform 模块 caf-enterprise-scale 已弃用,经典的 ALZ-Bicep 于 2026 年 2 月 16 日退出加速器,其仓库将于 2027 年 2 月 16 日归档。门户版加速器仍然保留,但没有代码,很难更新。

要做好预算。加速器的场景页面估算,使用 Azure Firewall 的单区域中心辐射,固定基础设施每月约 $5,640,小型企业变体为 $690,后者除其他项外还关闭了 DDoS Network Protection 套餐(2026 年 4 月 westus 零售价,不含流量和日志)。你还需要四个平台订阅,小型企业配置则需要两个。

Azure 登陆区图

缩进树从租户根组到 Contoso 中间根组,中间根组带有策略节点,其下依次是 Platform、含 Corp 和 Online 的 Landing zones、Sandbox 和 Decommissioned。右侧两个 Corp 辐射 VNet 与带防火墙和网关的中心 VNet 对等连接。

20 个组件 · 14 个连接

在 Archboard 中打开
图表内容
  • Tenant root group
  • Contoso
  • Platform
  • Landing zones
  • Corp
  • Online
  • Sandbox
  • Decommissioned
  • Azure Policy guardrails
  • Hub VNet
  • VPN / ExpressRoute gateway
  • Azure Firewall · 10.0.0.4
  • Spoke VNet · app-a
  • Spoke VNet · app-b
  • assigned here, inherited by every child
  • Connectivity MG › connectivity subscription
  • vended into Corp
  • VNet peering
  • ExpressRoute or VPN
Azure 登陆区的管理组层级,以及它所管控的中心辐射网络。分配在中间根组的策略会覆盖其下的每个订阅,连接订阅则拥有 Corp 辐射网络所对等连接的中心。

这张图的读法如下:

  • 左侧的树是层级;箭头从父级指向子级,也就是继承的方向。
  • 策略节点挂在 Contoso 中间根组上,而不是租户根组,所以它覆盖整个登陆区,而不会覆盖其他内容。
  • 颜色表示归属:蓝色是平台,绿色是工作负载,琥珀色是 Sandbox,灰色是根组和已退役的订阅。
  • 虚线表示位置:中心位于连接订阅中,两个辐射网络都发放到 Corp 下。
  • 实线承载流量:与中心的对等连接以及通往本地的网关链路;每个辐射网络把 0.0.0.0/0 路由到 10.0.0.4 的防火墙。
  • Markdown 块列出了关键限制。

把 Azure 登陆区图画清楚

  • 把治理和网络画成两个视图,只在订阅所在之处相连。
  • 把每条策略挂在分配它的位置,让读者看到它约束哪些工作负载。
  • 每个组只展示一两个示例订阅,不要画成清单。
  • 在中心和每个辐射网络上写明地址范围;重叠是评审者最先检查的内容。
  • 避免经典错误:把对等连接画成可传递的、把工作负载放在租户根组下,以及把区域或环境当作管理组。

带类型的云节点见云架构图,由 Terraform 管理的环境见 Terraform 架构图一文。

在 Archboard 中构建

  1. 用 Google 或 GitHub 登录并创建一个图表。
  2. 从云包中添加八个云资源节点:Tenant root group、Contoso、Platform、Landing zones、Corp、Online、Sandbox 和 Decommissioned。把每个角色写在资源类型行里,并排成缩进树。
  3. 用正交连线把父级连到子级,并给分支上色:Platform 用蓝色,Landing zones 用绿色,Sandbox 用琥珀色。
  4. 从安全包中添加一个名为 Azure Policy guardrails 的策略节点,并连到 Contoso。
  5. 从网络包中为中心添加一个 VPC 节点,内含一个代表网关的路由器和一个防火墙,再为辐射网络添加两个 VPC 节点,每个都用基础包中的文本行写明它的路由。
  6. 画出从 Platform 到中心、从 Corp 到辐射网络的虚线,画出与中心的对等连接线,以及从网关到本地文本标签的连线。
  7. 从基础包中添加一个列出限制的 Markdown 块。

如果你的登陆区用 Terraform 管理,Terraform to diagram 工具可以把这些文件变成初稿。

这个示例共用 15 个图表节点,在 Free 套餐的限制之内。

常见问题

什么是 Azure 登陆区? 在工作负载到来之前,按 Cloud Adoption Framework 建议构建的多订阅 Azure 环境:管理组、策略护栏、身份、日志和共享网络。

Azure 登陆区使用哪些管理组? 租户根组下有一个中间根组,其下是 Platform (Management、Connectivity、Identity、Security)、Landing zones (Corp、Online、Local)、Sandbox 和 Decommissioned。

Corp 和 Online 登陆区有什么区别? Corp 放置通过中心访问企业网络的工作负载,所以默认在那里拒绝公共 PaaS 终结点和网络接口上的公网 IP。Online 放置需要直接访问互联网或不使用虚拟网络的工作负载。

应该用中心辐射还是 Virtual WAN? 中心虚拟网络适合少数区域、少于 30 条站点到站点隧道和完全的路由控制;Virtual WAN 适合多个区域和分支、SD-WAN,或 VPN 到 ExpressRoute 的传输。

Terraform 模块 caf-enterprise-scale 还受支持吗? 不受支持。它已弃用,不再更新。平台登陆区请使用 Azure Verified Modules,通常通过 IaC 加速器;Microsoft 提供了迁移路径文档。

免费开始 — 1 个席位,无需信用卡。

相关文章

← 返回博客

一分钟打开画布

使用 Google 或 GitHub 登录。单席位免费,团队加入后再升级。