如何查询Azure B2C自定义策略创建用户的MFA启用状态?
检查Azure B2C自定义策略用户MFA启用状态的可行方案
目前Microsoft Graph的标准接口确实不支持直接获取Azure B2C用户的MFA启用状态,你提到的两种接口(获取电话认证方法、用户注册详情报表)对B2C租户存在限制,这是已知的产品局限性。不过可以通过以下替代方案实现需求:
1. 自定义扩展属性存储MFA状态
在Azure AD B2C租户中创建一个用户扩展属性(例如extension_MfaEnabled),然后修改自定义策略:
- 当用户完成MFA注册流程时,将该属性设为
true - 当用户移除MFA方法时,将该属性设为
false
之后通过Microsoft Graph的GET /users/{userId}接口获取该扩展属性的值,即可直接判断用户的MFA启用状态。
2. 检查MFA认证方法的存在性
调用Microsoft Graph Beta版本的GET /users/{userId}/authentication/methods接口,检查返回结果中是否包含MFA类型的认证方法(如phoneAuthenticationMethod、microsoftAuthenticatorAuthenticationMethod)。若存在,则可间接判定用户已启用MFA;若未返回相关方法,则视为未启用。
注意:此接口对B2C租户的支持有限,需确保自定义策略已正确同步用户的MFA方法信息到Graph。
3. 通过Azure Monitor日志分析
将Azure B2C的日志收集到Log Analytics,使用Kusto查询分析SigninLogs中的MfaDetail字段,统计用户是否完成过MFA验证,以此推断MFA启用状态。该方法适合批量用户分析,但实时性相对较弱。
内容的提问来源于stack exchange,提问作者Lacaeyse
相关产品推荐
相关产品推荐

