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

Azure API在新订阅下无法创建Blob存储账户如何解决

Azure API调用新订阅创建存储账户权限报错解决方案

报错信息:

The client 'xxx' with object id 'xxx' does not have authorization to perform action 'Microsoft.Storage/storageAccounts/write' over scope '/subscriptions/xxx/resourceGroups/xxx/providers/Microsoft.Storage/storageAccounts/xxxx' or the scope is invalid. If access was recently granted, please refresh your credentials.

排查与解决步骤

  • 确认API调用使用的身份
    你UI操作用的是个人账号,但API调用大概率使用的是服务主体、托管身份或缓存的旧凭证,和UI登录身份不是同一个。你可以解析API请求携带的Access Token的oid字段,和报错信息里的object id做对比,确认API实际使用的身份。
  • 给对应身份分配新订阅权限
    如果API使用的身份和UI登录身份不一致,进入新订阅的访问控制(IAM) 页面,给报错信息里的object id对应的身份分配至少存储账户参与者角色,或包含Microsoft.Storage/storageAccounts/write操作权限的自定义角色,权限范围覆盖你要操作的资源组或整个订阅。
  • 校验API请求参数
    确认请求中填写的订阅ID、资源组名称拼写完全正确,没有误用旧订阅的参数,操作的资源组需提前在新订阅下创建完成。
  • 刷新身份凭证
    如果是刚完成权限分配,旧的未过期Access Token还会保留旧的权限信息,需清除本地缓存的旧凭证,重新申请新的Access Token后再调用接口。
  • 验证权限有效性
    可以使用Azure CLI测试同一身份是否能正常创建存储账户,执行命令:
    az storage account create --name <存储账户名> --resource-group <资源组名> --location <区域> --sku Standard_LRS
    如果CLI执行成功,说明权限配置无问题,检查API代码中的凭证逻辑、参数配置即可。

常见踩坑点:如果你使用Azure SDK调用接口,SDK默认会按优先级读取凭证(环境变量服务主体>托管身份>本地CLI/VS登录凭证),如果本地环境变量配置了旧的无权限服务主体,SDK会优先调用该身份,导致权限报错,可检查SDK的凭证链配置,指定使用有权限的身份。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 11:09:01