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

无法更新Azure Pipeline:获取App Service发布凭据失败(403错误)

排查Azure Pipeline服务主体403授权错误

问题概述

作为项目贡献者,尝试更新Azure Pipeline中的服务主体时持续触发403错误:

Error: Failed to fetch App Service publishing credentials. The client does not have authorization to perform action over scope or the scope is invalid. If access was recently granted, please refresh your credentials. (CODE: 403).

已尝试让项目所有者更新管道,且参考过相关解决方案,但问题仍未解决。当前Pipeline代码仅包含构建、测试、发布工件阶段,未涉及部署到App Service的任务。

排查与解决步骤

1. 验证服务主体的权限配置

  • 确认服务主体已被直接授予App Service Contributor(或更高权限如Contributor),且权限作用范围覆盖目标App Service所在的资源组/订阅。避免仅通过组继承权限,部分场景下继承权限可能不生效。
  • 在Azure Portal的Azure Active Directory>应用注册中找到对应服务主体,检查其在目标资源组/订阅的IAM权限分配。

2. 检查Azure DevOps服务连接

  • 进入项目的项目设置>服务连接,找到Pipeline使用的Azure服务连接:
    • 确认连接关联的订阅、资源组与目标App Service一致。
    • 点击"测试连接"验证连接有效性,若失败则重新配置服务主体的密钥(在Azure Portal生成新密钥后更新到服务连接中)。

3. 确认环境的安全权限

  • 从提供的环境截图来看,检查Staging/Production环境关联的资源是否在服务主体的权限范围内。
  • 进入环境的安全设置,确保服务连接对应的服务主体(或Azure DevOps服务主体身份)被授予环境管理员或用户权限,允许Pipeline访问该环境。

4. 清除凭据缓存

  • 若权限刚更新,Azure可能存在缓存延迟:
    • 重新生成服务主体的客户端密钥,更新到Azure DevOps服务连接后重新运行Pipeline。
    • 如果使用自托管代理,重启代理以清除本地缓存的凭据;使用Microsoft托管代理则直接重新运行Pipeline即可。

5. 核对部署任务配置(若存在)

如果Pipeline后续包含部署到App Service的任务(如AzureWebApp@1),需额外检查:

  • 任务参数azureSubscription是否指定了正确的服务连接。
  • appName是否与目标App Service名称完全一致,避免拼写错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 10:13:11