【发布时间】:2021-05-20 07:48:24
【问题描述】:
我是 Azure DevOps 组织的管理员,拥有以下项目:
- 内源
- 富
- 酒吧
我希望 Foo 和 Bar 的 YAML 管道能够读取 InnerSource 中的私有 Git 存储库。我通过为我的组织和各个项目禁用“将工作授权范围限制为当前项目”选项来工作。据我了解,这让管道在 Project Collection Build Service ({OrgName}) 身份而不是 {ProjectName} Build Service ({OrgName}) 身份下运行。
现在我想阻止Foo 中的管道访问Bar,反之亦然。 Understand job access tokens - Azure Pipelines | Microsoft Docs
上的信息框显示为不可能。但是,还有关于“管理构建服务帐户权限”的部分,内容不同。
还有Default permissions and access quick reference - Azure DevOps | Microsoft Docs 状态:
默认情况下,项目集合构建服务可以读取所有存储库。在项目集合范围内运行的任何管道都可能读取组织或集合中的任何存储库。要删除存储库的此权限,请将项目集合构建服务的读取权限更改为拒绝。
但是,我在任何安全设置对话框中都找不到Project Collection Build Service ({OrgName}) 用户。也搜索它不会给我任何结果。
我试图限制[{OrgName}]\Project Collection Build Service Accounts 的权限,但这似乎没有任何效果。仍然可以从不同项目的管道中读取存储库。
这是项目Foo 的存储库安全配置的屏幕截图。不过,在 Project Collection Build Service 下运行的其他项目的管道仍然可以访问存储库:
任何线索我在这里做错了什么?这可能吗?
【问题讨论】:
-
总结我的问题/用例:我希望来自项目
foo和bar的管道访问InnerSource,同时阻止foo访问@ 987654340@ 或反之亦然。到目前为止,我只想出了两个极端的配置:限制对当前项目的访问或开放对组织内所有资源的访问...
标签: azure-devops azure-devops-pipelines