✅ 一句话理解(最重要)
Azure Subscription 是 Azure 里"资源 + 计费 + 权限"的一级边界。
它决定了:资源放哪、钱算谁、谁能操作。
🔹 Azure Subscription 到底"是什么"?
从 Azure 官方定义来看:
An Azure subscription is a logical container used to provision and manage Azure resources, and it acts as a billing and access control boundary.
------Microsoft Learn [bing.com]
翻成人话就是:
Azure Subscription = 一个"账本 + 权限隔离箱 + 资源容器"
🔹 Subscription 在 Azure 层级里处在哪?
Azure 的组织结构是这样的(自上而下):
Azure Tenant(租户 / 公司级身份)
└── Management Group(可选,做统一治理)
└── Azure Subscription ✅ ← 重点
└── Resource Group
└── 具体资源(VM / Storage / AKS / App / 任何云资源)
也就是说:
- ✅ 所有 Azure 资源必须属于某一个 subscription
- ✅ 一个资源不能跨 subscription
- ✅ subscription 是资源、权限、费用的最小"硬边界"
这个层级关系在微软官方文档中是明确描述的。 [ramprasadtech.com]
🔹 一个 Subscription 决定了哪 3 件核心事情
① 计费边界(Billing Boundary)
- 每个 subscription 都是独立算钱的
- Azure 账单、成本分析、预算、报警,都是按 subscription 看
Subscription 本身不要钱,里边跑的资源才花钱 [learn.microsoft.com]
② 权限边界(Access Control Boundary)
- Azure RBAC(Owner / Contributor / Reader 等)可以精确到 Subscription 级别
- 在 A subscription 有权限 ≠ 在 B subscription 有权限
这也正是为什么:
az login后可能看到 很多 subscription- 但通常只在其中少数几个真的干活
③ 资源与配额边界(Resource & Quota Boundary)
- 每个 subscription 有独立的:
- VM 配额
- 核数限制
- Service limits
- 想"绕限额",往往就得 新建 subscription
这是企业常用多 subscription 的重要原因之一。 [alifconsulting.com]
👉 Subscription ≠ 项目 ≠ Repo ≠ App,它是云资源的"行政区划"。
🔹 为什么 Azure CLI 总让"选 subscription"?
因为:
bash
az vm list
az aks get-credentials
az resource list
这些命令都必须回答一个问题:
"我要在哪一个账本 / 权限空间里操作?"
所以 Azure CLI 总有一个 current subscription,可以用:
bash
az account show
az account set --subscription <SUB_ID>
切换。
🔹 一个非常形象的类比(工程师版)
用类比来理解:
| 现实世界 | Azure |
|---|---|
| 公司 | Azure Tenant |
| 事业群 | Management Group |
| 部门账本 | Azure Subscription ✅ |
| 项目文件夹 | Resource Group |
| 服务器 / 数据库 | Azure Resource |
✅ 最终总结
Azure Subscription 是 Azure 中"资源 + 钱 + 权限"的一级隔离单元。
它是云世界里的"账本 + 管辖区"。
选择哪个 subscription,决定了在 Azure 上"动哪一摊资源、算哪一笔钱"。