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

如何使用服务主体访问Azure DevOps REST API?权限仅支持用户委派

能否使用服务主体访问Azure DevOps REST API?

可以使用服务主体访问Azure DevOps REST API,以下是具体实现步骤:

  • 注册Azure AD服务主体
    在Azure门户中创建服务主体,完成后记录三个关键信息:应用ID(Client ID)、租户ID(Tenant ID)、客户端密钥(Client Secret)或证书。

  • 为服务主体分配Azure DevOps权限
    进入目标Azure DevOps组织的「组织设置」>「权限」>「用户」页面,通过服务主体的应用ID搜索并添加该主体。根据你的需求(抓取项目和任务数据、全访问),分配对应的权限:

    • 只读数据:分配「项目集合读者」角色
    • 全访问:分配「项目集合管理员」角色
  • 获取服务主体的访问令牌
    使用OAuth 2.0客户端凭据流向Azure AD请求令牌,示例请求如下:

    POST https://login.microsoftonline.com/{tenant-id}/oauth2/v2.0/token
    Content-Type: application/x-www-form-urlencoded
    
    client_id={client-id}&scope=https://dev.azure.com/{organization-id}/.default&client_secret={client-secret}&grant_type=client_credentials
    

    替换请求中的占位符为实际的租户ID、应用ID、组织ID和客户端密钥,成功后会返回包含access_token的响应。

  • 调用Azure DevOps REST API
    在API请求的Authorization头中携带获取到的令牌,示例调用项目列表API:

    GET https://dev.azure.com/{organization}/_apis/projects?api-version=7.1-preview.4
    Authorization: Bearer {access-token}
    

关于你提到的「仅显示用户委派权限」的情况:你在Azure AD应用注册中看到的API权限配置,是针对Azure AD托管的API的权限模式,但Azure DevOps REST API的权限控制主要通过Azure DevOps内部的角色分配实现,服务主体无需配置用户委派权限,只要完成上述步骤即可正常访问。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 15:39:50