【发布时间】:2020-11-14 18:23:32
【问题描述】:
我有一个包含以下内容的管道:
resources:
repositories:
- repository: repo
type: git
name: TEST-staging
steps:
- checkout: repo
当管道运行时,我收到以下警告:
This pipeline needs permission to access a resource before this run can continue
提示我授予访问权限:
我希望能够审核和修改哪些管道可以访问哪些存储库。 这些权限在哪里列出?
编辑: 当管道命名存储库时,系统会提示用户允许访问,例如- checkout: repo 然而,在使用 -checkout: self 时不会提示用户允许访问,即使它是同一个 repo。
编辑:Limit job authorization scope to current project for non-release pipelines 和 Limit job authorization scope to referenced Azure DevOps repositories 的组织设置目前一直处于禁用状态。
编辑:此常见问题解答问题类似于我的问题:Why am I am prompted to authorize resources the first time I try to check out a different repository?。该常见问题解答导致此文档:Troubleshooting authorization for a YAML pipeline。该文档包含:
当您第一次创建管道时,所有资源 在 YAML 文件中被引用 被自动授权使用 由管道提供,前提是您是用户角色的成员 对于那个资源。因此,YAML 文件中引用的资源 在管道创建时自动授权。当你 对 YAML 文件进行更改并添加其他资源......然后 构建失败并出现资源授权错误......在这种情况下, 您将看到授权失败构建资源的选项。 如果您是资源的用户角色的成员,您可以选择 这个选项。一旦资源被授权,你可以开始一个新的 构建。
编辑: This seems to be the work item for the change 导致我们被提示允许访问。
所以,我被引导得出以下结论:
- @Leo 正确回答了“这些权限在哪里列出?”这个问题。除非将 YAML
resource添加到现有管道中 - 当 YAML
resources被修改或编辑时,系统会提示用户授权该访问即使该访问已通过用户角色授权 - 我重新命名了这篇文章,希望它更清楚地提出问题,因为到目前为止似乎没有任何地方列出临时授权
【问题讨论】:
标签: azure-devops azure-pipelines azure-repos