近日,全球多个Azure DevOps用户反馈,在尝试创建新的Azure服务连接(Service Connection)时频繁遭遇失败,错误提示“无法创建新服务连接”且无详细日志。该问题自本周初集中爆发,已影响大量依赖Azure DevOps进行持续集成/持续部署(CI/CD)的团队,部分企业的自动化流水线被迫中断。微软官方已确认该故障,并正在紧急修复。
问题集中爆发,用户反映“完全无法操作”
据多位开发者在微软开发者社区、Stack Overflow及社交媒体上反映,当他们在Azure DevOps项目中点击“新建服务连接”时,界面会弹出“Unable to create new Azure service connection”的通用错误信息,且无论选择何种连接类型(如Azure资源管理器、GitHub、Docker Registry等),均无法完成创建。部分用户尝试刷新页面、重新登录、更换浏览器甚至切换Azure订阅后,故障依旧存在。
一位来自欧洲某金融科技公司的DevOps工程师表示:“我们昨天需要为新的微服务配置CI/CD管道,但整整一个下午都无法创建服务连接。团队不得不回退到手动部署,严重影响了发布频率。”类似的声音在中文开发者社区同样高涨,有用户称该问题已持续超过48小时,“微软的Azure状态页面(Azure Status)上竟然没有显示任何异常,这让人更加困惑。”
可能原因:底层API或认证模块异常
根据微软官方在Azure DevOps Service Health Dashboard中发布的最新公告,工程师团队已定位到根本原因——与Azure DevOps服务连接创建相关的后端API服务近期发生了配置变更,导致与Azure Active Directory(Azure AD)的令牌验证机制出现冲突。具体而言,当用户发起创建服务连接的请求时,系统在尝试获取Azure AD应用注册(App Registration)所需的权限令牌时,因一个内部证书轮换失败而返回“403 Forbidden”或“400 Bad Request”错误,前端将这些错误统一包装成了“Unable to create”的无意义提示。
此外,有独立安全研究人员分析认为,该故障可能与微软近期针对Azure服务间身份验证进行的“零信任”安全升级有关。升级过程中,部分旧版服务主体(Service Principal)的委托权限未被正确迁移,导致新建连接时无法通过权限校验。不过该说法尚未得到微软官方证实。
微软回应:问题已初步修复,部分用户仍受影响
截至发稿时,微软Azure团队已在官方的Azure DevOps服务健康页面上更新了状态,将问题标记为“已确认”,并提供了临时缓解措施。微软建议遭遇故障的用户尝试以下步骤:
- 清除浏览器缓存和本地存储:部分用户表示该操作后问题暂时消失。
- 使用“经典”模式创建服务连接:在新建连接时,如果弹出错误,可尝试切换至“使用验证令牌”或“手动输入服务主体信息”模式,而不是默认的“自动创建”。
- 通过Azure CLI或REST API绕过前端:有用户验证发现,使用
az devops service-endpoint命令可以直接创建连接,成功率高。
微软同时表示,针对后端令牌服务的补丁已于UTC时间11月28日凌晨部署到部分区域,但全球完全恢复可能需要24至48小时。目前,美国西部、欧洲北部、东南亚等区域仍有用户报告问题未解决。
行业专家:建议企业建立备用方案
本次故障再次凸显了云服务单点依赖的风险。独立DevOps顾问、微软MVP(最有价值专家)张华在接受采访时指出:“Azure DevOps的服务连接是CI/CD管道的关键输入环节。一旦故障,整个部署流程都会受阻。企业应提前创建多个服务连接副本,并将服务主体信息以安全的方式存储在密钥管理服务中,以便在界面不可用时通过API手动重建。”
他还建议,团队应定期测试“离线部署”能力,即在不依赖Azure DevOps原生服务连接的情况下,直接通过Azure CLI或PowerShell脚本完成资源部署。“本次问题中,许多团队因为没有保留服务主体的客户端密钥(Client Secret)备份,导致即使知道解决方法也无法操作。”
后续:微软承诺加强监控预警
微软Azure DevOps产品团队在最新的公告中表示,将对服务连接创建流程增加更详细的错误日志和状态码输出,避免类似“Unable to create”这样无帮助的通用错误再次出现。同时,他们计划在Azure Status页面中增加针对DevOps关键功能的实时健康状态粒度,使企业能更快获得故障通知。
截至发稿,仍有数万用户依赖手动方式暂时绕过故障。微软呼吁受影响的用户持续关注官方论坛,并建议在问题完全解决前,不要删除已有的工作服务连接,以免造成二次影响。我们将持续跟踪此事的最新进展。