删除Azure AD用户字段数据未触发SCIM预配变更问题咨询
Azure AD 非画廊自定义应用SCIM同步:清空已同步字段值未触发下游数据移除问题
问题背景
- 完成不在Azure AD应用市场内的自定义应用SCIM预配配置
- 新建用户预配、已有用户非空属性修改操作均可正常执行
- 异常现象:删除Azure AD侧已完成同步的字段存量数据时,SCIM应用端未收到对应的数据移除变更
- 已执行排查:测试多种属性映射配置组合、查阅公开文档未找到对应已知问题说明
- 参考举证材料:属性映射配置截图、已预配用户字段数据删除操作截图、按需预配无变更记录截图
问题根因
- 平台默认空值过滤规则生效
Azure AD针对非画廊应用的SCIM同步引擎默认启用空值拦截逻辑:当属性值被清空为null或空字符串时,引擎默认不会将该空值写入发往SCIM端点的PATCH请求载荷。该逻辑设计目的是避免多源同步场景下空值意外覆盖其他数据源的有效属性,属于平台默认行为,并非配置错误。该默认规则没有在非画廊应用的常规配置页做显性提示,是这类问题最常见的诱因。 - 属性映射触发规则限制
若对应字段在属性映射配置中开启了仅特定同步操作下发(比如仅创建用户时发送),属性清空操作不会被判定为符合触发条件的变更事件,引擎会直接跳过该字段的差异比对流程。 - 按需预配的日志采集逻辑偏差
观察到的按需预配无变更记录,本质是同步引擎在差异比对阶段就已经将空值字段标记为“无需下发”,根本不会生成对应SCIM请求,因此日志中不会留存相关变更记录,并非SCIM端点侧拒收请求。
处理方案
- 进入SCIM应用的属性映射高级配置页,检查对应字段是否开放了空值发送开关,若存在
发送空值选项则手动开启;老租户若配置页无该选项,可通过Graph API修改同步Schema的sendNullValues属性为true。 - 空值同步验证不要使用按需预配功能,手动触发一次增量同步后查看正式同步日志的请求载荷,确认空值是否正常下发。
- 若暂时无法调整Azure AD侧同步规则,可在SCIM应用端增加兜底逻辑:定期拉取Azure AD侧全量用户数据,对比本地存储的字段值,对本地存在但Azure AD侧已为空的字段主动执行清空操作。
内容的提问来源于stack exchange,提问作者user3269662
相关产品推荐
相关产品推荐

