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

Azure中通过Python部署微调后的GPT模型时遭遇403 Forbidden错误的解决方法

Azure中通过Python部署微调后的GPT模型时遭遇403 Forbidden错误的解决方法

遇到这种UI能正常部署但代码返回403权限错误的情况确实挺让人头疼的,咱们结合你提供的信息一步步来排查解决:

先明确核心问题

错误提示里的AuthorizationFailed已经说得很清楚了:你的账号没有对目标部署路径执行Microsoft.CognitiveServices/accounts/deployments/write操作的权限,或者scope无效。但你能通过UI部署,说明账号本身是有权限的,问题大概率出在代码里用的访问令牌或者Cloud Shell的环境配置上。

具体排查和解决步骤

1. 确认Cloud Shell的账号和UI操作的账号是同一个

有时候我们可能在Azure里有多个账号或者身份,先在Cloud Shell里跑下面的命令,核对输出的订阅ID、租户ID和你UI里操作的是否完全一致:

az account show

如果不一致,用az account set --subscription <正确的订阅ID>切换到正确的订阅,再重新登录:

az login

2. 获取带正确权限范围的访问令牌

你用az account get-access-token拿到的令牌,可能默认的资源范围不对。因为你调用的是Azure管理API(management.azure.com),需要明确指定资源参数来获取对应权限的令牌:

az account get-access-token --resource https://management.azure.com/

拿到新的令牌后替换代码里的token值再试试。另外你可以把拿到的令牌放到jwt.io上解码,确认aud字段是https://management.azure.com/,并且exp字段显示的过期时间还没到。

3. 确认账号在资源上的角色权限

虽然UI能操作,但还是要确认Cloud Shell里的账号在你的Cognitive Services资源上有足够的权限。在Cloud Shell里运行下面的命令(替换成你的邮箱、资源组和资源名称):

az role assignment list --assignee <你的邮箱地址> --resource-group <你的资源组名称> --resource-type Microsoft.CognitiveServices/accounts --name <你的Cognitive Services资源名称>

如果输出里没有Contributor、Owner或者Cognitive Services Contributor这类角色,就需要给账号添加对应的角色:

  • 登录Azure UI,找到你的Cognitive Services资源
  • 进入「访问控制(IAM)」→「添加」→「添加角色分配」
  • 选择「Cognitive Services Contributor」角色,然后添加你的账号,保存后等待几分钟生效,再重新获取令牌尝试部署。

4. 刷新凭据并重试

错误提示里提到如果刚授权了要刷新凭据,你可以在Cloud Shell里重新登录一次,确保令牌是最新的:

az login

然后重新获取令牌,替换到代码里再运行。

最后再核对代码里的参数

再检查一遍代码里的subscription、resource_group、resource_name、model_deployment_name这些参数,确保和UI里的完全一致,特别是资源名称和部署名称,别打错字。

备注:内容来源于stack exchange,提问作者Franck Dernoncourt

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.13 19:37:57