Microsoft AZ-500: 身份和访问管理 — 学习指南
属于 Microsoft Azure Security Engineer Associate AZ-500 — 学习指南. 使用经过验证的答案练习: Microsoft 考试中心, 或参加限时模拟考试: ExamRoll.io.
概述
Microsoft Azure 中的身份和访问管理 (IAM) 以 Microsoft Entra ID(前身为 Azure AD)为中心。它用于管理谁可以在何种条件下以何种权限访问哪些资源。有效的 IAM 架构能够最大限度地减少长期权限,强制执行基于条件和风险的访问,并为人员和工作负载采用现代身份验证方法,同时支持混合和外部协作场景。
Microsoft Entra 身份构造和范围
- 租户、用户和组
- 租户代表了您组织的身份边界和信任结构。用户可以是成员帐户或来宾 (B2B) 帐户。使用安全组进行授权,使用 Microsoft 365 组实现协作功能;优先使用动态组以减少手动成员管理。
- 管理单元 (AU)
- AU 允许您将目录角色委派给用户/设备的子集(例如,区域服务台只能管理欧洲的用户)。这支持了目录任务的最小权限原则。
- 目录角色和角色分配范围
- 目录角色(例如 Global Administrator、User Administrator)适用于 Microsoft Entra 资源。尽可能在 AU 范围分配目录角色,以限制爆炸半径。初始配置 Privileged Identity Management (PIM) 需要 Global Administrator 角色。
- Azure 基于角色的访问控制 (Azure RBAC) 范围
- Azure RBAC 用于管理对 Azure 资源的访问。在管理组、订阅、资源组或资源范围分配角色。权限会向下继承;始终选择实际可行的最窄范围,以减少权限过高的情况。
- 操作性考量
- 将目录角色 (Entra) 与 Azure RBAC(资源授权)分开。使用 AU 和严格的 RBAC 范围来限制管理范围,减少横向移动的机会,并简化访问评审。
使用 Azure RBAC 和最小权限进行访问控制
- 内置角色和最小权限
- 优先选择最符合任务需求的特定内置角色。例如:使用 AcrPull 授予容器镜像的只读拉取访问权限,使用 AcrPush 授予上传/推送访问权限,而不是宽泛的 Contributor 角色。对于 Key Vault,仅向保管库管理员通过 RBAC 授予管理控制权,同时对特定对象操作(如证书管理)使用精细的访问策略。
- 角色分配继承
- 在尽可能低的范围进行分配。管理组或订阅级别的分配会向下级联;除非有意为之,否则应避免宽泛的继承权限。当您需要在多个订阅中保持一致的 RBAC 时,应通过 Azure Blueprints(或现代 IaC 替代方案)来统一应用角色分配,而不是手动进行 PIM 分配。
- 拒绝分配
- 拒绝分配会明确阻止某些操作,无论是否存在允许分配,它们通常由 Azure Policy 或 Blueprints 等 Azure 服务创建。使用它们来强制执行不可协商的护栏(例如,防止在敏感资源上设置公共网络规则)。
- 自定义角色
- 当内置角色过于宽泛时,应定义仅包含所需操作的自定义角色。通过最小权限测试和访问评审进行验证。
{
"Name": "Storage Blob Reader (TagsBlocked)",
"IsCustom": true,
"Description": "Read blobs; no tag write",
"Actions": [
"Microsoft.Storage/storageAccounts/blobServices/containers/read",
"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read"
],
"NotActions": [
"Microsoft.Resources/tags/write"
],
"AssignableScopes": ["/subscriptions/00000000-0000-0000-0000-000000000000"]
}
- 操作性考量
- RBAC 范围界定和自定义角色可以减少过多的权限和审计面。拒绝分配可以编码“硬性”合规性约束,这些约束不会因错误的宽泛“允许”授权而被绕过,从而提高了安全态势的弹性。
特权访问、条件访问和标识保护
Privileged Identity Management (PIM)
- 符合条件 vs 活动:符合条件的分配不会授予长期权限;用户必须通过 JIT 激活才能变为活动状态。在激活时强制执行审批、理由说明和 MFA;设置有限的持续时间,并要求提供工单参考以实现可追溯性。首先应发现特权角色,以了解当前的风险敞口。使用定期的访问评审(最好由资源或组所有者担任评审人)来验证需求的持续性。
Conditional Access (CA)
- 分配目标包括用户/组、工作负载身份、云应用和操作。条件包括登录风险、设备平台/状态、位置、客户端应用以及针对设备和应用的筛选器。授予控制可以要求 MFA、合规或混合 Azure AD 加入的设备、应用保护策略或使用条款。会话控制可以限制登录频率、持久会话和应用强制的限制(例如,SharePoint 仅限 Web 访问)。使用仅报告模式在强制执行前安全地验证策略影响。为紧急访问帐户保留排除项,并分阶段推出以防止锁定。
Identity Protection
- 用户风险反映了帐户被盗用的可能性;登录风险反映了特定会话存在风险的可能性。配置策略以要求进行安全修复:
- 凭据泄露的用户:视为高用户风险;强制重置密码并在修复前阻止登录。
- 来自有可疑活动的 IP 的登录:至少视为中等登录风险;要求 MFA 质询或针对敏感应用进行阻止。
- 与 CA 集成以实时调整信任。跟踪风险历史和修复情况以衡量有效性。
- 用户风险反映了帐户被盗用的可能性;登录风险反映了特定会话存在风险的可能性。配置策略以要求进行安全修复:
操作性考量
- PIM 消除了长期权限,并强制执行强健、可审计的激活流程。CA 和 Identity Protection 应用零信任原则——基于用户、设备、会话和风险验证每次访问尝试——从而减少凭据盗窃和令牌重放的成功率。
混合身份与工作负载身份
- 混合身份选项
- 密码哈希同步 (PHS): 将密码哈希同步到 Entra ID。简单且有弹性;在身份验证时不强制执行本地登录策略。
- 直通身份验证 (PTA): 通过轻量级连接器,根据本地 DC 验证密码;实时强制执行本地密码策略和账户限制,无需 AD FS。
- 联合身份验证 (例如 AD FS): 将身份验证转移到本地 STS。仅在需要复杂声明或处理旧式场景时使用;它会引入更多服务器和运维开销。
- 无缝单一登录 (Seamless SSO): 用户在企业网络内已加入域的设备上登录时,提示最少。
- 运维选择: 为强制执行本地密码策略和账户限制,同时最小化服务器数量,应部署 PTA 和 Seamless SSO,并启用 PHS 以支持非 PTA 依赖场景的复原能力/故障转移。单独使用联合身份验证会增加复杂性,且不满足“最小化服务器”的目标。
- 从混合加入的 Windows 设备对 Azure SQL 进行应用身份验证
- 使用 Active Directory 集成身份验证以最小化提示,并在适用时利用 Kerberos/SSO。
- 托管身份与服务主体
- 托管身份(系统分配或用户分配)是 Azure 托管工作负载的首选,因为它们无需密钥且能自动轮换凭据。在资源范围为该身份分配最低权限的 RBAC。
- 服务主体支持应用注册;应优先使用证书凭据而非客户端密码,并设置尽可能短的生命周期。
- 工作负载身份联合
- 使用 OIDC 联合,允许外部工作负载身份(例如 GitHub Actions、Kubernetes)为 Entra 应用获取令牌,而无需存储密钥。精确定义颁发者、使用者和受众声明,以限制可以交换令牌的对象。
az ad app federated-credential create \
--id <app-object-id> \
--parameters '{
"name":"gh-actions-main",
"issuer":"https://token.actions.githubusercontent.com",
"subject":"repo:contoso/api:environment:prod",
"audiences":["api://AzureADTokenExchange"]
}'
- AKS 对 ACR 的访问
- 使用 attach-acr 流程,在目标注册表上为 AKS 集群的托管身份授予 AcrPull 权限,该流程可自动执行正确的范围界定并避免错误分配。
az aks update -n aks-prod -g rg-aks --attach-acr myRegistry
- 运维考量
- PTA+PHS+Seamless SSO 在强制执行实时本地控制的同时,保持了云的弹性。托管身份和联合身份验证从管道和运行时中移除了静态密钥,从而关闭了高频的凭据盗窃路径。
外部协作、身份验证方法和应用访问
- 外部身份与 B2B 协作
- 使用 B2B 来宾帐户,并配合跨租户访问设置、使用条款和针对来宾的 CA。限制可邀请人员,并通过权利管理优先采用即时访问。
- 权利管理和访问包
- 将组、应用和 SharePoint 站点捆绑到访问包中,并通过策略定义谁可以请求(包括外部用户)、审批流程、分配持续时间和访问评审。对于评审者的选择,使用“组所有者”以将业务责任保留给资源保管人。
- 身份验证方法和无密码
- 标准化强身份验证方法:FIDO2 安全密钥、Windows Hello for Business 和 Microsoft Authenticator 手机登录。使用组合式安全信息注册 (SSPR + MFA) 并为所有用户强制执行 MFA 注册策略。如果需要,启用 SSPR 并进行本地写回;要求使用安全方法,并尽可能限制为企业管理的因素。禁用旧式/基本身份验证协议,并在风险较高时阻止仅使用弱 SMS 的 MFA。
- Microsoft Entra 应用程序代理
- 发布本地 Web 应用,无需开放入站防火墙端口。使用连接器组实现 HA,通过 Entra ID 进行预身份验证,并叠加 CA、设备合规性和 Identity Protection,为旧式应用实现零信任。
- 应用程序注册安全
- 要求管理员同意工作流;限制可以创建应用的人员;对权限进行分类;仅在不需要用户上下文时才首选应用程序权限,并将 API 范围限定到最小。尽可能禁用隐式授权,要求对企业应用进行分配,并优先使用证书而非机密,并实现自动轮换。
az ad app update --id <app-id> --required-resource-access @permissions.json
az ad sp update --id <sp-id> --set appRoleAssignmentRequired=true
- 操作层面的考量
- 访问包和应用代理提供了受治理、可审计的外部访问。强大的无密码方法提高了抗网络钓鱼能力。严格的应用注册控制可防止过度宽泛的同意,并减少应用模拟的风险。
实际问题场景
Adobe Inc. 需要向第三方供应商授予对部分 Azure 资源的临时管理访问权限,并向该供应商发布一个内部旧式 Web 应用,同时强制执行强身份验证和零常设权限。
- 界定和建模访问权限
- 创建一个资源组 rg-vendor-ops,并仅将所需资源移入其中。分配最小的 Azure RBAC 角色(例如,rg-vendor-ops 上的 Contributor;诊断资源组上的 Reader)。
- 理由:精确的范围界定可防止横向移动。角色继承被限制在 rg-vendor-ops 内,从而控制了爆炸半径。
- 使用 PIM 治理身份和激活
- 使供应商管理员对所需角色具备“资格”,而非永久分配;要求在激活时进行审批、提供工单 ID、执行 MFA,并将激活时间限制为 4 小时。首先运行 PIM 的“发现特权角色”功能,以基线化现有分配。
- 理由:“资格”分配消除了常设权限。审批和 MFA 强制执行了与支持窗口对齐的 JIT 访问,并提供了可审计的控制。
- 强制执行条件访问和风险策略
- 创建一个 CA 策略,目标为供应商组以及 Azure 门户和 ARM API,要求 MFA、合规/混合加入的设备,并阻止来自有风险位置的访问。首先启用“仅报告”模式,然后再强制执行。配置 Identity Protection:阻止“高”用户风险(凭据泄露),直到密码重置;对“中”登录风险(可疑 IP)要求 MFA。
- 理由:CA 将访问与设备信任和风险实时关联。在推广期间,“仅报告”模式可防止服务中断。风险策略会自动修复受损的会话和帐户。
- 使用 Microsoft Entra 应用程序代理发布旧式应用
- 为实现 HA,在暴露给供应商的独立子网中部署两个连接器。配置通过 Entra ID 进行预身份验证,要求对企业应用进行分配,并应用相同的 CA 策略。使用访问包向供应商用户授予对企业应用和 RG 角色的有时限访问权限;将“组所有者”设置为评审者。
- 理由:应用代理消除了入站暴露并集中了身份验证。权利管理标准化了入职/离职流程,并确保由资源所有者进行定期评审。
- 保护工作负载和应用凭据
- 对于服务主体,用证书凭据替换任何客户端机密;对于 CI/CD,使用工作负载身份联合,而不是存储机密。对于需要镜像的 AKS 工作负载,将 ACR 附加到集群,以向托管身份授予 AcrPull 权限。
- 理由:移除静态机密可关闭一个常见的泄露途径;身份联合和托管身份提供了最小权限、自动轮换的访问。
- 保护紧急访问帐户并进行监控
- 从 CA 中排除两个紧急访问帐户,但使用离线存储的长随机密码来保护它们。每季度启用访问评审,并将 PIM 和 CA 日志导出到 Log Analytics 工作区,并针对异常激活设置警报。
- 理由:紧急访问帐户在操作上安全的同时,可防止租户被锁定。持续监控能快速检测滥用行为,从而保持合规性并支持事件响应准备。
练习这些题目 → · 在 ExamRoll.io 上限时练习 →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
通过考试 →