Azure devops 在Azure DevOps中限制对项目集合生成服务({OrgName})的访问

Azure devops 在Azure DevOps中限制对项目集合生成服务({OrgName})的访问,azure-devops,azure-devops-pipelines,Azure Devops,Azure Devops Pipelines,我是Azure DevOps组织的管理员,拥有以下项目: 内源 福 酒吧 我希望Foo和Bar的YAML管道能够读取InnerSource中的私有Git存储库。我通过禁用我的组织和相应项目的“将工作授权范围限制到当前项目”选项来实现这一点。据我所知,这允许管道在项目集合生成服务({OrgName})标识下运行,而不是在{ProjectName}生成服务({OrgName})标识下运行 现在我想阻止Foo中的管道访问Bar,反之亦然。上的信息框显示为这样是不可能的。但是,也有关于“管理生成服务

我是Azure DevOps组织的管理员,拥有以下项目:

  • 内源
  • 酒吧
我希望
Foo
Bar
的YAML管道能够读取
InnerSource
中的私有Git存储库。我通过禁用我的组织和相应项目的“将工作授权范围限制到当前项目”选项来实现这一点。据我所知,这允许管道在
项目集合生成服务({OrgName})
标识下运行,而不是在
{ProjectName}生成服务({OrgName})
标识下运行

现在我想阻止
Foo
中的管道访问
Bar
,反之亦然。上的信息框显示为这样是不可能的。但是,也有关于“管理生成服务帐户权限”的部分,内容不同

还指出:

默认情况下,项目集合生成服务可以从所有存储库中读取。在项目集合范围内运行的任何管道都可能读取组织或集合中的任何存储库。若要删除存储库的此权限,请将Project Collection生成服务的读取权限更改为Deny

但是,我在任何安全设置对话框中都找不到
项目集合生成服务({OrgName})
用户。搜索它也不会给我任何结果。 我试图限制
[{OrgName}]\Project Collection Build Service Accounts
的权限,但这似乎没有任何效果。仍然可以从不同项目的管道中读取存储库

下面是Project
Foo
的存储库安全配置的屏幕截图。在
项目集合生成服务下运行的其他项目的管道仍然可以访问存储库,不过:


有线索知道我做错了什么吗?这可能吗?

如果您只想对回购进行只读访问,您应该添加对
项目集合生成服务的
读取访问权限。目前您有
拒绝

请在项目级别尝试此设置:


看起来
[{OrgName}]\Project Collection Build Service Accounts
是错误的作用域。实际上,有一个名为
项目集合生成服务({OrgName})
用户
,可以将其添加到安全设置中

对我来说,最棘手的部分是:我没有在门户网站上获得任何自动完成帮助。在它出现在列表中之前,我几乎必须输入全名

但是,看起来我的用例无法实现。 存储库的
读取
权限是一个系统权限,不能被覆盖


总结我的问题/用例:我希望来自项目
foo
bar
的管道访问
InnerSource
,同时防止
foo
访问
bar
,反之亦然。到目前为止,我只知道如何配置两个极端:限制对当前项目的访问或开放对组织内所有资源的访问……这就是我想要的。截图来自“Foo”项目。我不希望项目集合生成服务访问“Foo”存储库。但尽管有“拒绝”选项,它仍然是可能的。目前您选择了AllRepositories。在回购层面,你也可以这样做。请只选择回购,您将获得相同的设置,但对于单一回购。这就是您想要的吗?在回购级别,权限是继承的。所以它也被设置为“拒绝”@Schwarzzz,我不确定是否有帮助。但是可以检查我的编辑并试一试吗?