TFS2017配置:如何限制成员查看非所属区域的工作项?
TFS 多区域权限配置方案(适配开发团队+外部客户场景)
我帮你梳理一套亲测可行的配置方案,完美匹配你说的「开发看全量、客户仅看自己区域」需求,跟着步骤来就行:
一、先搭好清晰的区域层级结构
参考微软的示例,咱们先把区域结构捋清楚,比如:
Fabrikam ├─ 通用开发任务区 │ ├─ 框架优化 │ └─ 基础组件维护 ├─ 客户A项目区 │ ├─ A项目需求 │ └─ A项目缺陷 ├─ 客户B项目区 │ ├─ B项目需求 │ └─ B项目缺陷
层级分明的结构是权限配置的基础,后续加新客户也能直接套这个模板。
二、创建对应的用户组与团队
别直接给单个用户配权限,用组管理才省心:
- 打开项目的「设置-安全」,先建两个全局组:
Fabrikam 开发团队组:把所有内部开发、测试、PM等需要看全量工作项的人加进来Fabrikam 外部客户组:作为父组,下面再建客户A干系人组、客户B干系人组,分别对应不同客户的人员
- 给每个客户区域单独建团队(比如
客户A项目团队),把团队的默认区域设为对应客户的区域,后续权限配置更顺畅。
三、核心:区域级权限控制
这部分是关键,分三步走:
1. 给开发团队开全局权限
打开项目的「工作项-区域路径」,右键根节点Fabrikam选「安全」:
- 给
Fabrikam 开发团队组分配这些权限:- 查看工作项:允许
- 查看节点:允许
- 编辑工作项:按需开启(比如开发需要改工作项就开)
- 保持权限继承开启,这样开发团队能自动看到所有子区域的内容。
2. 给外部客户锁死全局权限,再开专属区域权限
第一步:先封死全局访问
还是在根节点Fabrikam的安全设置里:
- 给
Fabrikam 外部客户组设置:- 查看工作项:拒绝
- 查看节点:拒绝
这样默认情况下,外部客户看不到任何区域的内容,从根源避免跨区域访问。
第二步:给单个客户开对应区域权限
找到客户A项目区节点,右键选「安全」:
- 给
客户A干系人组分配:- 查看工作项:允许
- 查看节点:允许
- 编辑工作项:按需设置(比如允许客户提缺陷就开,否则设拒绝)
- 用同样的操作给
客户B干系人组开放客户B项目区的权限。
3. 彻底隐藏通用开发任务区
找到通用开发任务区的安全设置:
- 确保
Fabrikam 外部客户组的查看工作项和查看节点都是拒绝,让外部客户完全看不到这块内容 - 给
Fabrikam 开发团队组保留允许权限,不影响内部工作。
四、验证权限效果
配置完一定要测试,避免踩坑:
- 用开发团队账号登录,检查是否能看到所有区域的工作项(通用区、客户A/B区都要覆盖)
- 用客户A的账号登录,确认只能看到
客户A项目区的内容,看不到通用区和客户B区 - 如果遇到权限继承问题,在对应节点的安全设置里勾选「覆盖继承的权限」,强制生效。
小提醒
- 尽量用组管理权限,后续人员变动只需要调整组成员,不用重复改权限
- 新客户加入时,直接复制「客户A」的配置流程,高效又不易错
- 定期复盘权限,避免出现权限溢出的情况
内容的提问来源于stack exchange,提问作者Trish.McDonough
相关产品推荐
相关产品推荐

