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

如何为服务主体设置正确Scope以调用Azure管理服务及ML计算API

解决Azure ML计算REST API令牌受众错误及权限疑问

错误原因及解决方法

你的错误核心是获取访问令牌时指定的资源(resource)参数错误。调用Azure管理REST API(包括ML计算的启停接口)时,令牌的受众必须是https://management.azure.com/(或错误提示里的其他允许值),但你当前请求用的是api://{{id}},导致受众不匹配。

修正方法:在发起OAuth请求获取令牌时,将resource参数的值改为https://management.azure.com/。以client credentials flow的请求为例:

POST https://login.microsoftonline.com/{tenant-id}/oauth2/token
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials
&client_id={your-sp-client-id}
&client_secret={your-sp-client-secret}
&resource=https://management.azure.com/

你的疑问解答

1. 如何在Azure门户的服务主体端设置该Scope?

不需要在服务主体(应用注册)端设置这个Scope。https://management.azure.com/是Azure管理API的资源标识符,并非你自身应用注册的Scope。问题完全出在获取令牌时的resource参数配置,只要在请求令牌时指定正确的resource值即可,无需在门户内做额外设置。

2. 权限机制如何运作?已分配资源级所有者权限,是否仍需配置Scope?

Azure的权限分两种场景:

  • 针对Azure管理API(ARM API):服务主体的权限通过RBAC角色分配(比如你给服务主体添加的资源级所有者权限)控制,不需要在应用注册的「API权限」里配置任何Scope。只要RBAC角色分配正确,加上令牌的resource参数无误,就能正常调用API。
  • 针对自定义API或Microsoft Graph等其他API:才需要在应用注册里配置对应的API权限(Scope),并完成管理员同意。

简单来说,你已经给服务主体分配了资源级所有者权限,只要把令牌请求的resource改成https://management.azure.com/,就能正常调用ML计算的启停API,无需再去应用注册里配置Scope。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 18:31:44