我有一个包含以下内容的管道:
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
时允许访问。
编辑: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?。该FAQ导致产生此文档:Troubleshooting authorization for a YAML pipeline。该文档包含:
首次创建管道时,所有 在YAML文件中被引用会被自动授权使用 (如果您是用户角色的成员) 该资源。因此,YAML文件中引用的资源 在管道创建时会自动获得授权。当你 对YAML文件进行更改并添加其他资源...然后 构建因资源授权错误而失败...在这种情况下, 您将看到在失败的构建中授权资源的选项。 如果您是该资源的“用户”角色的成员,则可以选择 此选项。资源获得授权后,您可以开始一个新的 构建。
编辑: This seems to be the work item for the change,提示我们允许访问。
因此,我得出了以下结论:
resource
添加到现有管道中resources
时,即使已经通过用户角色授权了该访问,也会提示用户授权该访问 答案 0 :(得分:0)
我希望能够审核和修改哪些管道可以访问哪个存储库。这些权限在哪里列出?
根据文档Pipeline permissions and security roles,我们可以知道:
对于权限,您可以通过设置权限来授予或限制权限 安全组或安全性的权限状态为“允许”或“拒绝” 个人用户。对于角色,可以将用户或组添加到该角色。
因此,管道的许可与执行管道的用户相关联。
为了能够审核和修改哪些管道可以访问哪个存储库,我们可以使用权限更高的帐户授予当前用户访问TEST-staging
存储库的权限:
Organization Settings
-> Users
->选择当前用户->三个点-> Manager User
:
如果当前用户有权直接访问该存储库,那么当该用户执行管道时,该管道将具有访问资源存储库的权限。