B BROCENT

Microsoft 365 如何开启 MFA:安全默认值、条件访问,以及找出还没注册的用户

用安全默认值或条件访问给全员开启 Microsoft 365 MFA,分阶段推行,并用 PowerShell 导出还没注册 MFA 的用户。

用户在笔记本电脑旁用手机批准登录验证
简短回答: 给 Microsoft 365 全员强制 MFA,有两种官方支持的做法。安全默认值(Security defaults)是一个没有选项的开关,适合没有 Microsoft Entra ID P1 的租户;条件访问(Conditional Access)可以自己选覆盖谁、排除谁,微软说明 Microsoft 365 Business Premium 的客户也可以使用。两者选一个,不要同时开,然后导出还没注册的用户名单逐个跟进。

本文写给负责公司 Microsoft 365 租户的管理员。读完你可以做到:MFA 已强制开启、有一份分阶段推行计划、如果租户有 Entra ID P1 或 P2(Microsoft 365 Business Premium 含 P1),还能得到一份所有没有注册 MFA 方法的账号清单。步骤已于 2026 年 10 月 28 日对照 Microsoft Learn 核对。

先选方法

安全默认值

  • 作用: 要求所有用户注册 MFA,要求管理员使用 MFA,必要时由微软决定提示其他用户,阻止旧式身份验证协议,阻止设备代码流,并保护 Azure 管理工具的访问。
  • 可定制性: 没有,只有开和关。
  • 授权: 除 Microsoft 365 订阅本身外不需要额外授权。
  • 适合: 没有条件访问策略、也没有 Entra ID P1 授权的租户。

条件访问

  • 作用: 按你建立的策略执行,例如“全体用户需要 MFA”,并可排除应急账号和服务账号。
  • 可定制性: 完全可定制,可选用户、应用、条件和授予控制。
  • 授权: Microsoft Entra ID P1,或 Microsoft 365 Business Premium。
  • 适合: 有授权的任何租户。微软表示,有 P1 或 P2 授权的组织通常不适合只用安全默认值。

两者是互相替代的关系。微软的说明是:要改用条件访问策略,先关闭安全默认值。

做法 A:开启安全默认值

至少需要 Conditional Access Administrator(条件访问管理员)角色。

  1. 登录 Microsoft Entra 管理中心(entra.microsoft.com)。
  2. 进入 Entra ID > Overview > Properties。
  3. 选择 Manage security defaults。
  4. 把 Security defaults 设为 Enabled。
  5. 选择 Save。

保存之前,先确认没有管理员或应用还在用旧式身份验证,因为安全默认值会把它阻止。开启后请所有管理员马上登录一次,以便注册验证方法。微软还建议用 Revoke-MgUserSignInSession 撤销现有登录令牌,让已经登录的用户被迫走一遍注册流程。

用户到 https://myprofile.microsoft.com 选择 Security Info 注册。安全默认值下,注册方式是带通知的 Microsoft Authenticator 应用;用户也可以使用 Authenticator 或任何 OATH TOTP 应用生成的验证码。

安全默认值开启期间,不要在组织层面停用验证方法。微软警告这可能把你锁在租户之外。

做法 B:用条件访问强制 MFA

先建两个应急访问账号。微软建议:仅云端账号、使用 onmicrosoft.com 域名、永久分配 Global Administrator 角色,登录方式用通行密钥(passkey,FIDO2)。把它们放进一个组,例如 EmergencyAccess,之后每条策略只要排除这一个组。

然后建策略,至少需要 Conditional Access Administrator 角色。

  1. 登录 Microsoft Entra 管理中心。
  2. 进入 Entra ID > Conditional Access > Policies,选择 New policy。
  3. 起一个清楚的名字,例如“CA001 Require MFA all users”。
  4. 在 Assignments > Users or workload identities 下,暂时只包括试点组(见“分阶段推行”),到第 4 周结束时再改为 All users。
  5. 在 Exclude 下加入应急访问组。如果使用 Microsoft Entra Connect 或 Cloud Sync,还要排除目录角色 Directory Synchronization Accounts。
  6. 在 Target resources > Resources 下,包括 All resources (formerly 'All cloud apps')。
  7. 在 Access controls > Grant 下,选择 Grant access,再选 Require authentication strength,然后选内置的 Multifactor authentication 强度。
  8. 把 Enable policy 设为 Report-only,选择 Create。
  9. 看完报告结果后(见“如何确认生效”),把 Enable policy 改为 On,先对试点组启用,上一批稳定后再加下一批,最后一批再切换为 All users。

如果租户正在使用安全默认值,要先关闭:Entra ID > Overview > Properties > Manage security defaults > Disabled (not recommended) > Save。

微软也可能已经在你的租户里建好了自己的条件访问策略,例如“Multifactor authentication for all users”。打开策略列表,找 Created by 一栏写着 Microsoft 的行。这些策略以仅报告(Report-only)状态创建,如果你不处理,微软会在引入后不少于 30 天启用,并提前约两周通知。请决定用微软的还是自己的,不要留下两条重叠又没有记录的策略。

分阶段推行

  1. 第 0 周: 建好应急账号并测试能登录,写好服务台话术和用户说明。
  2. 第 1 周: 只做管理员。另建一条策略,对象选 Directory roles 而不是 All users,排除项相同(CA002 的步骤见条件访问基础策略),并确认每位管理员都已注册。
  3. 第 2 周: 试点组,10 到 20 人,来自不同部门,配合注册提醒。仅报告模式不会提示任何人注册,注册要靠提醒或正式启用。
  4. 第 3、4 周: 其余员工按部门分批,每批第一天早上服务台要有人守着。
  5. 最后: 访客和服务账号。凡是用用户账号充当服务账号的,尽量换成工作负载标识(workload identity)。
  6. 切换之后: 每周检查一次未注册名单,直到清零。

提前告诉用户屏幕上会出现什么:系统会要求他们设置 Microsoft Authenticator,并在登录时输入屏幕上显示的数字来批准。

导出还没注册的用户

这里用的是 Microsoft Graph PowerShell,不是已停用的 MSOnline 或 AzureAD 模块。登录账号需要能读取该报告的角色,例如 Reports Reader、Security Reader 或 Global Reader。这个导出需要 Microsoft Entra ID P1 或 P2(Microsoft 365 Business Premium 含 P1),因为微软说明身份验证方法活动数据需要 P1 或 P2 授权。如果你只使用安全默认值,就没有全租户的名单可用。安全默认值本来就要求每位用户在登录时注册,所以请各部门负责人确认员工已到 https://myprofile.microsoft.com 完成注册,并在头几周留意服务台的工单。

Install-Module Microsoft.Graph.Reports -Scope CurrentUser
Connect-MgGraph -Scopes "AuditLog.Read.All"

Get-MgReportAuthenticationMethodUserRegistrationDetail -All `
  -Filter "isMfaRegistered eq false" |
  Select-Object UserPrincipalName, UserDisplayName, UserType, IsAdmin,
    IsMfaRegistered, IsMfaCapable, MethodsRegistered |
  Export-Csv .\mfa-not-registered.csv -NoTypeInformation

第一次运行 Connect-MgGraph 时会要求同意 AuditLog.Read.All 权限,需要有权授予同意的人批准。

要找出注册了、但所用方法不被你的身份验证方法策略允许的用户,把筛选条件改成 isMfaCapable eq false。想先看管理员,在 Select-Object 前面加 | Where-Object IsAdmin。

同样的数据也在管理中心:Entra ID > Authentication methods > Activity > Registration。微软提示该报告最多可能滞后 36 小时,并且已删除和已停用的用户不会列出。

常见错误

  1. 同时开安全默认值和条件访问。 先关掉安全默认值。
  2. 没有应急账号。 一条写错的策略就能把所有管理员锁在外面。建两个账号,并从会阻止或限制登录的策略中排除。
  3. 再额外开启按用户的 MFA(per-user MFA)。 微软已不推荐 per-user MFA。在安全默认值或条件访问下,用户状态显示 Disabled 是正常的。
  4. 忘了旧式身份验证。 使用 IMAP、POP3 或 SMTP 基本身份验证的旧邮件客户端和扫描仪无法做 MFA,切换前先在登录日志里找出来。
  5. 跳过仅报告模式。 不看报告结果,就不知道谁会受影响。
  6. 以为第一次登录成功就结束。 没注册的用户迟早变成工单。每周处理未注册名单。

如何确认生效

  1. 打开 Entra ID > Monitoring & health > Sign-in logs,点开试点用户的一次交互式登录。
  2. 看 Conditional Access 标签页(策略仍在仅报告时看 Report-only 标签页),确认套用了哪条策略、结果是否成功。
  3. 用测试用户在隐私窗口登录,应当被要求注册或批准。
  4. 如果租户有 P1 或 P2,每周重新跑一次 PowerShell 导出,CSV 应逐周缩小直至为空。
  5. 用应急账号登录一次,证明它仍然可用,并记录日期。
  6. 打开 Microsoft Secure Score(security.microsoft.com/securescore)。微软说明,开启安全默认值后,“所有用户 MFA”“管理员角色 MFA”“阻止旧式身份验证”这几项建议操作会得到满分。

FAQ

如何在 Outlook 里为邮箱开启双重验证?

不是在 Outlook 里开。MFA 作用于 Microsoft 365 账号,所以只要开启安全默认值或条件访问策略,Outlook 登录时就会要求第二步验证。使用基本身份验证的旧客户端会失效,需要更换。

Microsoft 365 的 MFA 是怎么运作的?

用户输入密码后,微软会要求第二重证明,例如在 Microsoft Authenticator 里批准通知。在安全默认值下,何时提示由微软根据位置、设备、角色和任务等因素决定。

Microsoft Authenticator 怎么用?

到 https://myprofile.microsoft.com,选择 Security Info,添加 Authenticator 应用。登录时应用会显示一个批准请求,其中有一个数字,用户在应用里输入这个数字即可。用户也可以使用应用里的验证码。

如何给 Microsoft 365 全体用户强制 MFA?

用安全默认值(Entra ID > Overview > Properties > Manage security defaults),或建一条包含 All users 并要求多重身份验证的条件访问策略。然后用 PowerShell 导出未注册用户,持续跟进到名单为空。

MFA 登录失败或用户无法完成验证怎么办?

在登录日志里打开失败的那次登录,看失败原因和 Conditional Access 标签页。如果所有管理员都被锁在外面,就用应急访问账号,这也是它必须从策略中排除的原因。

下一步

如果想让人独立检查你们租户里 MFA、条件访问和其他设置是否到位,请看 Microsoft 365 安全审计,也可以读 Microsoft 365 安全检查清单和香港会计师事务所的 MFA 推行。

如果想在动手前先了解完整审计的价格,Microsoft 365 安全审计要花多少钱一文列出了按人数分档的固定价格。

分享:

立即采取行动

将这些洞察转化为您企业的IT路线图。

预约15分钟免费咨询,与我们的亚太IT专家交流。我们将评估您的现有环境,并在24小时内提供定制化IT发展路线图。

探索我们的全部服务
📋

免费清单

进入大中华区IT部署前必须检查的10项关键事项

PIPL合规、网络分段、双语服务台配置等——企业进入中国大陆第一天所需的完整IT准备清单。

获取清单 →