问题描述
我一直在努力使这个设置正常工作,我需要一些帮助。
如何隔离团队的看板和工作项,以便一个团队的成员无法查看和编辑其他团队的看板和工作项?
我的部门想使用一个 ADO 项目来开发多个系统。阅读思想 Msft 的文档,它甚至是 recommended to do so:
一般来说,我们建议您使用单个项目来支持您的 组织或企业。单个项目最大限度地减少维护 管理任务并支持最优化 / 完全灵活的交叉链接对象体验。
即使您有许多团队在处理数百种不同的 应用程序和软件项目,您可以最轻松地管理它们 在单个项目中。
解决方法
在项目设置中,项目配置/团队配置->区域->选择各自的区域(团队),点击三个点,选择安全。根据您的需要设置权限。
,您可以使用 Area path permissions 限制团队用户。请参考以下步骤:
- 创建 2 个团队:(项目设置 -> 团队 -> 新团队)
-
将团队成员添加到相应的团队。
-
Define area paths and assign to a team.(项目设置 -> 项目配置 -> 区域)
-
导航到特定团队,并为团队设置默认区域路径。
-
通过右键单击区域 -> 安全来设置区域的权限。例如,为团队 A 的区域设置权限:
-
搜索团队 B 并将以下权限设置为拒绝:
查看此节点的权限 - 拒绝
查看此节点中的工作项 - 拒绝
- 因此,团队 B 中的成员无法看到团队 A 的待办事项/董事会中的工作项。
Azure DevOps 中没有工作项的“团队所有权”概念。相反,每个工作项都属于一个区域路径。然后可以将区域路径添加到一个或多个团队(参见 Add area path to team)。属于团队区域路径的工作项是显示在团队面板上的内容。
为了实现您所描述的内容,您首先需要确保每个团队都有自己的区域路径,这些路径不与任何其他团队共享(Azure Devops 中对此没有限制)。一旦没有共享区域路径,您就可以set permissions on the area paths
区域路径权限可让您授予或限制编辑或 修改分配给这些区域的工作项、测试用例或测试计划。 您可以限制对用户或组的访问。你也可以设置 谁可以添加或修改区域或迭代的权限 项目。
我建议从根区域路径中删除所有权限,以便不会继承任何权限,并且仅将 View Workitems in this node
和 Edit workitems in this node
分配给拥有该区域路径的团队。虽然技术上可以保留根区域权限并拒绝所有其他团队的上述权限,但这很快就会成为管理开销和错误来源(例如,添加新团队将需要所有现有区域路径在这种情况下更新)
我仍然建议评估单个项目设置,即使它是 Microsot 的推荐。您甚至不允许在工作项之间进行读取访问的严格边界使单个项目设置的许多优势失效,除非您正在设置一些hierarchial team structure,其中管理团队可以访问多个区域路径,从而可以查看聚合板或进行跨团队搜索。
当有多个团队在同一项目中以孤岛方式工作时,另一件需要考虑的事情是标签的工作方式。标签是项目范围的,因此由团队 A 创建的标签将显示在团队 B 的标签列表中(在自动完成字段等中),这可能会造成混淆。