gpt4 book ai didi

permissions - Azure DevOps 使项目只读

转载 作者:行者123 更新时间:2023-12-04 11:25:00 26 4
gpt4 key购买 nike

我们有一些旧的 ADO/VSTS 项目,我们希望将它们存档并设为只读。每个项目都有工作项、构建、git repos 等...

目前我发现的唯一方法是痛苦的。

  • 删除除只读组之外的所有组并在其中添加用户。 这太痛苦和漫长了,我们有 300 多个项目要设为只读
  • 创建一个新组,然后添加其他组(例如项目管理员、贡献者等),然后将此组添加到顶级区域/git repo 路径并将所有设置为 DENY。 *

  • I tried this with git repos and There is some issues with this as some permissions are not inherited down to individual users who created the git repo and they are still able to checkin.



    在这里您可以看到我创建了一个 READONLY 组并将除读取权限之外的所有内容设置为拒绝。 (这个组的成员是默认组,例如contributors、build admins、proj admins)

    enter image description here

    但是,在我创建只读组之前,我有一个由测试用户创建的存储库,并且该用户似乎仍然对该存储库具有权限

    enter image description here

    好吧好吧我知道如果权限设置在较低级别,那么它们将不会从顶级父级继承下来。我可以创建一个脚本来检查每个 git repo 的用户并将他们的 checkin 权限设置为拒绝,但这很痛苦,我不想这样做。同样,一些项目有超过 300 个 git 存储库。

    仅供引用,我想让整个项目只读,而不仅仅是 git repos。

    最佳答案

    是的,您已经发现了 Azure DevOps 权限模型的一项令人讨厌的功能。更具体的 ACL 胜过不太具体的 ACL。即使对于 DENY 规则。

    当在更具体的 ACL 上存在显式 ALLOW 规则时,它将覆盖在不太具体的 ACL 上的 DENY。

    git 的特殊性基于:

  • 服务器(仅限 TFS)
  • 组织/项目征集
  • 项目
  • 默认 repo 设置
  • 具体 repo 设置
  • 分支文件夹设置(只能通过 API 设置)
  • 特定分支设置

  • 其他安全 Assets 也存在类似的层次结构。

    除了编写 ActionScript 之外,没有简单的方法可以去除所有这些。

    Azure CLI有一个 devops extension这将允许您编写您想要的脚本并可以输出 JSON 以使其更易于编写脚本。

    您可以使用 az devops security permission list列出为身份(组或用户)定义的所有权限和 az devops security permission resetaz devops security permission update取消设置或覆盖给定的权限。

    其他可能需要的电话:
  • az devops security group list
  • az devops user list
  • az devops security group membership *
  • 关于permissions - Azure DevOps 使项目只读,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59786715/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com