关于 conditional-access-mfa
conditional-access-mfa 是用于规划和部署 Entra 条件访问与 MFA 策略的技能,面向身份管理员,涵盖基线策略、安全测试、例外账户和策略维护。
主要功能
- 01规划六项基线策略
- 02编写策略前盘点登录情况
- 03采用抗钓鱼身份验证强度
- 04通过仅报告模式和 What If 测试策略
- 05维护紧急账户例外和策略登记表
适用场景
- 01为 Entra 租户建立基线访问控制
- 02为管理员角色要求更强的 MFA
- 03识别仍使用旧式身份验证的应用
- 04安全部署合规设备要求
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ vinayaklatthe/ microsoft-security-skills --skill conditional-access-mfa安装后在 Claude Code 中输入/conditional-access-mfa确认已加载。
详细介绍
条件访问与 MFA
条件访问(CA)是 Entra 中的零信任策略引擎。它会评估各种信号——用户/组、设备状态、位置、应用、登录风险——并强制执行授予、阻止或带控制措施的授予(MFA、合规设备、会话控制)。不使用 CA 的 MFA 很少见;二者是协同设计的。
适用场景
在 Microsoft 365 和任何与 Entra 集成的应用中强制执行自适应、以身份为中心的访问控制。使用此技能来设置基线策略集,以及推出任何新策略。
请勿将此技能用于风险检测(entra-id-protection)、即时管理员权限提升(azure-pim)或应用端 OAuth 权限(entra-id)。
基线 6 项策略集
到 2026 年,每个 Entra 租户都应至少配置以下 6 项策略,并按此顺序排列。
| # | 策略 | 范围 | 授予控制 |
|---|---|---|---|
| 1 | 要求管理员使用 MFA | 所有 Entra 管理员角色 | MFA + 防钓鱼强度 |
| 2 | 要求所有用户使用 MFA | 所有用户(不含紧急访问账户) | MFA |
| 3 | 阻止旧版身份验证 | 所有用户 | 阻止 |
| 4 | 要求 M365 使用合规设备 | 所有用户、M365 应用 | 合规设备或混合加入设备 |
| 5 | 基于风险的 CA - 登录风险为高 | 所有用户 | MFA(需要 EID P2) |
| 6 | 基于风险的 CA - 用户风险为高 | 所有用户 | 安全密码更改(需要 EID P2) |
**经验法则:**如果租户未配置全部 6 项策略,则低于 Microsoft 2026 年基线。 策略 5 和 6 需要 Entra ID P2;如有需要,可在 E3 上改用基于风险的身份验证强度。
方法
-
编写策略前先盘点 — 导出当前登录日志以了解基线: 按应用统计 MFA 使用情况、旧版身份验证量、设备合规情况以及正在使用的命名位置。 不要根据假设的流量模式编写策略。 验证:
Sign-ins工作簿显示按应用统计的 MFA 百分比和旧版身份验证次数。 -
使用身份验证强度,而不只是“要求 MFA” — 身份验证强度可让你针对高价值范围要求使用防钓鱼方法(FIDO2 通行密钥、Windows Hello for Business、基于证书的方法)。普通的“要求 MFA”会接受 SMS,仍可能遭受钓鱼攻击。 验证:管理员策略的授予控制使用内置的防钓鱼 MFA 身份验证强度,而不是通用 MFA。
-
始终先使用仅报告模式 — 新策略至少先以仅报告模式运行 7 天。 使用 What If 模拟特定用户 + 应用场景。仅当仅报告结果没有意外情况后,才将策略提升为“开”。 验证:策略仅报告影响显示评估的登录次数 > 0(否则策略未匹配任何内容——范围设置有误)。
-
每项策略都排除紧急访问账户 — 创建两个仅限云端的紧急账户,并从每项策略中排除;监控每次登录。记录排除列表并每月审核。 验证:
Conditional Access Insights workbook显示所有强制执行策略均已排除紧急访问账户。 -
在需要时使用会话控制 — 对敏感应用设置登录频率,在共享设备上阻止持久浏览器会话,为 Exchange/SharePoint 设置应用强制限制,并使用条件访问应用控制进行会话内监控。
-
策略登记表 — 维护一份登记表(CSV 或 Sentinel 监视列表),记录策略意图、负责人、排除项和上次审核时间。没有登记表,CA 策略就会逐渐偏离预期。
防护措施
- 在先以仅报告模式运行之前,绝不要对所有用户强制实施新策略。 大多数生产环境中的 CA 事故都源于这个错误。
- 两个紧急访问账户应从每项策略中排除,并监控每次登录。 否则,CA 配置错误可能会导致整个租户被锁定。
- 先阻止旧式身份验证,再监控 30 天的登录情况。 有些应用仍在使用它——在用户投诉之前找出这些应用并完成修复。
- 管理员应使用抗网络钓鱼的身份验证强度,而非通用 MFA。 全局管理员使用基于 SMS 的 MFA,就如同在 2026 年把密码写在便签纸上一样。
- 不要叠加 30 多项策略。 每次评估都会增加延迟。合并条件重叠的策略;目标是将启用的策略控制在 20 项以内。
- 使用 What If 测试变更,而不是借用同事的账户。 What If 会通过策略引擎进行测试,无需真实登录。
常见反模式
- “新策略直接对所有用户启用”——导致账户被锁定。至少先以仅报告模式运行 7 天。
- “要求 MFA = 抗网络钓鱼”——这会接受 SMS。请使用身份验证强度。
- “密码管理器里只有一个紧急访问账户”——单点故障。应设置两个使用硬件密钥的账户,并分开保管。
- “不设置排除项,因为排除项不安全”——不排除紧急访问账户,就无法从 CA 配置错误中恢复。
- “在命名位置中封锁整个俄罗斯 / 中国”——攻击者会使用你允许的国家/地区中的代理。请改用风险信号 + 设备合规性。
- “生产环境中的 CA 策略没有登记册”——6 个月后,没人知道策略 17 为什么存在。
示例提示词
为新的 Entra 租户编写包含 6 项策略的条件访问基线。为所有 Entra 管理员角色要求使用抗网络钓鱼的 MFA(FIDO2/WHfB)。阻止旧式身份验证,并报告仍在使用它的应用。使用仅报告模式,安全推出一项新的“对 Exchange 要求合规设备”策略。为什么用户总是收到 MFA 提示——调整登录频率。从每项 CA 策略中排除我们的紧急访问账户,并对其登录发出警报。
Microsoft Learn
- 条件访问概述:https://learn.microsoft.com/entra/identity/conditional-access/overview
- 身份验证强度:https://learn.microsoft.com/entra/identity/authentication/concept-authentication-strengths
- 仅报告模式:https://learn.microsoft.com/entra/identity/conditional-access/concept-conditional-access-report-only
- What If 工具:https://learn.microsoft.com/entra/identity/conditional-access/what-if-tool
- 阻止旧式身份验证:https://learn.microsoft.com/entra/identity/conditional-access/policy-block-legacy-authentication
- 建议的策略:https://learn.microsoft.com/entra/identity/conditional-access/plan-conditional-access
- 紧急访问账户:https://learn.microsoft.com/entra/identity/role-based-access-control/security-emergency-access
- CA Insights 工作簿:https://learn.microsoft.com/entra/identity/conditional-access/howto-conditional-access-insights-reporting