第 2 章

治理和合规性

⏱️ 150 分钟📚 Manage Azure identities and governance难度: ⭐⭐
📝 30 题练习
备考助手

治理和合规性(Governance & Compliance)

📋 本章概览

信息详情
考试领域Manage Azure identities and governance
考试权重与 Ch1 合计 20%
建议时长150 分钟
难度⭐⭐ 中等
前置知识Ch1 Entra ID 基础(用户、角色概念)

📢 本章定位:Ch1 讲的是"谁能登录"(身份),本章讲的是"登录后能做什么 + 资源必须符合什么规则"(权限 + 合规)。两章合在一起构成 Azure 治理的完整闭环。


🎯 学习目标

完成本章后,你将能够:

  • ✅ 理解 Azure 资源层级(管理组 → 订阅 → 资源组 → 资源),以及继承关系
  • ✅ 配置 Azure Policy 强制资源合规(Deny / Audit / DeployIfNotExists)
  • ✅ 使用 RBAC 实现最小权限访问控制
  • ✅ 区分 Policy、RBAC、Lock 三者的职责边界——考试最爱考的混淆点
  • ✅ 配置资源锁、标签和成本管理

本章知识地图

治理与合规 Governance & Compliance
│
├── 资源层级 ─────────── Management Group(集团总部)
│   │                   └── Subscription(子公司)
│   │                       └── Resource Group(部门)
│   │                           └── Resource(员工/设备)
│   └── 继承规则 ────── Policy + RBAC 从上往下继承
│
├── Azure Policy ────── "资源必须满足什么规则"
│   ├── 效果:Deny / Audit / Append / DeployIfNotExists / Modify
│   └── Initiative:多条策略打包
│
├── RBAC ─────────────── "谁能对资源做什么"
│   └── 角色分配 = 安全主体 + 角色定义 + 范围
│       └── Owner / Contributor / Reader / User Access Admin
│
├── Resource Lock ───── "即使有权限也防手滑"
│   ├── CanNotDelete(防删除)
│   └── ReadOnly(防修改+防删除)
│
├── Tags ─────────────── "给资源贴标签,方便分账和管理"
│
└── Cost Management ─── Budget + Cost Analysis + Alerts

🖼️ 治理控制全景图

Azure governance control flow

📌 图解说明:

  1. 这张图在讲什么:从管理组到资源的四级治理链路——Policy、RBAC、Lock 分别在哪一层生效。
  2. 你应该先看哪里:先看层级关系(从上到下),再看每层可以附加哪些治理工具。Policy 和 RBAC 可以在任意层分配并向下继承,Lock 通常在资源组或资源级别设置。
  3. 考试常见问法:"一条策略要覆盖多个订阅应该放在哪?"——Management Group。"最小权限应该在哪层赋权?"——尽量低的层级(资源组甚至资源级别)。

🏗️ Azure 资源层级

理解资源层级是本章的地基。Azure 里的所有治理动作(Policy、RBAC、Lock)都依赖这个四级结构。

术语:资源层级(Resource Hierarchy)

  • 一句话解释:Azure 用四级树形结构组织所有资源:管理组 → 订阅 → 资源组 → 资源。
  • 形象比喻:像一个跨国集团的架构——集团总部(Management Group)→ 子公司(Subscription)→ 部门(Resource Group)→ 员工/设备(Resource)。总部定的规矩,所有子公司都要遵守。
  • 考试怎么考:题目描述一个治理需求,问你应该在哪一层操作。层级选错 = 送分题丢分。
  • 最易混淆:管理组和订阅的关系。管理组是订阅的"上级容器",不是订阅的替代品。
Root Management Group(根管理组,每个租户自动有一个)
├── Management Group: "Production"
│   ├── Subscription: "Prod-App1"
│   │   ├── Resource Group: "rg-webapp"
│   │   │   ├── App Service
│   │   │   └── SQL Database
│   │   └── Resource Group: "rg-networking"
│   │       ├── VNet
│   │       └── NSG
│   └── Subscription: "Prod-App2"
│       └── ...
└── Management Group: "Development"
    └── Subscription: "Dev-Team"
        └── ...

继承规则(非常重要)

治理工具是否向下继承举例
Azure Policy✅ 是在管理组设 Deny 策略 → 所有子订阅、RG、资源都受影响
RBAC 角色分配✅ 是在订阅级别给 Contributor → 该订阅下所有 RG 和资源都有 Contributor
Resource Lock✅ 是在 RG 上设 CanNotDelete → RG 内所有资源都不能删
Tags不继承在 RG 上贴 Tag → 里面的资源不会自动有这个 Tag

⚠️ 考试陷阱:Tags 不继承!这是最常考的坑。如果需要子资源也有 Tag,必须用 Azure Policy 的 Inherit a tag from the resource group 策略强制继承。


📦 Azure 订阅(Subscription)

术语:Subscription(订阅)

  • 一句话解释:Azure 资源的计费边界和访问控制边界
  • 形象比喻:像公司的独立账本——每个订阅有自己的费用、有自己的权限设置,互相独立结算。
  • 考试怎么考:问"如何隔离不同环境的费用和权限"——答案通常是分多个订阅(Dev、UAT、Prod)。
  • 最易混淆:Subscription vs Resource Group。订阅是计费+权限的大边界;RG 是资源的逻辑分组,没有独立计费。

订阅的三个用途

用途含义场景
账单边界 (Billing Boundary)每个订阅独立计费按部门分账
访问控制边界 (Access Control Boundary)每个订阅独立配权限开发团队只能访问 Dev 订阅
环境分离不同订阅放不同环境Prod / UAT / Dev 各一个订阅

一个租户可以有多个订阅

Tenant: contoso.com
├── Subscription: "Production"     → 生产环境,预算 $10,000/月
├── Subscription: "Development"    → 开发环境,预算 $2,000/月
└── Subscription: "Sandbox"        → 实验环境,预算 $500/月

💡 为什么要多个订阅? 不是因为技术限制,而是为了成本隔离 + 权限隔离 + 策略隔离。每个订阅可以有不同的 RBAC、不同的 Policy、不同的预算。


🏛️ 管理组(Management Group)

术语:Management Group(管理组)

  • 一句话解释:订阅之上的容器,用来对多个订阅统一施加治理策略
  • 形象比喻:跨国集团的总部规章——总部(管理组)定的规矩,所有子公司(订阅)都得遵守。你不用一家一家去改。
  • 考试怎么考:题干出现"across multiple subscriptions"或"governance at scale"——答案几乎都涉及管理组。
  • 最易混淆:管理组不是资源容器(不能直接放 VM、Storage),它只管订阅。

管理组关键特性

特性说明
最大嵌套深度6 层(不含根管理组)
根管理组每个租户自动有一个,不能删除
继承Policy 和 RBAC 向下继承到所有子管理组和订阅
默认行为新订阅自动归入根管理组

什么时候用管理组

需要统一治理多个订阅?
├── 是 → Management Group(在管理组上设 Policy / RBAC)
└── 否 → 直接在订阅级别配置就行

⚠️ 考试重点:给管理组分配 RBAC 角色时,该角色会自动继承到所有子订阅和资源。这意味着在管理组级别给 Contributor 会让用户拥有所有子订阅的 Contributor 权限——通常权限太大了。


📜 Azure Policy

术语:Azure Policy(Azure 策略)

  • 一句话解释:给 Azure 资源定规矩——"不合规的资源不让创建"或"已有资源标记为不合规"。
  • 形象比喻:公司的合规审计部门——不是管"谁能进办公室"(那是 RBAC),而是管"办公室里的设备必须符合什么标准"。比如:所有电脑必须装杀毒软件,不符合的标记违规。
  • 考试怎么考:AZ-104 的 Policy 题非常多。核心是理解不同 Effect 的区别,以及 Policy 和 RBAC 的分工。
  • 最易混淆:Policy vs RBAC。Policy 管资源合规,RBAC 管人的权限。 即使你有 Owner 权限,如果 Policy 设了 Deny,你也创建不了不合规的资源。

Policy Effect(效果类型)

这是本章最核心的考点。必须能区分每个 Effect 的行为:

效果行为适用场景一句话记忆
Deny阻止不合规资源的创建或修改强制合规(如只允许特定 Region)不让干
Audit允许创建,但标记为不合规可视化合规状态,不强制只记录不拦
AuditIfNotExists如果关联资源不存在,标记不合规检查是否启用了诊断日志查关联是否存在
DeployIfNotExists如果关联资源不存在,自动部署自动给 VM 装扩展缺什么补什么
Append在创建/更新时添加字段自动加标签、加 IP 限制自动补信息
Modify修改现有资源的属性或标签修改标签、修改网络配置自动改属性
Disabled不执行任何操作暂时关闭策略策略休眠

⚠️ 考试陷阱Deny 和 Audit 的区别是最高频考点。"prevent creation" = Deny;"detect non-compliance" = Audit。看到 prevent/enforce → Deny;看到 detect/report/identify → Audit。

自定义策略示例

场景:强制所有存储账户必须启用 HTTPS

{
  "mode": "All",
  "policyRule": {
    "if": {
      "allOf": [
        {
          "field": "type",
          "equals": "Microsoft.Storage/storageAccounts"
        },
        {
          "field": "Microsoft.Storage/storageAccounts/supportsHttpsTrafficOnly",
          "notEquals": "true"
        }
      ]
    },
    "then": {
      "effect": "deny"
    }
  }
}

逐字段解读:

  • mode: "All" — 对所有资源类型生效
  • if 块 — 条件判断:如果是存储账户没开 HTTPS
  • then 块 — 执行动作:Deny(阻止创建)

Policy Initiative(策略计划)

术语:Initiative(策略计划 / 策略集)

  • 一句话解释:把多条 Policy 打包成一个"合规套餐",一次性分配。
  • 形象比喻:像超市的套餐组合——你不用一个一个买单品(Policy),直接买套餐(Initiative)更方便。
  • 考试怎么考:题目问"如何高效管理多条策略"或"规模化治理"——答案是 Initiative。
  • 最易混淆:Initiative 不是新的策略类型,只是策略的打包方式。里面的每条 Policy 仍然独立生效。
Initiative: "生产环境安全基线"
├── Policy 1: 存储账户必须 HTTPS (Deny)
├── Policy 2: VM 必须启用备份 (AuditIfNotExists)
├── Policy 3: 所有资源必须有 CostCenter 标签 (Deny)
└── Policy 4: SQL 必须启用审计 (DeployIfNotExists)

Policy 分配和作用域

Policy 可以分配到任何层级,并向下继承:

分配层级影响范围适用场景
Management Group所有子订阅和资源全公司统一规则
Subscription该订阅下所有 RG 和资源环境级规则
Resource Group该 RG 内所有资源项目级规则

💡 实际工作中:大多数企业在管理组级别分配 Initiative(如安全基线),在订阅级别做环境特定策略(如 Dev 环境允许公共 IP,Prod 不允许)。

Policy 合规性查看

# 查看策略合规状态
az policy state list --resource-group myRG --output table

# 触发合规性评估(默认每 24 小时自动评估一次)
az policy state trigger-scan --resource-group myRG

⚠️ 考试重点:新建的 Policy 不会立即评估所有现有资源。默认的评估周期是 24 小时一次。可以手动触发扫描。


🔑 RBAC(基于角色的访问控制)

术语:RBAC (Role-Based Access Control)

  • 一句话解释:通过"角色分配"控制谁能对哪些 Azure 资源做什么操作。
  • 形象比喻:公司的岗位权限卡——前台(Reader)只能看不能改;技术员(Contributor)能操作设备但不能改门禁;安全主管(Owner)什么都能做。
  • 考试怎么考:题目给一个权限需求,问你分配哪个角色、在哪个层级。
  • 最易混淆:RBAC 角色(管 Azure 资源)vs Entra ID 角色(管目录对象)。第一章已经讲过区别,这里专注 RBAC。

RBAC 的三个组件

每个角色分配由三个要素组成:

角色分配 (Role Assignment) = 谁 + 能做什么 + 在哪里

  谁:Security Principal(安全主体)
  ├── User(用户)
  ├── Group(组)
  ├── Service Principal(服务主体 / 应用)
  └── Managed Identity(托管标识)

  能做什么:Role Definition(角色定义)
  ├── Actions(允许的操作)
  └── NotActions(排除的操作)

  在哪里:Scope(范围)
  ├── Management Group
  ├── Subscription
  ├── Resource Group
  └── Resource

内置角色

角色权限能否分配权限一句话记忆
Owner完全控制✅ 能什么都能做,包括改权限
Contributor管理所有资源❌ 不能能操作资源,但不能管权限
Reader只读❌ 不能只能看,不能动
User Access Administrator管理用户权限✅ 能专门管"谁有什么权限"

⚠️ 考试高频题:Contributor 和 Owner 的区别——Contributor 不能分配角色给其他用户。如果题目问"needs to manage resources but should NOT be able to grant access to others"——答案是 Contributor。

角色分配示例

# 给用户在资源组级别分配 Contributor 角色
az role assignment create \
    --assignee user@contoso.com \
    --role "Contributor" \
    --scope /subscriptions/xxx/resourceGroups/myRG
# 给组在订阅级别分配 Reader 角色
az role assignment create \
    --assignee-object-id <group-object-id> \
    --role "Reader" \
    --scope /subscriptions/xxx

自定义角色

当内置角色太宽或太窄时,创建自定义角色:

{
  "Name": "Virtual Machine Operator",
  "Description": "Can start, stop, and restart VMs, but cannot create or delete them",
  "Actions": [
    "Microsoft.Compute/virtualMachines/start/action",
    "Microsoft.Compute/virtualMachines/restart/action",
    "Microsoft.Compute/virtualMachines/powerOff/action",
    "Microsoft.Compute/virtualMachines/read"
  ],
  "NotActions": [],
  "AssignableScopes": [
    "/subscriptions/xxx"
  ]
}
  • Actions:允许做什么(用 * 表示全部)
  • NotActions:从 Actions 中排除什么
  • DataActions:数据层面的操作(如读写 Blob 数据)
  • AssignableScopes:这个角色能在哪些范围被分配

💡 Actions vs DataActions:Actions 控制管理平面操作(创建 VM、配置网络);DataActions 控制数据平面操作(读写 Blob 内容、发送队列消息)。考试会问这个区别。

RBAC 的作用域和继承

Management Group(在这里分配 = 所有子订阅都有)
  └── Subscription(在这里分配 = 该订阅所有 RG 都有)
      └── Resource Group(在这里分配 = 该 RG 所有资源都有)
          └── Resource(在这里分配 = 只对这个资源有效)

最小权限原则:角色应该分配在尽可能低的层级。如果用户只需要管一个 RG,就在 RG 级别分配,不要在订阅级别。

Deny Assignment(拒绝分配)

术语:Deny Assignment(拒绝分配)

  • 一句话解释:即使角色允许,也可以显式拒绝某些操作。和 Policy 的 Deny 不同,这是 RBAC 层面的拒绝。
  • 考试怎么考:问"RBAC 中如何阻止特定操作"——Deny Assignment 优先级高于任何允许。
  • 重要提示:Deny Assignment 不能通过 Portal 或 CLI 直接创建,只能由 Azure Blueprints 和 Managed Apps 创建。考试可能会问这一点。

🔒 资源锁(Resource Lock)

术语:Resource Lock(资源锁)

  • 一句话解释:给资源加一把锁,防止意外删除或修改——即使你有 Owner 权限也会被锁拦住
  • 形象比喻:贵重文件上的封条——有权限打开柜子的人也得先撕封条才能动里面的东西。Lock 就是那道额外的保护。
  • 考试怎么考:题干出现"prevent accidental deletion"→ CanNotDelete Lock。题干出现"prevent any changes"→ ReadOnly Lock。
  • 最易混淆:Lock 和 RBAC 的关系。Lock 不管你有没有权限,它是额外的保护层。你有 Owner 权限 + CanNotDelete Lock = 能改但不能删。

两种锁类型

锁类型能读能改能删一句话记忆
CanNotDelete啥都能干,就是不能删
ReadOnly只能看,不能改也不能删
# 创建 CanNotDelete 锁
az lock create \
    --name "PreventDelete" \
    --lock-type CanNotDelete \
    --resource-group myRG

# 创建 ReadOnly 锁
az lock create \
    --name "PreventChanges" \
    --lock-type ReadOnly \
    --resource-group myRG

Lock 的继承和删除

  • Lock 在 RG 上设置 → RG 内所有资源都被锁定
  • 删除锁需要 Microsoft.Authorization/locks/* 权限(Owner 或 User Access Administrator 有)
  • 必须先删除锁,才能删除/修改被锁定的资源

⚠️ 考试陷阱:ReadOnly Lock 比你想的更严格。在存储账户上设 ReadOnly Lock 后,连列出存储密钥都不行——因为列出密钥是一个 POST 操作,不是 GET。


🏷️ Tags(资源标签)

术语:Tags(资源标签)

  • 一句话解释:给资源贴键值对标签,用于分类、分账和自动化管理。
  • 形象比喻:快递包裹上的面单——标注收件部门、成本中心、环境类型,方便分拣和结算。
  • 考试怎么考:问"如何按部门分账"或"如何标识资源归属"——答案是 Tags。
  • 最易混淆:Tags 不会自动从 RG 继承到子资源

Tag 的规则

规则说明
格式Key-Value 键值对
每个资源最多50 个 Tag
Key 最大长度512 字符
Value 最大长度256 字符
继承不自动继承
强制继承方法用 Azure Policy(Inherit tag from RG)

常用 Tag 示例

Environment = Production
CostCenter = CC-12345
Owner = team-platform
Project = webapp-v2
CreatedBy = terraform
# 给资源组添加 Tag
az group update --name myRG --set tags.Environment=Production tags.CostCenter=CC-12345

# 给资源添加 Tag
az resource tag --tags Environment=Production --ids /subscriptions/xxx/resourceGroups/myRG/providers/Microsoft.Compute/virtualMachines/myVM

💡 实际工作中:大多数企业要求所有资源必须带 CostCenterEnvironment 标签。通过 Azure Policy Deny 效果强制执行:没有标签的资源不能创建。


📋 Azure Blueprints

术语:Azure Blueprints(蓝图)

  • 一句话解释:把 Policy、RBAC 角色分配、ARM 模板和资源组打包成一个可重复使用的环境模板
  • 形象比喻:新店开业的标准化装修包——每开一家新店(新订阅),按同一套蓝图部署,保证每家店的安全策略、权限结构、基础设施都一致。
  • 考试怎么考:题干出现"standardize environment deployment"或"repeatable governance"——答案是 Blueprints。
  • 最易混淆:Blueprints vs ARM Templates。ARM Template 只部署资源;Blueprints 可以同时设置 Policy、RBAC 和资源。

Blueprints 包含什么

组件含义
Policy Assignment自动分配策略
Role Assignment自动分配角色
ARM Template自动部署资源
Resource Group自动创建资源组

Blueprints 的版本管理

Blueprints 支持版本控制——每次修改都是一个新版本,可以追踪"谁在什么时候改了什么"。ARM Template 没有内置版本管理。

📢 注意:微软已宣布 Azure Blueprints 将被 Deployment StacksAzure Landing Zones 逐步替代。考试可能仍然考 Blueprints 基础概念,但新项目建议用 Deployment Stacks。


💰 成本管理(Cost Management)

成本管理不属于"安全治理",但它是 AZ-104 治理领域的一部分——管理资源不只是管权限和合规,还要管花销。

三大成本管理工具

工具用途一句话记忆
Cost Analysis查看和分析当前花费"我花了多少"——事后看
Budget设置预算上限和告警"花到多少提醒我"——预设警戒线
Cost Alerts预算超标时发通知"超了就喊我"——自动报警
# 查看成本
az consumption usage list --subscription "MySubscription"

# 设置月度预算
az consumption budget create \
    --budget-name "MonthlyBudget" \
    --amount 1000 \
    --time-grain Monthly

Budget Alert 配置

预算告警可以设置多个阈值:

Budget: $1,000/月
├── 50% ($500)  → 发邮件给团队
├── 80% ($800)  → 发邮件给经理
├── 100% ($1000) → 发邮件给 Owner + 触发 Action Group
└── 120% ($1200) → 实际超支告警

⚠️ 注意:Budget 告警不会自动停止服务。即使超预算了,资源仍然运行(费用继续产生)。告警只是通知,不是自动关停。如果要自动关停,需要配合 Automation Runbook 或 Logic App。


🧠 核心概念辨析(考试必考)

Policy vs RBAC vs Lock 的职责边界

这三者经常被混淆,用一个表格彻底搞清楚:

维度Azure PolicyRBACResource Lock
管什么资源合规性人的权限资源保护
核心问题"资源是否符合规则?""谁能对资源做什么?""即使有权限也不能动"
比喻合规审计部门门禁权限卡贵重品封条
作用对象资源属性用户/组/SP资源实体
示例"VM 必须用特定 SKU""张三能创建 VM""这个 VM 不能删"
和权限的关系不管你有没有权限管权限即使 Owner 也被拦

场景举例:张三是 Production RG 的 Owner(RBAC),但该 RG 有 ReadOnly Lock(Lock),且公司策略禁止创建没有 Tag 的资源(Policy)。

结果:

  • 张三能登录并查看资源(RBAC Owner 允许读写)
  • 张三不能修改或删除已有资源(ReadOnly Lock 拦截)
  • 张三不能创建没有 CostCenter Tag 的新资源(Policy Deny 拦截)
  • 如果要操作,张三需要先联系管理员删除 Lock,然后创建资源时带上 Tag

RBAC 角色 vs Entra ID 角色(回顾 Ch1)

问自己答案用哪套
管的是用户/组/应用(目录对象)?Entra ID 角色
管的是 VM/VNet/Storage(Azure 资源)?Azure RBAC 角色

⚡ 30 秒答题框架

拿到一道治理题,按这个顺序判断:

Step 1: 问题是"权限不足"还是"资源不合规"?
        ├── 权限 → RBAC(先看角色和 Scope)
        └── 合规 → Policy(先看 Effect 类型)

Step 2: 是"防止误删误改"?
        └── 是 → Resource Lock

Step 3: 需要"跨多个订阅统一"?
        └── 是 → Management Group

Step 4: 需要"多条策略一起推"?
        └── 是 → Initiative

Step 5: 需要"按部门分账"?
        └── 是 → Tags + Cost Analysis

🔍 高频关键词速配

题干关键词秒选方向常见干扰项
prevent creation of non-compliantPolicy DenyAudit(只记录不拦)
detect non-compliant resourcesPolicy AuditDeny(太强了)
accidental deletionCanNotDelete LockReadOnly(太严了)
prevent any changesReadOnly LockCanNotDelete(能改)
across multiple subscriptionsManagement Group每个订阅单独配
cannot grant access to othersContributor(非 Owner)Owner
manage user permissionsUser Access AdministratorContributor
standardize environment setupBlueprints手动配置
track spending by departmentTags + Cost Analysis每个部门一个订阅
auto-deploy missing extensionDeployIfNotExistsDeny
group multiple policiesInitiative单独分配每条

🧪 场景加练(秒选版)

场景 1:强制 HTTPS

公司要求所有存储账户必须启用 HTTPS,否则不能创建。

秒选思路: 资源合规强制 → Azure Policy + Deny 效果。作用域设到管理组或订阅级别,覆盖所有环境。

场景 2:运维可管理但不能改权限

运维团队可以管理生产资源,但不能把权限给其他人。

秒选思路: 能管资源但不能分配权限 → Contributor 角色(不是 Owner)。Owner 和 Contributor 的唯一区别就是能不能分配角色。

场景 3:按部门分账

CFO 需要看到每个部门的月度 Azure 花费。

秒选思路: 给资源贴 Department Tag → 在 Cost Analysis 中按 Tag 筛选。用 Policy Deny 强制所有资源必须有 Department Tag。

场景 4:防止生产数据库被删

生产 SQL Database 绝对不能被误删,但 DBA 需要正常维护。

秒选思路: CanNotDelete Lock。不选 ReadOnly(DBA 还要维护=修改配置)。

场景 5:新订阅自动合规

公司每季度新建订阅,要求每个新订阅自动符合安全基线(必须开审计日志、必须用特定 Region、必须有 Tag)。

秒选思路: 在 Management Group 上分配 Initiative(含多条 Policy),所有新建的子订阅自动继承。

场景 6:限制可用 VM SKU

开发环境只允许使用 Standard_B1s 和 Standard_B2s,防止开发人员开大机器浪费钱。

秒选思路: Azure Policy + 内置策略 "Allowed virtual machine size SKUs" + Deny 效果。分配到 Dev 订阅。


🚨 常见陷阱

陷阱正确理解
"Tags 自动继承到子资源"❌ 不继承,需要 Policy 强制
"Owner 不受 Lock 限制"Lock 拦所有人,包括 Owner
"Budget 超标会自动停服务"❌ 只发告警,不停服务
"Policy 新建后立即生效"❌ 默认 24 小时评估一次,可手动触发
"Contributor = Owner 减去删除权"❌ Contributor 和 Owner 的区别是能不能分配角色,不是能不能删除
"ReadOnly Lock 只影响修改"❌ ReadOnly Lock 会拦截任何写操作,包括列出密钥等 POST 操作
"Deny Assignment 可以在 Portal 创建"❌ 只能由 Blueprints 或 Managed Apps 创建

📚 官方资源

资源链接
Azure Policy 文档learn.microsoft.com/azure/governance/policy
Azure RBAC 文档learn.microsoft.com/azure/role-based-access-control
Cost Management 文档learn.microsoft.com/azure/cost-management-billing
AZ-104 考试大纲learn.microsoft.com/certifications/exams/az-104

开始本章测验

完成学习后,建议先做章节练习题,重点关注 Policy Effect 辨析和 RBAC 角色分配层级题。

📝 章节练习 (30 题)
开始练习