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

Azure Portal新手:如何用Client Credentials流生成令牌读取应用与租户用户

解决方案

一、读取Azure AD应用(应用注册/企业应用)

你需要调用Microsoft Graph API的应用相关端点,Client Credentials流下需配置对应应用权限:

可用API端点

  • 读取所有应用注册:GET https://graph.microsoft.com/v1.0/applications
  • 读取租户内的企业应用(服务主体):GET https://graph.microsoft.com/v1.0/servicePrincipals

必要配置

  1. 在Azure Portal的应用注册中,添加应用权限:
    • 选择Microsoft Graph -> 应用权限 -> 添加Application.Read.All(只读)或Application.ReadWrite.All(读写)
  2. 点击「授予[你的租户名]管理员同意」,确保权限生效

Postman调用步骤

  1. 获取Client Credentials令牌:
    • 请求方法:POST
    • 请求URL:https://login.microsoftonline.com/{你的租户ID}/oauth2/v2.0/token
    • Body(x-www-form-urlencoded):
      • client_id: 你的应用注册客户端ID
      • client_secret: 你的应用注册客户端密钥
      • grant_type: client_credentials
      • scope: https://graph.microsoft.com/.default
  2. 调用应用查询API:
    • 请求方法:GET
    • 请求URL:https://graph.microsoft.com/v1.0/applications
    • 请求头:Authorization: Bearer {获取到的令牌}

二、读取租户关联的用户

同样使用Microsoft Graph API的用户端点,需配置用户相关应用权限:

可用API端点

  • 读取所有租户用户:GET https://graph.microsoft.com/v1.0/users
  • 读取单个用户:GET https://graph.microsoft.com/v1.0/users/{用户ID/用户UPN}

必要配置

  1. 在应用注册中添加应用权限:
    • 选择Microsoft Graph -> 应用权限 -> 添加User.Read.All(只读)或User.ReadWrite.All(读写)
  2. 同样需要授予管理员同意

Postman调用步骤

  1. 令牌获取方式和上面一致(同一个应用注册的话,直接用之前的令牌即可,因为/.default会包含所有已授予的应用权限)
  2. 调用用户查询API:
    • 请求方法:GET
    • 请求URL:https://graph.microsoft.com/v1.0/users
    • 请求头:Authorization: Bearer {获取到的令牌}

常见问题排查

  • 检查令牌的aud(受众)字段是否为https://graph.microsoft.com,否则API会拒绝请求
  • 查看令牌的roles声明,确认包含你配置的应用权限(如Application.Read.All、User.Read.All)
  • 确保应用注册的客户端密钥未过期,租户ID填写正确

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 01:29:57