最近一段时间负责管理公司技术人员的TFS的权限分配,在此之前,我对tfs一点都不了解,没用过,也没听朋友用过,只在进公司时指导我的组长帮我把这个工具装上,告知要在上面报bug,即bug管理在上面,之后的很长一段时间就只知道tfs可以管理bug,可以管理文档,可以管理源代码,这点是从我负责测试的那个项目下的文件夹中看到的,至于怎么来管理,其中有多复杂,没有太多的了解。

指导两个月前,接手tfs权限管理工作以来,才知道里面有多复杂,经理只告诉我怎么分配项目成员的项目权限,其他的都不知道,起初还以为这样就万事大吉了,呵呵,原来那些只是皮毛,里面的权限还十分的复杂,这是在我两个月来的管理中琢磨出来的,凭现在对tfs权限管理的了解,基本可以应对公司员工的tfs权限的分配。

说tfs权限的复杂,其实也不是很复杂,它只是把各部分的权限分开控制,但各部分的权限又可以相互继承,分的多了,操作起来就容易出现问题,关联的多了,更容易出现问题,继而形成了它的复杂度。

下面来分享一下我的使用心得,我还是刚入手,了解的一点点,拿来汇总一下,以便今后的工作和学习,有帮助的可以看看。

tfs的权限分不同的级别,不同级别的权限其安全性不同,这点帮助文档中部分信息十分完备:

权限决定了是否授权用户进行工作区管理和项目创建等操作。当在 Team Foundation Server 中创建项目时,无论选择哪种过程模板,都会为该项目创建四个默认组。默认情况下,为这些组各自定义了一组权限,这些权限决定了组成员可以执行的操作。

  • Project Administrator
  • Contributor
  • Reader
  • Build Services

要管理默认组并创建自定义组,管理员必须了解权限的含义以及显式设置权限引起的安全问题。

注意:

本主题不讨论 Windows SharePoint Services 或 SQL Reporting Services 的权限。本主题只讨论在 Team Foundation Server 中设置的权限。

权限设置

Team Foundation Server 中的权限有两种显式授权设置:“拒绝”和“允许”。还有一种隐式授权,它既不将权限设置为“允许”,也不将其设置为“拒绝”。此授权是一种隐式“拒绝”设置,又称为“未设置”。

拒绝

“拒绝”不允许授权用户或组执行权限说明中提到的操作。“拒绝”是 Team Foundation Server 中最强大的权限设置。如果用户所属的 Team Foundation Server 组将特定权限设置为“拒绝”,那么即使用户所属的另一个组将该权限设置为“允许”,该用户仍无法执行该功能。此规则的唯一例外是用户属于项目的“Project Administrators”组的成员或者属于“Team Foundation Administrators”组的成员的情况。如果用户是项目的 Project Administrators 同样,如果用户是 Team Foundation“Administrators”组的成员,则该组的特权将覆盖该用户在 Team Foundation Server 中的显式“拒绝”。

允许

“允许”则允许授权用户或组执行权限说明中提到的操作。“允许”是 Team Foundation Server 中第二强大的权限设置。它也是设置最频繁的权限设置。如果不将权限显式设置为“允许”,用户或组将不能在 Team Foundation Server 中执行该操作。

未设置

默认情况下,Team Foundation Server 中的多数权限既没有设置为“拒绝”,也没有设置为“允许”。权限处于“未设置”状态,它隐式拒绝授权用户和组执行权限说明中指定的操作。但是,因为权限既没有显式设置为“拒绝”,也没有显式设置为“允许”,它可以从用户或组所属的其他组继承授权。

继承

当用户或组的权限为“未设置”时,因为 Team Foundation Server 中的权限是可继承的,所以用户或组可能受到其所属组权限的显式设置的影响。例如,如果一个用户属于某一项目中的两个自定义组,其中一个组将权限显式设置为“拒绝”,另一个组将同一权限保留为“未设置”,用户将无权执行该权限所控制的操作(用户从两个组中都继承了权限,“拒绝”优先于“未设置”权限)。

注意:

在 Team Foundation Server 以外(如 Windows SharePoint Services 中)设置的权限,不会在 Team Foundation Server 中继承。本主题中不对其进行讨论。

某些授权设置优先于其他授权设置。在 Team Foundation Server 中,“拒绝”权限优先于包括“允许”在内的所有其他权限设置。例如,用户可能属于一个项目中的两个组。对于其中一个组,“发布测试结果”权限设置为“拒绝”;而另一个组则将该权限设置为“允许”。“拒绝”设置优先级更高,用户无权发布测试结果。此规则的唯一例外是用户属于项目的“Project Administrators”组的成员或者属于“Team Foundation Administrators”组的成员的情况。如果用户是项目的 Project Administrators 同样,如果用户是“Team Foundation Administrators”组的成员,则该组的特权将覆盖该用户在 Team Foundation Server 中的显式“拒绝”。

通过 Team Foundation Server 用户界面和命令行设置权限

许多要为 Team Foundation Server 设置的权限是通过 Team Foundation Server 用户界面控制的。您可以根据服务器(服务器级别权限)或项目(项目级别权限)设置这些权限。您还可以根据项目为查看工作项以及与工作项交互设置区域级别权限。有关默认情况下为哪些用户设置哪些权限,以及为 MSF for Agile Software Development 或 MSF CMMI Process Improvement 组设置哪些权限的更多信息,请参见Team Foundation Server 默认组、权限和角色。有关如何为用户和组设置权限的更多信息,请参见管理用户和组和管理权限。有关管理工作项的更多信息,请参见管理 Team Foundation 工作项。

服务器级别权限

服务器级别权限不特定于单个项目,而是在服务器范围设置的。只能为三个类别的用户设置这些权限:

  • 服务器级的用户和组,如 Team Foundation Administrators
  • 已在 Team Foundation 服务器上添加至服务器级的项目级组
  • 您创建并添加至服务器级的自定义组

您可以通过在 Team Foundation Server 中右击团队资源管理器中的服务器,然后单击“安全”来设置这些权限。您可以使用TFSSecurity命令行实用工具来设置这些权限,带有tf:标识的命令行实用工具除外。对于带有tf:标识的权限,可使用源代码管理的tf命令行实用工具的Permission命令设置这些权限。有关更多信息,请参见TFSSecurity 命令行实用工具命令和Permission 命令。

权限名称

命令行中的名称

说明

管理搁置的更改

tf: AdminShelvesets

具有该权限的用户可以删除其他用户创建的搁置集。

管理仓库

ADMINISTER_WAREHOUSE

具有该权限的用户可以使用 WarehouseController.asmx Web 服务的 ChangeSetting Web 方法更改仓库设置。例如,您可以允许用户设置计算 OLAP 多维数据集的更新时间间隔。

管理工作区

tf: AdminWorkspaces

具有该权限的用户可以为其他用户创建工作区并删除其他用户创建的工作区。

创建工作区

tf: CreateWorkspace

具有该权限的用户可以创建源代码管理工作区。

创建新项目

CREATE_PROJECTS

具有此权限的用户可以在 Team Foundation Server 中创建新项目。为了成功创建新项目,这些用户必须是 Windows SharePoint Server 中“SharePoint Central Admins”组的成员,并且在 SQL Reporting Services 中具有“内容管理员”权限。

编辑服务器级的信息

GENERIC_WRITE

tf: AdminConfiguration

tf: AdminConnections

具有此权限的用户可以编辑 Team Foundation Server 上用户和组的服务器级别权限。他们可以从 Team Foundation Server 中添加或移除服务器级的 Team Foundation Server 应用程序组。当通过菜单设置时,“编辑服务器级别信息”权限还将隐式允许用户修改源代码管理权限。若要从命令行授予上述所有权限,必须使用tf.exe Permission命令授予AdminConfigurationAdminConnections权限,以及 GENERIC_WRITE。

注意:

无法删除 Team Foundation Administrators 等默认服务器组。

改变跟踪设置

DIAGNOSTIC_TRACE

具有此权限的用户可以更改跟踪设置,以收集有关 Team Foundation Server Web 服务的更详细的诊断信息。有关跟踪的更多信息,请参见Team Foundation Server 的跟踪设置。

触发事件

TRIGGER_EVENT

具有此权限的用户可以在 Team Foundation Server 中触发项目警报事件。该权限只应指派给服务帐户。

管理过程模板

MANAGE_TEMPLATE

具有此权限的用户可以从 Team Foundation Server 下载、向其上载、创建和编辑过程模板。

查看服务器级别信息

GENERIC_READ

具有该权限的用户可以查看服务器级别的组成员资格以及那些用户的权限。

查看系统同步信息

SYNCHRONIZE_READ

有此权限的用户可触发同步事件。该权限只应指派给服务帐户。

项目级别权限

项目级别权限特定于单个项目的用户和组。您可以通过在 Team Foundation Server 中右击团队资源管理器中的项目,单击“团队项目设置”再单击“安全”来设置这些权限。还可以使用“TFSSecurity”命令行实用工具来设置这些权限。

权限名称

命令行中的名称

说明

删除此项目

DELETE

具有此权限的用户可以从 Team Foundation Server 中删除他们有权删除的项目。

编辑项目级信息

GENERIC_WRITE

具有此权限的用户可以编辑 Team Foundation Server 上用户和组的项目级别权限。

发布测试结果

PUBLISH_TEST_RESULTS

具有该权限的用户可以添加或移除团队项目门户的测试结果,也可以添加或移除测试运行。

查看项目级信息

GENERIC_READ

具有该权限的用户可以查看项目级别的组成员资格以及那些项目用户的权限。

生成级别的权限

生成级别的权限特定于生成计算机的用户和组。您可以通过右击团队资源管理器中的项目,单击“团队项目设置”再单击“安全”来设置这些权限。另外,您还可以使用TFSSecurity命令行实用工具设置这些权限。

权限名称

命令行中的名称

说明

管理版本

ADMINISTER_BUILD

具有该权限的用户可以删除完成的生成并停止正在进行的生成。

编辑版本质量

EDIT_BUILD_STATUS

具有此权限的用户可以通过 Team Foundation Build 用户界面添加有关版本质量的信息。此信息存储在 Team Foundation Build 的数据库存储区中。

启动版本

START_BUILD

具有此权限的用户可以通过 Team Foundation Build 界面或从命令行启动版本。

写入版本操作存储区

UPDATE_BUILD

必须向用于运行生成服务的帐户授予此权限,才能更新 Team Foundation Build 的数据库存储区。此权限应只分配给服务帐户,而不应分配给单个用户。

工作项跟踪区域级别权限

区域级别权限特定于单个项目的用户和组。您可以通过右击团队资源管理器中的项目,单击“区域和迭代”,在“区域”选项卡上单击“安全”来设置这些权限。另外,您还可以使用TFSSecurity命令行实用工具设置这些权限。

注意:

某些工作项跟踪操作需要多种权限。例如,您需要多种权限来删除节点。

权限名称

命令行中的名称

说明

创建子节点并对子节点排序

CREATE_CHILDREN

有此权限的用户可以创建新的区域节点。同时具有此权限以及“编辑此节点”权限的用户可以移动任何子区域节点或对任何子区域节点重新排序。

删除此节点

DELETE

同时具有此权限以及对另一个节点的“编辑此节点”权限的用户可以删除区域节点并对所删节点中的现有工作项重新分类。删除的父节点下的任何子节点将同时删除。

编辑此节点

GENERIC_WRITE

具有该权限的用户可以重命名区域节点。

编辑此节点中的工作项

WORK_ITEM_WRITE

具有该权限的用户可以编辑此区域节点中的工作项。

查看此节点

GENERIC_READ

具有该权限的用户可以查看此节点的安全设置。

查看此节点中的工作项

WORK_ITEM_READ

具有该权限的用户可以查看,但不能编辑或更改此区域节点中的工作项。

工作项跟踪迭代级别权限

迭代级别权限特定于单个项目的用户和组。您可以通过右击团队资源管理器中的项目,单击“区域和迭代”,在“迭代”选项卡上单击“安全”来设置这些权限。另外,您还可以使用TFSSecurity命令行实用工具设置这些权限。

注意:

某些工作项跟踪操作需要多种权限。例如,您需要多种权限来删除节点。

权限名称

命令行中的名称

说明

创建子节点并对子节点排序

CREATE_CHILDREN

具有此权限的用户可以创建新的迭代节点。同时具有此权限以及“编辑此节点”权限的用户可以移动任何子迭代节点或对任何子迭代节点重新排序。

删除此节点

DELETE

同时具有此权限以及对另一个节点的“编辑此节点”权限的用户可以删除迭代节点并对所删节点中的现有工作项重新分类。删除的父节点下的任何子节点将同时删除。

编辑此节点

GENERIC_WRITE

具有此权限的用户可以重命名迭代节点。

查看此节点

GENERIC_READ

具有该权限的用户可以查看此节点的安全设置。

源代码管理权限

源代码管理权限特定于源代码文件和文件夹。您可以按以下方法设置这些权限:右击“源代码管理资源管理器”中的文件夹或文件,单击“属性”,在“安全”选项卡上选择要为其更改权限的用户或组,然后编辑“权限”中列出的权限。可以通过使用tf(源代码管理命令行实用工具)来设置这些权限。

权限名称

命令行中的名称

说明

读取

tf: Read

具有该权限的用户可以读取文件或文件夹的内容。如果用户对文件夹有“读”权限,则即使用户没有打开文件的权限,用户仍可以看到文件夹内容以及文件夹中的文件的属性。

签出

tf: PendChange

具有该权限的用户可以执行签出并对文件夹中的项执行挂起更改。挂起更改的示例包括添加、重命名、删除、撤消删除、分支和合并文件。

签入

tf: Checkin

具有该权限的用户可以签入项并修订任何提交的变更集注释。签入时将提交挂起的更改。

加标签

tf: Label

具有该权限的用户可以对项进行标签。

锁定

tf: Lock

具有该权限的用户可以锁定或取消锁定文件夹或文件。

修订其他用户的更改

tf: ReviseOther

即使其他用户签入了文件,具有该权限的用户仍可以编辑该签入文件上的注释。

取消锁定其他用户的更改

tf: UnlockOther

具有该权限的用户可以取消锁定其他用户锁定的文件。

撤消其他用户的更改

tf: UndoOther

具有该权限的用户可以撤消其他用户所做的挂起的更改。

管理标签

tf: LabelOther

具有该权限的用户可以编辑或删除其他用户创建的标签。

操作安全设置

tf: AdminProjRights

具有该权限的用户可以设置这些文件和文件夹的权限。

签入其他用户的更改

tf: CheckinOther

具有该权限的用户可以签入其他用户所做的更改。签入时将提交挂起的更改。

我遇到的80%的问题按上面的权限说明基本都解决了,认真摸索一下上面的那些权限,彻底了解了,tfs的权限大概就掌握的差不多了,本人也在摸索过程中。另外,提示一下,当在项目源代码中新建管理文件夹时,一定要注意“继承项目权限”项前面的勾要勾上,不然,会造成无人能添加该文件的管理成员的局面。这个问题难到了我们不少leader,呵呵,最后团队合作才发现了这个问题,大家一定要注意了,不然管理员也无能为力了。

TFS 使用心得--权限管理相关推荐

  1. 我的MYSQL学习心得(十三) 权限管理

    这一篇<我的MYSQL学习心得(十三)>将会讲解MYSQL的用户管理 在mysql数据库中,有mysql_install_db脚本初始化权限表,存储权限的表有: 1.user表 2.db表 ...

  2. linux文件权限管理实验心得,Linux+文件权限管理实验

    主机安全-- Linux文件权限管理实验 对于文件 /etc/passwd,该文件的属组(root)可读.不可写,不可执行 对于文件 /etc/shadow,该文件的属组(root)不可读.不可写,不 ...

  3. 一步一步Asp.Net MVC系列_权限管理总结(附MVC权限管理系统源码)

    TZHSWEET:请大家多多反馈问题,我已经在修改中了,已更新版本...... 如果大家遇到数据库附加问题,EF连接字符串问题,请自行配置,如果有bug反馈可以私聊,我的qq:409180955. 项 ...

  4. linuxoracle查看用户权限_权限管理系统设计过程

    今天和大家一起探讨权限管理方面的设计心得.权限管理,是B端后台系统一个重要的组成部分,属于底层的支撑功能,系统内所有的功能,甚至字段的增减都涉及到权限的分配和管理.因此怎样配置后台的权限系统,以适应多 ...

  5. 一些常用的场景进行描述分析(权限管理、6个典型场景)

    A: 软件不需要配置权限什么的,一个操作员进来了什么都可以做,用户管理也很简单,几乎没什么需要. 对策:       A.1 登录程序不用开发了.       A.2 修改密码不用开发了.       ...

  6. MYSQL数据库实验(用户与权限管理)

    实验: 数据库安全性实验 一.实验目的 创建表和用户管理 创建表单是数据库中最基本的操作,也是使用比较频繁的操作,因此必须掌握SQL的(CREATE语句)的使用方法.而对于用户的管理操作更是一名合格的 ...

  7. Linux云计算【第一阶段】第四章:权限管理

    第四章:权限管理 linux的文件管理权限分为读.写和执行 [root@localhost ~]# ls -l /bin/bash -rwxr-xr-x. 1 root root 960392 8月 ...

  8. VueRouter时配置动态路由和权限管理

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.pandas是什么? 二.使用步骤 1.引入库 2.读入数据 总结 前言 分享最近在学习VueRouter时配置动 ...

  9. 如何添加TFS团队成员权限

    [转]如何添加TFS团队成员权限 --http://hi.baidu.com/heiru/blog/item/9565f4033e5c2ff609fa93c0.html 首先要把现有开发人员添加到TF ...

最新文章

  1. python爬取公众号推荐_python爬搜狗微信获取指定微信公众号的文章
  2. uvc音频传输协议_蓝牙中的三种音频编码:Apt-X、SBC、AAC,请问分别有什么区别?...
  3. 利用IShellExecuteHook接口对程序监控
  4. mycat 编辑schema.xml
  5. 性能测试工具比较:LoadRunner vs JMeter - 测试结果数据比较
  6. 967c语言程序设计是什么,2018年湖南师范大学数学与计算机科学院967C语言程序设计和数据结构[专硕]之C程序设计考研核心题库...
  7. MyEclipse或者Eclipse的小图标含义详解
  8. 前端学习(3323):高级设计说闭包
  9. Wireshark工作笔记-TCP的状态解析,以及建立连接与关闭连接
  10. 我所理解的Remoting (2) :远程对象的生命周期管理[下篇]
  11. 【修复版】ONE兔3.0版本社交社区交友婚恋视频即时通讯双端APP原生源码
  12. Tensorflow搭建GAN网络
  13. 使用ffmpeg打开ts格式视频文件
  14. git、KDiff3、Git Extensions
  15. 网络1711-12信管1711-12 图 作业评分
  16. 如何在html中自动生成条形图,Highcharts 柱形图(柱状图及条形图)之通过HTML表格数据创建的柱状图演示...
  17. day1 -- ELMO语言模型
  18. 用matlab求 矩阵每一列的平方和 最小值及其下标
  19. 支付宝微信红包战背后的算盘
  20. 前端html页面中的命名规范

热门文章

  1. fullpage的基本使用方法
  2. CUDA程序在VS运行时出现错误:E0035 #error 指令: -- incorrect inclusion of a cudart header flie的解决方法
  3. 二极管反向恢复时间电脑程控测试系统(智能识别示波器曲线)
  4. 5G术语缩略及全称(持续更新中)
  5. 手机office使用 手机office不登录 手机office不联网 手机office查询功能 【手机word】【手机excel】
  6. C语言——输出杨辉三角的前n行
  7. 信息融跨共享,捷码综合交通运行监测系统共建智慧交通
  8. Latex修改编号、枚举与拆分文件
  9. 搞了三年,再看数据中台的价值与解决方案
  10. 【肝帝游戏】手把手教你python处理视频,越学越有趣,全部源码奉上,不信试试?