jam*_*mes 7 permissions ado readonly azure-devops
我们有一些旧的 ADO/VSTS 项目,我们希望将它们存档并设为只读。每个项目都有工作项、构建、git repos 等...
目前我发现的唯一方法是痛苦的。
我用 git repos 尝试了这个,但存在一些问题,因为某些权限不会继承给创建 git repo 的个人用户,他们仍然能够签入。
在这里您可以看到我创建了一个 READONLY 组并将除读取权限之外的所有内容设置为拒绝。(该组的成员是默认组,例如贡献者、构建管理员、项目管理员)
但是,在我创建只读组之前,我有一个由测试用户创建的存储库,并且该用户似乎仍然对该存储库具有权限
好吧好吧我知道如果权限设置在较低级别,那么它们将不会从顶级父级继承下来。我可以创建一个脚本来检查每个 git repo 的用户并将他们的签入权限设置为拒绝,但这很痛苦,我不想这样做。同样,一些项目有超过 300 个 git 存储库。
仅供参考,我想让整个项目只读,而不仅仅是 git repos。
是的,您已经发现了 Azure DevOps 权限模型的令人讨厌的功能之一。更具体的 ACL 胜过不太具体的 ACL。即使对于 DENY 规则也是如此。
当更具体的 ACL 上存在显式 ALLOW 规则时,它将覆盖不太具体的 ACL 上的 DENY。
git 的特殊性基于:
其他证券也存在类似的层次结构。
除了编写动作脚本之外,没有简单的方法可以将这些全部剥离。
Azure CLI有一个devops 扩展,它允许您编写所需的脚本,并可以输出 JSON 以便更轻松地编写脚本。
您可以用来az devops security permission list列出为身份(组或用户)定义的所有权限,az devops security permission reset或者az devops security permission update取消设置或覆盖给定的权限。
其他可能需要的电话:
Azure DevOps 现在有一个名为“禁用存储库”的功能。
禁用对存储库的访问(包括构建、拉取请求等),但保持存储库可发现并带有警告。
这意味着您的存储库将不允许提交,甚至构建和管道也无法使用它。只需转到您的 DevOps“项目设置”即可。向下滚动到“存储库”菜单,然后选择您要禁用的存储库。
| 归档时间: |
|
| 查看次数: |
2737 次 |
| 最近记录: |