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

Azure DevOps新建ACR服务连接时加载注册表无限卡顿问题求助

Azure DevOps连接租户B ACR时"Loading Registries"无限加载问题

问题场景

在Azure DevOps中搭建基于Docker镜像的CI/CD流水线,此前在租户A环境操作完全正常。获得客户租户B的访问权限后,创建ACR服务连接时出现异常:

  • 可选订阅列表包含租户A的2个订阅和租户B的1个订阅
  • 选择租户B的订阅后,页面持续显示**"Loading Registries"**,无限加载无法完成
  • 选择租户A的订阅则能正常加载并选择ACR资源

已完成的排查操作:

  • 清除浏览器缓存
  • 使用浏览器隐身模式尝试
  • 自身持有租户B的User Access Administrator角色,权限理论上满足配置需求

控制台捕获的错误信息:

{
    "$id": "1",
    "innerException": null,
    "message": "TF400898: An Internal Error Occurred. Activity Id: 34...",
    "typeName": "Microsoft.Identity.Client.MsalUiRequiredException, Microsoft.Identity.Client",
    "typeKey": "MsalUiRequiredException",
    "errorCode": 0,
    "eventId": 0
}

可行解决方法

1. 补充ACR相关资源权限

User Access Administrator角色主要用于管理用户权限分配,可能不足以访问ACR资源本身:

  • 给你的账户在租户B的目标ACR(或其所在资源组)添加ACR Owner、ACR Contributor或Contributor角色
  • 确认权限已生效(可能需要等待15-30分钟的权限同步时间)

2. 重新完成跨租户身份授权

  • 在服务连接创建页面,选择租户B订阅后,点击页面右上角的重新授权按钮(若存在),重新完成租户B的身份验证流程
  • 切换到手动创建服务连接模式,直接输入ACR登录服务器地址、服务主体ID、密钥等信息,绕过自动加载环节

3. 重置Azure AD身份验证上下文

  • 注销所有Azure关联账户(包括租户A和B),清理浏览器的身份验证Cookie,重新登录租户B账户后再尝试操作
  • 使用Azure CLI执行以下命令,确保本地身份上下文切换到租户B:
    az login --tenant <租户B的租户ID>
    az account set --subscription <租户B的订阅ID>
    
    完成后回到Azure DevOps页面重试

4. 排查租户B的条件访问策略

租户B可能存在限制访问的条件策略:

  • 检查是否有策略要求必须使用MFA登录,当前操作未满足该条件
  • 确认是否有策略限制了非信任位置、特定设备的访问,或者阻止了Azure DevOps应用的访问权限

5. 提交Azure支持工单

若以上方法均无效,MsalUiRequiredException通常指向跨租户身份验证链路问题,可提交Azure支持工单,提供控制台中的Activity ID,让官方团队排查租户间的身份验证配置异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 00:38:22