You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ADFS 4.0域本地组声明无法传递问题求助

ADFS 4.0域本地组身份声明规则失效问题解决

问题背景

原本用全局安全组配置ADFS组成员身份声明规则运行正常,为添加外部林信任用户把全局组转成域本地组后,规则直接失效——哪怕是同域用户,只有全局组能正常触发规则,域本地组完全不行。

核心结论

ADFS 4.0不支持直接用域本地组做组成员身份声明规则的目标组。原因是域本地组的作用域仅限本域,ADFS的身份声明引擎没法跨域解析它的成员关系,就算是同域用户,组的作用域属性也会导致解析逻辑失败。

解决方案

方案1:嵌套组兼容(推荐)

保留原来的全局组作为ADFS声明规则的目标组,通过嵌套域本地组来添加外部林用户:

  • 新建一个域本地组,把外部林信任用户加进去
  • 把这个域本地组嵌套到原有的全局安全组里
  • 保持ADFS声明规则指向原全局组,这样既能支持外部用户,又不破坏原有规则的运行逻辑

方案2:自定义PowerShell声明规则

如果一定要用域本地组,可以写自定义脚本实现成员身份验证:

  • 编写PowerShell脚本查询域本地组的成员(要确保ADFS服务账户有读取域本地组的权限)
  • 在ADFS里创建自定义声明规则,调用这个脚本返回成员身份声明
  • 示例规则代码:
    c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"]
    => issue(store = "Active Directory", types = ("http://schemas.microsoft.com/ws/2008/06/identity/claims/groupsid"), query = ";tokenGroups;{0}", param = c.Value);
    
    注:这个脚本会返回用户所属的所有组SID,后续可以过滤出域本地组的SID来生成对应声明

注意事项

  • 要给ADFS服务账户配置读取域本地组成员的权限,默认权限可能不够,得手动设置
  • 嵌套组方案是官方推荐的稳定方式,自定义脚本要考虑性能和后续维护成本

内容的提问来源于stack exchange,提问作者KAI YAO

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 08:19:56