按团队限制 Azure DevOps Boards 权限
Restrict Azure DevOps Boards permissions by Team
我一直在尝试使此设置正常工作,但我需要一些帮助。
如何隔离团队的看板和工作项,以便一个团队的成员无法查看和编辑其他团队的看板和工作项?
我的部门想要使用单个 ADO 项目来开发多个系统。阅读思想 Msft 的文档,它甚至是 recommended to do so:
In general, we recommend that you use a single project to support your
organization or enterprise. A single project minimizes the maintenance
of administrative tasks and supports the most optimized /
full-flexibility cross-link object experience.
Even if you have many teams working on hundreds of different
applications and software projects, you can most easily manage them
within a single project.
在项目设置中,Project Configuration/Team configuration -> Areas -> Select各自的区域(Team),点击三个点和select Security。根据需要设置权限。
enter image description here
您可以使用 Area path permissions 限制团队用户。请参考以下步骤:
- 创建 2 个团队:(项目设置 -> 团队 -> 新团队)
添加团队成员到对应的Team
Define area paths and assign to a team.(项目设置 -> 项目配置 -> 区域)
导航到特定团队,并为团队设置默认区域路径。
通过右键单击区域 -> 安全设置区域权限。例如,为团队 A 的区域设置权限:
搜索团队 B 并将以下权限设置为拒绝:
查看此节点的权限 - 拒绝
查看此节点中的工作项 - 拒绝
- 因此 B 组成员无法看到 A 组 Backlog/Board 中的工作项。
Azure DevOps 中没有工作项的“团队所有权”概念。相反,每个工作项都属于一个区域路径。然后可以将区域路径添加到一个或多个团队(参见 Add area path to team)。属于团队区域路径的工作项显示在团队面板上。
为了实现您所描述的,您需要首先确保每个团队都有自己的区域路径,不与任何其他团队共享(在 Azure Devops 中对此没有限制)。一旦没有共享区域路径,您可以 set permissions on the area paths
Area path permissions let you grant or restrict access to edit or
modify work items, test cases, or test plans assigned to those areas.
You can restrict access to users or groups. You can also set
permissions for who can add or modify areas or iterations for the
project.
我建议从根区域路径中删除所有权限,这样就不会继承任何权限,并且只将 View Workitems in this node
和 Edit workitems in this node
分配给拥有该区域路径的团队。虽然在技术上可以保留根区域权限并拒绝所有其他团队的上述权限,但这很快就会成为管理开销和错误来源(例如,添加一个新团队需要所有现有区域路径都是在这种情况下更新)
我仍然建议评估单个项目设置,即使它是来自 Microsot 的推荐。您甚至不允许工作项之间的读取访问的严格边界使单个项目设置的许多优势无效,除非您设置一些 hierarchial team structure 管理团队可以访问多个区域路径并因此可以查看聚合板或进行跨团队搜索。
当多个团队在同一个项目中基本上各自为政时,另一件需要考虑的事情是标签的工作方式。标签是项目范围的,因此由团队 A 创建的标签也会显示在团队 B 的标签列表中(在自动完成字段等中),这可能会造成混淆。
我一直在尝试使此设置正常工作,但我需要一些帮助。
如何隔离团队的看板和工作项,以便一个团队的成员无法查看和编辑其他团队的看板和工作项?
我的部门想要使用单个 ADO 项目来开发多个系统。阅读思想 Msft 的文档,它甚至是 recommended to do so:
In general, we recommend that you use a single project to support your organization or enterprise. A single project minimizes the maintenance of administrative tasks and supports the most optimized / full-flexibility cross-link object experience.
Even if you have many teams working on hundreds of different applications and software projects, you can most easily manage them within a single project.
在项目设置中,Project Configuration/Team configuration -> Areas -> Select各自的区域(Team),点击三个点和select Security。根据需要设置权限。
enter image description here
您可以使用 Area path permissions 限制团队用户。请参考以下步骤:
- 创建 2 个团队:(项目设置 -> 团队 -> 新团队)
添加团队成员到对应的Team
Define area paths and assign to a team.(项目设置 -> 项目配置 -> 区域)
导航到特定团队,并为团队设置默认区域路径。
通过右键单击区域 -> 安全设置区域权限。例如,为团队 A 的区域设置权限:
搜索团队 B 并将以下权限设置为拒绝:
查看此节点的权限 - 拒绝
查看此节点中的工作项 - 拒绝
- 因此 B 组成员无法看到 A 组 Backlog/Board 中的工作项。
Azure DevOps 中没有工作项的“团队所有权”概念。相反,每个工作项都属于一个区域路径。然后可以将区域路径添加到一个或多个团队(参见 Add area path to team)。属于团队区域路径的工作项显示在团队面板上。
为了实现您所描述的,您需要首先确保每个团队都有自己的区域路径,不与任何其他团队共享(在 Azure Devops 中对此没有限制)。一旦没有共享区域路径,您可以 set permissions on the area paths
Area path permissions let you grant or restrict access to edit or modify work items, test cases, or test plans assigned to those areas. You can restrict access to users or groups. You can also set permissions for who can add or modify areas or iterations for the project.
我建议从根区域路径中删除所有权限,这样就不会继承任何权限,并且只将 View Workitems in this node
和 Edit workitems in this node
分配给拥有该区域路径的团队。虽然在技术上可以保留根区域权限并拒绝所有其他团队的上述权限,但这很快就会成为管理开销和错误来源(例如,添加一个新团队需要所有现有区域路径都是在这种情况下更新)
我仍然建议评估单个项目设置,即使它是来自 Microsot 的推荐。您甚至不允许工作项之间的读取访问的严格边界使单个项目设置的许多优势无效,除非您设置一些 hierarchial team structure 管理团队可以访问多个区域路径并因此可以查看聚合板或进行跨团队搜索。
当多个团队在同一个项目中基本上各自为政时,另一件需要考虑的事情是标签的工作方式。标签是项目范围的,因此由团队 A 创建的标签也会显示在团队 B 的标签列表中(在自动完成字段等中),这可能会造成混淆。