gpt4 book ai didi

azure - 将 Azure Devops PAT API 与服务主体结合使用

转载 作者:行者123 更新时间:2023-12-03 03:31:51 27 4
gpt4 key购买 nike

我正在尝试自动更新 azure devops 上的 pats 过期日期。

我关注了 MS Guide

https://learn.microsoft.com/en-us/azure/devops/organizations/accounts/manage-personal-access-tokens-via-api?view=azure-devops

这工作正常,但需要用户手动登录

所以我尝试使用 powershell 7 Connect-AzAccount 命令:

$azureAplicationId = "[app_id]"
$azureTenantId = "[tenant_id]"
$azurePass = ConvertTo-SecureString "[app_secret]" -AsPlainText -Force
$psCred = New-Object System.Management.Automation.PSCredential($azureAplicationId,$azurePass)

Connect-AzAccount -Credential $psCred -Tenant $azureTenantId -ServicePrincipal

然后

(Get-AzAccessToken -ResourceUrl "499b84ac-1321-427f-aa17-267ca6975798").Token

我确实得到了不记名 token ,但是当我在 postman 上使用它时: enter image description here

我认为这与以下事实有关:Azure 上的用户模拟权限似乎只能作为委托(delegate)权限提供,也不能作为应用程序权限提供: enter image description here

想法?

最佳答案

根据你的情况和你的“401”响应错误信息,经我这边测试,按照你分享的文档进行测试时,无法绕过这个用户登录过程,最后还是需要使用首先是您的用户帐户。

enter image description here

所以,建议您可以先使用powershell 7 Connect-AzAccount命令直接登录。

这里是Postman中获取token的脚本示例,用于更新PAT,如下所示,您可以检查您的Body,看看它们是否都正确。

1.首先,您应该使用在 DevOps 组织(所有者或 PCA)中拥有权限的用户帐户登录,使用命令 Connect-AzAccount 和命令 (Get-AzAccessToken -ResourceUrl "499b84ac-1321-427f-aa17-267ca6975798").Token 获取不记名 token 。

enter image description here

2.然后,您可以通过文档“GET”列出所需的正文,例如“authorizationId”:https://learn.microsoft.com/en-us/rest/api/azure/devops/tokens/pats/list?view=azure-devops-rest-7.0&tabs=HTTP

enter image description here

3.之后,'PUT'来实现PAT token ,其中“Body”修改如下:

{
"displayName": "1111",
"validTo": "2022-11-25T08:08:17.8166667Z",
"scope": "app_token",
"targetAccounts": [
"782xxxxxxxxxxxxxxxxxxxxx0ecca5"
],
"validFrom": "2022-12-25T08:08:28.3266667Z",
"authorizationId": "5xxxxxxxxxxxxxxxxxxxxx50e",
"token": null
}

更新的 PAT 响应如下图所示:

enter image description here

关于azure - 将 Azure Devops PAT API 与服务主体结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74538023/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com