首页 > 解决方案 > 无法从存储库中删除 azure 组

问题描述

我在从存储库权限列表组中删除组时遇到问题。我可以用下一个示例来解释我的情况:

1. 我创建了两个组:A 组和 B 组:

在此处输入图像描述 2. 创建了一个新的 repo,然后我将其中一个组添加到 Repos 根目录,并将所有权限分配给该组。

在此处输入图像描述

3. 然后,检查新的 repo(“Test”),列表中也有组,如果你打开了继承,这是正常的行为。

在此处输入图像描述

现在,当我尝试从子存储库(“测试”)中删除组时,就会出现问题。Azure 显示下一个错误:“团队 A 已继承权限,无法从列表中删除。”。即使我尝试在禁用继承的情况下删除,但没有成功。

在此处输入图像描述

有人可以解释一下为什么会这样吗?或者我可以做些什么来从子存储库中删除该组。

标签: azure-devopsazure-security

解决方案


这应该是设计好的预期动作。

在步骤 2 中,您将组添加到顶级存储库中。这是将对所有存储库进行更改的操作。当子仓库启用继承时,子个人仓库将自动继承顶层的权限。

文档中提到了这一点:

通过更改顶级 Git 存储库条目来设置所有 Git 存储库的权限。

各个存储库从顶级 Git 存储库条目继承权限。分支从存储库级别的分配继承权限。

要获得更详细的信息,请将Team A,添加Team B到顶级存储库中,然后将其设置Inheritancetrue子存储库。

此时,当您尝试从一个子存储库中删除时,系统将拒绝您的请求并显示消息({group} 已继承权限,无法从列表中删除) 。Team A因为这Team A同时还保留了其他子仓库中的权限占用。

或者我可以做些什么来从子存储库中删除该组。

恐怕这无法实现,因为这是安全模型的限制。每个权限组都有其对应的安全模型。在此Version Control Administration面板中,该模型的规则不允许添加到顶级存储库并由子级继承的用户或组,可以从子级中删除。

在这种情况下,您已将它们从顶层移除。

因此,我建议您需要小心地将用户/组添加到顶级存储库中,而这些组/用户需要全局权限。在大多数情况下,为单个回购添加会更好。当然,这是基于组/用户的实际需求。


推荐阅读