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

GitLab手动删除的Azure AD同步用户无法导入,如何恢复或强制同步?

问题根因

GitLab 对接 Azure AD 做用户同步时,默认会保留已删除用户的唯一标识关联记录(对应 Azure AD 的 Object ID、用户主名 UPN 字段),避免重复创建冲突。常规同步任务识别到该用户曾在 GitLab 存在且标记为删除状态时,就会跳过导入逻辑,导致无法重新创建用户。

解决方法

方法1:恢复 GitLab 侧已删除用户(优先推荐)

该方案不会丢失用户原有的项目权限、代码提交记录、issue 关联等历史数据。操作要求你拥有 GitLab 管理员权限:

  • 进入 GitLab 管理后台,路径为 Admin Area > Overview > Users
  • 点击页面顶部的 Deleted 标签,筛选出所有已删除的用户,找到你误删的目标账号
  • 点击账号对应的 Restore user 按钮即可完成恢复
  • 恢复完成后手动触发一次 Azure AD 同步,用户的邮箱、所属用户组等属性会自动对齐 Azure AD 侧的最新配置

如果前端找不到目标用户,可以通过 GitLab 命令行操作恢复:

  • 登录 GitLab 部署服务器,执行命令进入 Rails 控制台:gitlab-rails console
  • 按邮箱查询已删除用户:user = User.only_deleted.find_by(email: "目标用户的完整邮箱地址")
  • 执行恢复命令:user.restore!
  • 退出控制台后手动触发同步即可

方法2:清除残留关联记录后强制重新同步

如果误删的用户没有需要保留的历史数据,可以直接清除 GitLab 侧留存的身份关联记录,让同步任务重新创建用户:

  • 先确认 Azure AD 侧该用户账号状态正常,没有被禁用、软删除
  • 进入 GitLab Rails 控制台,执行命令删除残留的外部身份关联记录:Identity.where(extern_uid: "目标用户的 Azure AD Object ID", provider: "azure_activedirectory_v2").destroy_all
  • 手动触发一次 Azure AD 全量同步,系统会自动识别 AD 侧的正常账号,在 GitLab 中创建全新的对应用户

手动触发 Azure AD 全量同步的操作路径:Admin Area > Settings > Integrations > Azure Active Directory,点击页面中的 Sync now 按钮即可,不需要等待每日定时同步任务执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 15:24:00