git Azure DevOps -如何在Repo上正确设置安全性

ddrv8njm  于 2023-08-01  发布在  Git
关注(0)|答案(1)|浏览(121)

我在Azure DevOps中有一个存储库,我想阻止贡献者组的成员能够贡献。我知道分支策略,但我不想在这个特定的仓库上使用它们,我只是想阻止这些用户对这个仓库做任何事情,除了阅读它。因此,我尝试拒绝贡献者组对该repo的这些权利,如下所示:


的数据
然而,当我做这个改变时,其他组的成员也无法对Repo做出贡献,这不是我想要的。例如,我是Project Administrators组的成员,但在进行此更改后,我无法再修改此存储库中的文件。
是否有一种方法可以阻止Contributors组的成员能够对此Repo进行贡献,但仍然允许其他组的成员(如项目管理员)或特定用户(如项目集合构建服务)仍然能够对Repo进行贡献?

yqlxgs2m

yqlxgs2m1#

这是因为至少有一个是真的:

  1. Contributors组还包含一些其他组。
    1.其他组中的一些用户也在贡献者组中。
    同时,如果任何用户对同一权限有AllowDenyDeny将优先。
    首先要尝试的是将Contributors的所有Deny更改为Not set。(所有这些设置都在你的屏幕截图中。)“未设置”权限意味着除非你以其他方式获得权限,否则你将被拒绝该权限。这应该可以解决这个问题,除非其他组中的人拥有贡献权限的唯一原因是由于贡献者之前在那里有Allow,或者如果您看到“Allow(inherited)”。在后一种情况下,接下来要尝试的是仅关闭此repo的继承,然后Not set权限应该不再提供对任何内容的访问。如果你这样做,你可能会想在仓库中遍历所有权限,以确认它们仍然是你想要的。
    如果这两个都不适合你,那么你可以用上面创建的权限创建一个新的组,然后把所有的人都放在那个组里,这些人应该是只读的。那么Deny将仅适用于它们。但是当新用户添加到您的系统时,这并不能很好地扩展,所以我更喜欢使用继承和Not set规则来解决这个问题。

相关问题