[玩转系统] 报告 Entra ID 用户帐户的 MFA 状态
作者:精品下载站 日期:2024-12-14 04:12:38 浏览:15 分类:玩电脑
报告 Entra ID 用户帐户的 MFA 状态
使用多个数据源计算用户帐户的 MFA 状态
更新于 2024 年 6 月 12 日
我撰写了有关如何使用 Microsoft Graph PowerShell SDK 管理 Entra ID 条件访问策略以及如何报告条件策略设置的文章。自然的下一步是确定哪些用户帐户启用了多重身份验证 (MFA)。正如多次指出的,很大一部分 Microsoft 365 用户不使用 MFA 来保护其帐户,包括担任管理角色的帐户(例如全局管理员、Exchange 管理员或 SharePoint 管理员)。
在我们启动 2024 年工作时,增加启用 MFA 的帐户的百分比仍然是租户管理员追求的一个很好的目标。为了增加百分比,我们需要知道目前哪些帐户使用 MFA,哪些帐户不使用。让我们深入了解如何获取此信息的详细信息。
查找用户帐户的 MFA 信息
任何希望报告用户帐户的 MFA 状态的人面临的一个基本问题是 Microsoft 将在 2024 年 3 月弃用 MSOL 模块(随后将完全停用)。弃用后,基于使用 Get-MsolUser cmdlet 获取“强身份验证方法”的旧方法将不再受支持。换句话说,这段代码可能会也可能不会继续工作:
$MsolUser = Get-MsolUser -UserPrincipalName $UserPrincipalName
If ($MsolUser.StrongAuthenticationMethods) {
Write-Host ("User {0} is enabled for MFA" -f $UserPrincipalName)
}
Microsoft 的重点是使用条件访问策略来要求入站连接使用 MFA。未提供替代方法来报告 Graph API 中用户帐户的 MFA 状态的原因之一是 Microsoft 正在放弃可用于 Office 365(E3 及更高版本)帐户的每用户 MFA 功能。 Microsoft 希望租户关闭每用户 MFA 并采用条件访问策略。
为了提供帮助,微软计划推出托管条件访问策略来帮助符合条件的租户进行转换。问题在于,“合格”意味着租户拥有条件访问策略所需的 Entra ID P1 或 P2 许可证。如果客户想要按照 Microsoft 的建议放弃每用户 MFA 而使用条件访问,则必须支付额外费用来替换虽然笨重且难以管理但仍然有效的功能。
由于 SDK cmdlet 派生自 Graph API,因此缺乏为用户启用或禁用 MFA 的 Graph API 支持意味着没有 SDK cmdlet 可用于报告帐户的 MFA 状态。我们所能做的就是解释其帐户使用 Entra ID 注册的身份验证方法,并猜测 Authenticator 应用程序等方法的存在是否意味着该帐户使用了 MFA。此信息与其他设置一起显示在 Entra ID 管理中心的用户注册详细信息报告中(图 1)。
Get-MgBetaReportAuthenticationMethodUserRegistrationDetail cmdlet 可以提供相同的信息。两种方法都要求检索注册信息的帐户拥有 Entra ID P1 许可证。如果您当前没有 Entra ID P1 许可证,最好购买一些许可证并将许可证分配给管理员以允许访问此功能和其他功能。
Get-MgUserAuthenticationMethod cmdlet 还可以检索有关为用户帐户注册的身份验证方法的信息。如果帐户属于受限制的管理单位,则只有该单位的管理员才能检索该帐户的信息。其他管理员(即使是具有全局管理员角色的管理员)的尝试也会导致 403 禁止 错误。
验证 MFA 连接
了解帐户能够使用 MFA 是一回事,另一回事是另一回事。了解该帐户主动使用 MFA 是另一回事。 Entra ID 将多因素身份验证使用数据保留 30 天。通过应用过滤器(条件访问=成功)来检索成功多因素连接的登录记录,可以在 Entra ID 管理中心查看有关 MFA 使用情况的数据。该数据包括来自会员和来宾帐户的连接。您可以在线浏览数据,但通过下载 CSV 格式的交互式登录报告,可以更轻松地了解哪些帐户使用 MFA 进行连接(图 2)。下载的报告包含已过滤登录的记录。
包含租户一个月连接数据的文件需要处理大量信息(Entra ID 将文件限制为最多 100,000 条记录)。以下是我将数据减少到可用集的方法:
- 将下载的 CSV 文件移动到合适的位置进行处理。
- 编辑 CSV 文件以删除“传入令牌类型”列。此列是重复的,如果保留在原处,Import-CSV cmdlet 将停止工作。
- 使用 Import-CSV cmdlet 将更新的文件导入 PowerShell 阵列。
- 从数组中删除访客连接的记录,并按用户标识符对其余部分进行排序,以仅保留唯一值。
这是示例代码:
[array]$MFASignIns = Import-CSV c:\temp\InteractiveSignIns.CSV
[array]$MFAUserData = $MFASignIns | Where-Object {$_.'user type' -eq 'Member' -and $_.Status -eq 'Success'} | Sort-Object {$_.'Date (UTC)' -as [datetime]} | Sort-Object 'User ID' -Unique | Select-Object 'User ID', 'User', 'UserName', 'Date (UTC)','Multifactor authentication result', 'Multifactor authentication auth method'
结果是在下载文件所涵盖的期间内使用 MFA 成功连接的成员帐户数组。这是一个记录的示例。数据显示,James Ryan 于 2023 年 12 月 28 日上午 9:54 完成了通过短信发送的 MFA 挑战。
User ID : cad05ccf-a359-4ac7-89e0-1e33bf37579e
User : James Ryan
Username : [email protected]
Date (UTC) : 2023-12-28T09:54:26Z
Multifactor authentication result : MFA completed in Azure AD
Multifactor authentication auth method : Text message
通过分析登录数据,我们可以发现哪些帐户在过去 30 天内使用了 MFA。鉴于有些人可能已经离开很长时间,因此不能保证这是使用 MFA 的完整帐户集。相反,它是积极使用 MFA 的帐户集,这是值得拥有的有用知识。
报告 MFA 状态
回到最初的问题,即了解哪些帐户启用了 MFA,哪些帐户没有启用,让我们结合多个来源的信息来创建用户帐户、密码状态、帐户上次成功登录、用户访问时间的概览。会话的有效性来自我们对 MFA 启用的了解。目的是创建帐户如何连接到租户的概述。 PowerShell 的优点在于它非常擅长将各种来源的数据整合在一起以产生新的见解。
在这种情况下,我们执行以下操作:
- 运行Get-MgUser来查找具有许可证的成员帐户。没有许可证的会员帐户(例如用于房间邮箱的帐户)不使用 MFA。
- 通过运行 Get-MgBetaReportAuthenticationMethodUserRegistrationDetail cmdlet 获取 MFA 注册数据。
- 处理每个帐户以提取详细信息,例如上次更改帐户密码的时间戳、上次成功登录和上次登录(可能是失败的尝试)的时间戳、如果任何密码策略适用于该帐户,注册的身份验证类型、帐户是否拥有管理员角色、帐户是否具有 MFA 功能等等。
图 3 显示了报告输出的示例,其中包括一些颜色编码,可帮助管理员了解帐户何时具有管理员角色或具有 MFA 功能。
在编写脚本时,我集成了从 Entra ID 下载的用户登录数据来填充“MFA 上次使用”列。如果登录数据可用,脚本会检查记录是否可用,以显示帐户是否使用 MFA 进行连接。如果找到记录,脚本将包含连接的时间戳,这就是您在图 3 中突出显示的条目中看到的内容。MFA 登录数据确认支持 MFA 的帐户实际上使用 MFA 进行连接并提供更好的连接。评估租户内 MFA 使用状况。
生成所有用户帐户的详细信息后,脚本将完成报告,其中包含租户的一些总数(图 4)。该信息来自我的测试租户,因此相对较高比例的账户 (41.18%) 没有注册 MFA 也就不足为奇了。从好的方面来说,注册 MFA 的帐户比例为 58.82%,大大高于 Microsoft 365 租户的平均水平。但真正有趣的一点是,注册 MFA 的帐户中只有 45% 使用多因素连接。诸如注册活动之类的活动可能有助于说服顽固的用户完全接受 MFA。
完整的脚本可以从 GitHub 下载。正常的警告适用。该脚本可以工作,但它是为了演示原理而不是完整的解决方案而编写的。您可能需要更新代码才能使脚本在您的环境中运行。
更新(2024 年 6 月):Microsoft 发布了 beta Graph API,用于检索帐户的每用户 MFA 状态。最新版本的脚本报告是否针对每用户 MFA 启用、禁用或强制执行帐户。
深入了解 MFA 状态
许多网络文章告诉您如何检索用户帐户的 MFA 状态。那些使用旧 MSOL cmdlet 的用户最终将停止工作。其他使用特定身份验证方法注册来指示 MFA 启用的人做出的假设可能不正确。
如果您想确定 Entra ID 用户帐户的 MFA 状态,您必须从多个来源获取信息,才有机会得出明确的结论。希望此处描述的方法能让您深入了解如何了解 Entra ID 帐户的 MFA 状态。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag