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

非全局管理员在Azure中获取应用API令牌及授权自身应用的方法

Azure服务主体令牌获取失败及授权问题

背景信息

我已在Azure中基于指定仓库创建应用,并通过以下命令创建服务主体完成部署:

az ad sp create-for-rbac --name "fxpricepredictor" --role contributor --scopes "/subscriptions/YOUR-SUBSCRIPTION-ID/resourceGroups/YOUR-RESOURCE-GROUP-NAME" --sdk-auth

需获取API令牌以通过REST API管理已创建的资源,根据官方文档,应使用tenantId、clientId和client_secret调用以下端点:

curl -X POST https://login.microsoftonline.com/{{tenantId}}/oauth2/token

注:我并非租户的全局管理员。

错误返回结果

调用上述端点后未获取到令牌,返回错误内容如下:

{
    "error": "unauthorized_client",
    "error_description": "AADSTS700016: 标识符为'MY_CLIENTID'的应用在目录'MY COMPANY'中未找到。这可能是因为租户管理员未安装该应用,或租户中无用户同意该应用。你可能向错误的租户发送了身份验证请求。\r\n跟踪ID: 5a9a2c53-c3c8-46da-a1a6-551b42082400\r\n关联ID: bf7c5966-ffa4-4312-8a77-434c2560d65a\r\n时间戳: 2022-10-05 14:54:23Z",
    "error_codes": [
        700016
    ],
    "timestamp": "2022-10-05 14:54:23Z",
    "trace_id": "5a9a2c53-c3c8-46da-a1a6-551b42082400",
    "correlation_id": "bf7c5966-ffa4-4312-8a77-434c2560d65a",
    "error_uri": "https://login.microsoftonline.com/error?code=700016"
}

(注:错误信息中的敏感值已用MY_CLIENTID和MY COMPANY替换)

核心问题

我推测问题根源是应用未获得租户内用户的授权,现存在两个疑问:

  1. 如何获取可用于REST API管理资源的令牌?
  2. 作为非全局管理员,如何为自身创建的应用进行授权?

已尝试的授权操作(未成功)

我尝试通过Microsoft Graph权限配置进行授权,操作步骤如下:

  • 登录Azure门户
  • 进入「Azure Active Directory」
  • 进入「应用注册」
  • 点击已创建的应用「fxpricepredictor」
  • 进入「API权限」
  • 点击「添加权限」
  • 选择「Microsoft Graph」
  • 选择「委派权限」
  • 搜索「authentication」——但该权限选项仍需要管理员同意

内容的提问来源于stack exchange,提问作者Sal-laS

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 11:05:19