通过Azure DevOps管道向Azure DevOps REST API进行令牌身份验证(而不是PAT令牌)

5sxhfpxr  于 2023-03-13  发布在  其他
关注(0)|答案(1)|浏览(147)

我需要在Azure DevOps Pipeline中使用Azure DevOps Rest API。我知道可以通过PAT令牌连接,但应该有一种方法可以使用服务主体连接到Azure?
当我在Azure DevOps Pipeline中运行下面的代码时,我需要做哪些更改才能获得不记名令牌?

Connect-AzAccount -WarningAction 'SilentlyContinue' | Out-Null
  $Token = (Get-AzAccessToken -ResourceUrl "499b84ac-1321-427f-aa17-267ca6975798").Token # Resource url is for Azure DevOps REST API source: https://stackoverflow.com/questions/69996528/authenticate-azure-devops-api-call-without-using-a-pat
  $AzureDevOpsAuthenticationHeader = @{Authorization = 'Bearer ' + $Token }
hgb9j2n6

hgb9j2n61#

根据MS DOC,目前不可能。Azure DevOps API不支持通过服务主体进行非交互式服务访问。
Azure DevOps中没有服务主体的访问控制。

非交互方式如下

  • PAT(最推荐的方式)
  • Azure AD ROPC flow(不推荐,因为在请求时我们暴露了用户名和密码

有关详细信息,请参阅here

相关问题