错误:请求的资源需要用户身份验证:https://dev.azure.com/my_org/my_project/_apis/git/repositories

问题描述 投票:0回答:2

我正在使用正确的令牌登录 az cli:

echo my_pat | az devops login

但是在获取项目中的现有存储库时,我看到以下错误:

az repos list --org {ado_org_url} --project {ado_project} --query '[*].name'  

错误:请求的资源需要用户身份验证:https://dev.azure.com/my_org/my_project/\_apis/git/repositories

我在设置拍拍时是否缺少任何设置?我怎样才能摆脱这个错误?

azure-devops azure-cli azure-repos
2个回答
0
投票

如果您已经设置了 AZURE_DEVOPS_EXT_PAT 环境变量,则您不想使用 az devops 登录。如果您未设置 AZURE_DEVOPS_EXT_PAT 环境变量,请先设置它并执行 CLI 任务。

az devops
命令现在可以使用
az login
登录,如果您已经使用
az login
交互登录或使用用户名和密码登录,则无需提供令牌。但是,您无法使用
az login
以服务主体身份登录。在这种情况下需要 PAT。

如果您仍然需要使用 az devops login 登录,则需要 用户身份验证。为此,您必须使用服务原则登录

"user": { "name": "***", "type": "servicePrincipal" }
参考文献

  • 如何从 DevOps 管道安全登录 Az CLI
  • 修复错误:请求的资源需要用户身份验证
  • 用于 Azure DevOps CLI 的 MSDOC 使用 PAT 登录

0
投票
要解决运行 Azure CLI 命令时遇到的身份验证错误,请确保您的个人访问令牌 (PAT) 包含以下权限:

构建: 工件、定义、请求、对构建进行排队并更新构建属性 权限:阅读

代码: 源代码、存储库、拉取请求和通知 权限:阅读

管道资源: 管理管道运行对管道资源的访问 权限:使用

发布: 读取、更新和删除版本、发布管道和阶段 权限:阅读

确认您的 PAT 具有这些权限后,您就可以成功使用 Azure CLI 命令。确保根据需要重新生成 PAT 并更新 Azure DevOps CLI 配置以使用新令牌。

以下是如何重新生成 PAT 的示例:

转到您的 Azure DevOps 组织设置。 导航至个人访问令牌页面。 生成具有上面列出的所需权限的新令牌。 更新 Azure DevOps CLI 配置以使用新令牌。 更新 PAT 并配置 Azure DevOps CLI 后,您应该能够运行 az repos list 命令,而不会遇到身份验证错误。

© www.soinside.com 2019 - 2024. All rights reserved.