首页 > 解决方案 > 修改后的 Azure DevOps YAML 管道访问资源的授权在哪里列出?

问题描述

我有一个包含以下内容的管道:

resources:         
  repositories:
  - repository: repo
    type: git
    name: TEST-staging

steps: 
- checkout: repo

当管道运行时,我收到此警告:

此管道需要访问资源的权限才能继续运行

这提示我授予访问权限:

在此处授予权限将允许将存储库“TEST-staging”用于此管道的所有等待和未来运行。

我希望能够审核和修改哪些管道可以访问哪些存储库。这些权限在哪里列出?

编辑:当管道命名存储库时,系统会提示用户允许访问,例如,即使是相同的存储库- checkout: repo,也不会提示用户在使用时允许访问。-checkout: self

编辑:和的组织设置当前Limit job authorization scope to current project for non-release pipelines并且Limit job authorization scope to referenced Azure DevOps repositories一直被禁用。

编辑:此常见问题解答问题类似于我的问题:为什么在我第一次尝试签出不同的存储库时提示我授权资源?. 该常见问题解答导致此文档:YAML 管道的故障排除授权。该文档包含:

首次创建管道时,YAML 文件中引用的所有资源都会自动授权给管道使用,前提是您是 该资源的用户角色的成员。因此,在管道创建时在 YAML 文件中引用的资源会被自动授权。当您对 YAML 文件进行更改并添加其他资源时......然后构建失败并出现资源授权错误......在这种情况下,您将看到一个选项来授权失败的构建上的资源。如果您是资源的用户角色的成员,则可以选择此选项。一旦资源被授权,您就可以开始一个新的构建。

编辑: 这似乎是导致我们被提示允许访问的更改的工作项。

因此,我正在得出以下结论:

  1. @Leo 对“这些权限在哪里列出?”这个问题有正确的答案。除非将 YAMLresource添加到现有管道中
  2. 修改或编辑YAMLresources时,系统会提示用户授权该访问,即使该访问已通过用户的角色授权
  3. 我重新命名了这篇文章,希望它更清楚地提出这个问题,因为到目前为止似乎没有任何地方列出临时授权

标签: azure-devopsazure-pipelinesazure-repos

解决方案


我希望能够审核和修改哪些管道可以访问哪些存储库。这些权限在哪里列出?

根据文档管道权限和安全角色,我们可以知道:

对于权限,您可以通过将权限状态设置为“允许”或“拒绝”来授予或限制安全组或单个用户的权限。对于角色,您将用户或组添加到该角色。

因此,管道的权限与执行管道的用户相关联。

为了能够审计和修改哪些管道可以访问哪些存储库,我们可以使用更高权限的帐户来授予当前用户访问存储库的权限TEST-staging

Organization Settings-> Users->选择当前用户->三个点-> Manager User

在此处输入图像描述

在此处输入图像描述

如果当前用户有直接访问repo的权限,那么当这个用户执行pipeline时,pipeline就拥有repo资源的访问权限。


推荐阅读