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

如何从Azure权限错误定位并在UI中添加App Registration所需权限

问题解答

1. Microsoft.Compute/virtualMachines/read权限对应的Azure UI类别

这个权限属于**计算(Compute)**资源提供商范畴,分两种场景对应不同UI路径:

  • 如果是通过RBAC(访问控制)给服务主体分配资源级权限(你的场景需要的是这个):
    进入VM所在的资源组/订阅的「访问控制(IAM)」页面,添加角色分配时,可直接搜索包含该权限的内置角色(比如「虚拟机参与者」「虚拟机读者」);或者创建自定义角色时,在「权限」搜索框输入Microsoft.Compute,展开后找到「虚拟机 - 读取」子权限。
  • 如果是在App Registration中配置ARM API访问权限:
    进入目标应用注册的「API权限」页面,点击「添加权限」→ 选择「Azure Service Management」→ 切换到「应用权限」,展开「计算」分类,就能找到对应「读取虚拟机」的权限项。

2. 从权限路径快速定位添加权限的通用方法

Azure UI方式

  1. 拆分权限路径:从Microsoft.Compute/virtualMachines/read中提取资源提供商Microsoft.Compute和具体操作virtualMachines/read。
  2. RBAC权限分配(推荐用于资源操作场景):
    • 进入目标资源(VM/资源组/订阅)的「访问控制(IAM)」→「添加角色分配」。
    • 若用内置角色:在「角色」搜索框输入关键词(比如“虚拟机 读取”),找到匹配的角色后选择,再指定你的服务主体完成分配。
    • 若需精准单个权限:选择「自定义角色」→「创建」,在「权限」步骤搜索Microsoft.Compute,勾选对应virtualMachines/read权限,设置可分配范围后保存,再分配给服务主体。
  3. App Registration API权限配置:
    • 进入应用注册的「API权限」→「添加权限」→ 选择「Azure Service Management」,在「应用权限」中按资源提供商分类找到对应权限,添加后点击「授予管理员同意」。

编程方式(以Azure CLI为例)

  1. 获取服务主体的Object ID:
az ad sp show --id <你的应用注册客户端ID> --query id -o tsv
  1. 创建包含目标权限的自定义角色(可选,若已有匹配内置角色可跳过):
az role definition create --role-definition '{
  "Name": "VM只读访问角色",
  "Description": "仅允许读取虚拟机资源",
  "Actions": ["Microsoft.Compute/virtualMachines/read"],
  "AssignableScopes": ["/subscriptions/<你的订阅ID>"]
}'
  1. 给服务主体分配角色:
az role assignment create --assignee <服务主体Object ID> --role "VM只读访问角色" --resource-group <你的资源组名称>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 02:37:29