azure-devops - 修改后的 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 文件进行更改并添加其他资源时......然后构建失败并出现资源授权错误......在这种情况下,您将看到一个选项来授权失败的构建上的资源。如果您是资源的用户角色的成员,则可以选择此选项。一旦资源被授权,您就可以开始一个新的构建。
编辑: 这似乎是导致我们被提示允许访问的更改的工作项。
因此,我正在得出以下结论:
- @Leo 对“这些权限在哪里列出?”这个问题有正确的答案。除非将 YAML
resource
添加到现有管道中 - 修改或编辑YAML
resources
时,系统会提示用户授权该访问,即使该访问已通过用户的角色授权 - 我重新命名了这篇文章,希望它更清楚地提出这个问题,因为到目前为止似乎没有任何地方列出临时授权
解决方案
我希望能够审核和修改哪些管道可以访问哪些存储库。这些权限在哪里列出?
根据文档管道权限和安全角色,我们可以知道:
对于权限,您可以通过将权限状态设置为“允许”或“拒绝”来授予或限制安全组或单个用户的权限。对于角色,您将用户或组添加到该角色。
因此,管道的权限与执行管道的用户相关联。
为了能够审计和修改哪些管道可以访问哪些存储库,我们可以使用更高权限的帐户来授予当前用户访问存储库的权限TEST-staging
:
Organization Settings
-> Users
->选择当前用户->三个点-> Manager User
:
如果当前用户有直接访问repo的权限,那么当这个用户执行pipeline时,pipeline就拥有repo资源的访问权限。
推荐阅读
- lua - 单击vgui按钮时如何调用函数
- javascript - 带有未定义脚本的 MongoDB 值
- avaloniaui - AvaloniaUI:已在 AppBuilder 实例之一上调用了安装程序
- facebook - 如何为服务器到服务器应用成功提交 Facebook 应用评论?
- mongoose - 无法在 NestJS 应用程序中启动并运行猫鼬虚拟填充
- javascript - 一键自动拖放
- javascript - 如何在 Firebase 更新中获取正确的文件路径
- javascript - 用户单击 Chrome 扩展中的页面链接后如何检测 URL 是否更改?
- python - 修改后OpenCv不会保存图像
- javascript - RxDb - 从具有特定索引的数组中删除对象