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

调用Azure CostManagement Export API创建导出遇401未授权问题求助

问题:Azure Cost Management Export API 创建导出时返回401未授权错误

我调用Azure Cost Management Export API的不同端点时,Get和Delete方法可以正常使用,但调用Create接口创建导出时返回如下错误:

{"error":{"code":"401","message":"Unauthorized (Request ID: 4ccbb40a-58c1-4ac6-8c1d-6a1b5c17a07c)"}}

我使用Java SDK实现调用,服务主体已配置以下角色:

  • 计费账户Reader
  • Reader
  • Cost Management Contributor
  • 存储账户Contributor
  • Storage Blob Data Contributor
  • 根管理组Monitoring Contributor
    同时已为服务主体启用Azure Service Management的user_impersonation权限。我也尝试过通过Spring RestTemplate调用API,使用scope为https://management.azure.com/.default生成令牌,但仍然遇到相同的401错误。

请问还需要配置哪些额外角色或步骤才能让服务主体成功创建导出?


解决方案建议

1. 确认角色的作用范围是否正确

Cost Management Contributor角色需要直接分配到对应的计费对象(计费账户、计费剖面或订阅),而非仅通过根管理组继承。创建导出的权限基于计费上下文,根管理组的角色继承可能无法覆盖具体计费层级。

  • 操作步骤:在Azure门户对应计费账户/订阅的「访问控制(IAM)」中,检查服务主体是否被直接分配Cost Management Contributor角色。

2. 验证令牌的权限范围

使用https://management.azure.com/.default生成令牌后,需确认令牌包含Microsoft.CostManagement/exports/write权限:

  • 用Azure CLI命令验证:
    az account get-access-token --scope https://management.azure.com/.default --query 'accessToken' | xargs echo | base64 -d | jq '.roles'
    
    若输出中无Microsoft.CostManagement/exports/write,说明角色分配未生效或作用范围错误。

3. 匹配计费对象层级的权限

如果导出针对**计费剖面(Billing Profile)或发票科目(Invoice Section)**创建,服务主体需在对应层级拥有Cost Management Contributor角色,而非仅计费账户层级:

  • 例如导出目标为某个计费剖面,需在该计费剖面的IAM中分配Cost Management Contributor角色。

4. 检查存储账户的访问规则

虽然已分配Storage Blob Data Contributor,仍需确认:

  • 存储账户的防火墙/网络规则未阻止服务主体访问;
  • 服务主体对目标存储容器拥有Microsoft.Storage/storageAccounts/blobServices/containers/write权限。

5. 核对API调用的上下文路径

创建导出的API路径需匹配正确的计费层级,例如:

  • 订阅层级:PUT https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.CostManagement/exports/{exportName}?api-version=2023-08-01
  • 计费账户层级:PUT https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/exports/{exportName}?api-version=2023-08-01
    确保调用路径与服务主体拥有权限的计费层级一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 08:31:09