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

解决Azure中azure-cost accumulatedCost工具订阅找不到及无MFA登录问题

解决Azure CLI服务主体登录后无法访问指定订阅的问题

核心问题分析

使用服务主体登录Azure CLI后无法切换到test_subscription,本质是服务主体默认无该订阅访问权限,或订阅名称/ID输入有误;同时MFA启用的用户无法通过密码直接登录,需改用交互式验证方式。


解决步骤

1. 为服务主体分配订阅访问权限

服务主体不会自动获得订阅访问权限,需手动分配对应角色:

  • 使用拥有订阅管理权限的账号(如订阅所有者、全局管理员)登录Azure门户
  • 定位到test_subscription订阅,进入**访问控制(IAM)**页面
  • 点击添加角色分配,选择适合的角色(仅需读取成本数据可选择「成本管理读者」,需更多操作可选「读者」)
  • 在成员列表中搜索并选中目标服务主体,完成角色分配

2. 确认订阅名称/ID的正确性

可能存在订阅名称拼写错误,或服务主体可见的订阅列表中名称不一致:
登录服务主体后,执行以下命令列出所有可访问的订阅:

az account list --output table

从输出中核对test_subscription的准确名称或ID,再使用正确值切换订阅:

# 使用名称切换
az account set --subscription "test_subscription"
# 或使用ID切换(更可靠)
az account set --subscription <订阅ID>

3. MFA用户的登录方案

若需使用johndoe@contoso.com账号操作,因MFA无法通过密码直接登录,改用交互式登录:

az login --username johndoe@contoso.com

执行命令后会弹出浏览器窗口,按提示完成MFA验证,验证通过后即可正常切换订阅。

4. 验证操作有效性

重新登录服务主体并验证订阅切换:

az login --service-principal -u <clientid> -p <clientsecret> --tenant <tenantid>
az account set --subscription <正确的订阅名称/ID>
# 确认当前订阅
az account show --output table

确认当前订阅为test_subscription后,执行成本数据命令:

azure-cost accumulatedCost -s <订阅ID>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 18:43:17