ADB2C自定义策略下用户MFA选项使用次数的统计方法问询
获取Azure AD B2C两种MFA方式的使用频次数据方法
你可以通过以下几种方式统计Phone/SMS和Email两种MFA方式的用户使用频次:
1. 利用Azure AD B2C登录日志直接分析
Azure AD B2C的登录日志会记录用户的MFA验证方式,步骤如下:
- 进入Azure门户,找到你的AD B2C租户,进入「登录日志」页面
- 添加筛选条件:事件类别选择「Authentication」,状态选择「成功」
- 查看单条日志的「Authentication details」字段,其中会明确标记用户使用的MFA方法(如“SMS”、“Email one-time passcode”等)
- 若需要批量统计,可将日志导出到Azure Monitor Log Analytics,使用Kusto查询快速汇总:
SigninLogs | where TenantId == "<你的AD B2C租户ID>" | where AuthenticationDetails has "MFA" | extend MFAMethod = tostring(parse_json(AuthenticationDetails)[0].Method) | summarize 使用次数 = count() by MFAMethod
2. 在自定义策略中添加自定义日志记录
通过扩展AD B2C自定义策略,在用户完成MFA验证后将所选方式记录到Application Insights,实现更精准的统计:
- 先在Azure中创建Application Insights资源,获取其Instrumentation Key
- 在自定义策略的
<ClaimsProviders>节点下,添加一个用于发送日志的技术配置文件,集成Application Insights - 在MFA验证成功的步骤中,添加ClaimsTransformation捕获用户选择的MFA方式(比如从
mfaMethod声明中获取),并将该声明包含到日志中 - 之后在Application Insights的「日志」页面,使用Kusto查询统计:
traces | where customDimensions contains "MFAMethod" | summarize 使用次数 = count() by tostring(customDimensions.MFAMethod)
3. 通过Microsoft Graph API自动化导出日志
如果需要定期自动化统计,可调用Microsoft Graph API的/auditLogs/signIns端点,获取包含MFA验证信息的登录日志数据,再自行编写脚本分析频次。
注意事项
- 登录日志默认保留30天,若需长期存储分析,务必配置日志导出到Log Analytics或Azure存储账户
- 自定义策略的日志记录需要确保Application Insights配置正确,避免遗漏验证成功的事件
内容的提问来源于stack exchange,提问作者Ankush Daga
相关产品推荐
相关产品推荐

