如何识别Azure AD中启用PHS/PTA用户的属性与API
回答
Azure AD 没有提供绑定到单个用户的专属属性,可直接标记指定用户是否启用密码哈希同步(Password Hash Synchronization, PHS)或直通身份验证(Pass-through Authentication, PTA)——这两种混合身份验证方式默认以租户/域名为粒度生效,不存在单用户维度的独立开关,你可以按以下步骤准确判断目标用户的实际认证方式:
- 先筛选排除非混合用户
调用MS Graph查询目标用户的对象属性,检查onPremisesImmutableId字段:如果该字段为空,说明用户是云原生创建的,认证逻辑完全在Azure AD云侧完成,和PHS、PTA没有关系;如果该字段有值,说明用户是从本地Active Directory同步上来的混合用户,才会走PHS或PTA认证通道。 - 查询用户UPN后缀对应域名的认证类型
调用GET /v1.0/domains接口拉取租户下所有域名的配置,匹配用户UPN后缀对应的域名条目,查看authenticationType字段值:- 值为
Federated时,该域名走联邦认证(如AD FS、第三方IdP),和PHS、PTA无关 - 值为
Managed时,该域名走Azure AD托管认证,即使用PHS或PTA中的一种
- 值为
- 确认托管认证的具体类型
调用GET /beta/organization/{租户ID}接口查询租户级配置,返回结果中hybridAuthenticationMethod字段会直接标注当前租户配置的托管认证方式,可选值为passwordHashSync、passThroughAuthentication,该配置默认对所有托管域名下的同步用户生效。
特殊场景提示:如果你的租户配置了分域差异化认证(不同托管域名指定不同的认证方式),可以通过查询对应域名的联邦配置条目确认具体认证方式,绝大多数常规租户用全局配置判断即可得到准确结果。
常见判断误区
- 不要通过用户的
lastPasswordChangeDateTime、登录日志中的非标准字段反推认证方式,这些字段会受密码写回、云侧自助密码重置、临时访问凭证等逻辑干扰,结果完全不可靠 - 不需要尝试找单用户的认证方式标记属性,PHS和PTA的认证逻辑在Azure AD的认证网关层全局生效,不会给单个用户打专属标记
内容的提问来源于stack exchange,提问作者paradox
相关产品推荐
相关产品推荐

