有没有办法通过服务主体访问 Azure Devops REST API?在API权限中只有用户委托的权限:
我们需要做一些项目和任务的整理。并且只有使用用户安全令牌才能成功。我们需要使用可以访问所有内容的服务帐户来完成此操作。
有没有办法通过服务主体访问 Azure Devops REST API?
是的。您可以参考以下步骤生成访问令牌来运行Rest API:
步骤1:转到组织设置 > Azure Active Directory,确保组织已连接到服务主体所在的 AAD。
Step2:进入组织设置 > 用户,搜索服务主体并将其添加到组织中。
Step3:成功将服务主体添加到组织中后,将其添加到组中,以便您可以通过组织中的该组来管理服务主体的权限。
第四步:我们可以使用服务主体凭证生成访问令牌。
Bash 脚本:
access_token=$(curl -X POST -H "Content-Type: application/x-www-form-urlencoded" 'https://login.microsoftonline.com/{tenant_ID}/oauth2/v2.0/token' \
-d 'client_id={client_id}&scope=499b84ac-1321-427f-aa17-267ca6975798/.default&client_secret={client_secret}&grant_type=client_credentials' | jq -r '.access_token')
(1)将 {tenant_ID} 替换为 AAD 的目录(租户)ID。
(2)将 {client_id} 替换为服务主体的应用程序(客户端)ID。
(3)将 {client_secret} 替换为服务原理中创建的客户端密钥的值
邮递员:
访问令牌可直接用于运行 Azure DevOps Rest API。
有关更多详细信息,您可以参考此文档:在 Azure DevOps 组织中添加和管理服务主体