控制对功能区域的访问

可以为团队项目的以下功能区域配置初始安全设置:团队查询、Team Foundation 版本控制、Team Foundation Build 和 Visual Studio 实验室管理工具版。Microsoft Solutions Framework (MSF) 的过程模板将几个权限分配给默认安全组。 可通过合适功能区域的插件文件来修改这些分配方式。

有关如何为 Visual Studio Team Foundation Server 配置安全组的信息,请参阅配置初始组、团队、成员和权限

有关如何管理用户和组以及控制对 Visual Studio Application Lifecycle Management (ALM) 的访问的详细信息,请参阅管理 TFS 中用户或组

将权限分配给功能区域

可以使用功能 permission 元素在 Team Foundation Server、Windows 组或 Windows 标识中针对安全组允许或拒绝功能区域的权限。 可在插件文件中将此元素用于工作项跟踪、Team Foundation 版本控制、Team Foundation Build 和 实验室管理。 必须将权限元素封装在对应容器中:permissions 元素。对功能 permission 元素使用以下语法结构:

<permission allow="PermissionName" identity="GroupName"/>
<permission deny="PermissionName" identity="GroupName"/>
<permission allow="PermissionName" deny="PermissionName" identity="GroupName"/>

下表介绍功能 permission 元素的特性:

特性

描述

allow

标识授予的权限。 以逗号分隔的文本形式指定权限。

有关为每个功能区域定义的权限的名称,请参阅本主题后面的以下部分:

  • 分配版本控制权限

  • 分配生成权限

  • 分配实验室管理工具版权限

deny

标识撤消的权限。 以逗号分隔的文本形式指定权限。

备注

拒绝的权限优先于允许的权限。

identity

在 Team Foundation Server、Windows 组中或 Windows 标识中指定应用权限的安全组。 有关指定组时要使用的格式,请参阅配置初始组、团队、成员和权限中的“Team Foundation Server 中定义的默认组”。

下面的示例演示如何授予权限以允许**“参与者”**组查看生成和生成定义以及对生成排队和编辑生成质量。

<taskXml>
   <permission allow="Read, PendChange, Checkin, Label, Lock" identity="[$$PROJECTNAME$$]\Contributors"/>
</taskXml>

备注

在运行时,如果对于某个标识找不到权限,则会在该标识所属的任何其他组中搜索权限。如果找不到权限,则默认情况下会拒绝权限。

为工作项查询分配权限

在工作项插件文件中,可以分配用于控制对团队查询文件夹的访问的权限。 查询文件夹权限特定于查询和查询文件夹。 可以向 Windows 中的用户和组或是向为 Team Foundation Server 定义的默认组授予访问权限。

可使用功能 permission 元素分配这些权限,如以下示例所示:

<Permission allow="Read, Contribute, Delete, ManagePermissions, FullControl" identity="="[$$PROJECTNAME$$]\$$PROJECTADMINGROUP$$" /> 

备注

创建团队项目之后,可以通过在“团队资源管理器”中右键单击查询文件夹或查询,然后单击“安全性”,来设置权限。有关详细信息,请参阅设置查询的权限

下表介绍用于控制对查询文件夹和查询的访问的权限。 该表指明了在 MSF 过程模板中所做的默认分配。 默认情况下,查询和查询文件夹的创建者或所有者对管理他们所创建或拥有的查询具有完全控制权。

权限

描述

访问者、参与者、构建者

创建者所有者、项目管理员组、项目集合管理员

Read

读取。 可以查看和运行查询或查看查询文件夹及其内容

选中标记 选中标记

Contribute

参与。 可以查看和编辑查询或查询文件夹及其内容

选中标记

Delete

删除。 可以查看、编辑和删除查询或查询文件夹及其内容

选中标记

ManagePermissions

管理权限。 可以管理查询或查询文件夹及其内容的权限

选中标记

FullControl

完全控制。 可以查看、编辑、删除和管理查询或查询文件夹及其内容的权限

选中标记

为版本控制分配权限

可以通过更改用于版本控制的插件文件,来分配用于控制对源代码文件和文件夹的访问的权限。 版本控制权限特定于源代码文件和文件夹。 可以向 Windows 中的用户和组或是向为 Team Foundation Server 定义的默认组授予访问权限。

可使用功能 permission 元素分配这些权限,如以下示例所示:

<permission allow="Read, PendChange, Checkin, Label, Lock, Merge" identity="[$$PROJECTNAME$$]\@@Contributors@@" />

备注

创建团队项目之后,可以通过在“源代码管理资源管理器”中右键单击文件夹或文件,单击“属性”,然后单击“安全性”选项卡,来设置这些权限。在该选项卡上,可以单击要为其更改权限的用户或组,然后编辑“权限”中列出的权限。还可以使用进行版本控制的 tf 的命令行工具或“TFSSecurity”命令行工具来设置这些权限。有关详细信息,请参阅Team Foundation Server 权限参考

下表介绍用于控制对源代码文件和文件夹的访问的权限。 该表指明了在 MSF 过程模板中所做的默认分配。

权限

描述

访问者

参与者

构建者

项目管理员组

Read

读取。 可以显示文件或文件夹的内容。

如果用户对某个文件夹具有“读取”权限,但是对它包含的文件没有该权限,则用户可以显示这些文件的名称和属性,但用户无法打开它们。

选中标记 选中标记 选中标记 选中标记

PendChange

签出。 可以签出项以及对它进行挂起更改。 挂起更改的示例包括添加、编辑、重命名、删除、撤消删除、分支和合并文件。

选中标记 选中标记 选中标记

Merge

合并。 可以将更改合并到它们具有权限的路径中。

选中标记 选中标记 选中标记

Checkin

签入。 可签入项和修改任何提交的变更集注释。 挂起更改在用户签入项时提交。

选中标记 选中标记 选中标记

Label

标签。 可标注项。

选中标记 选中标记 选中标记

Lock

锁定。 可以锁定项,以便其他用户无法更新它。

选中标记 选中标记 选中标记

ReviseOther

修订其他用户的更改。 可以更改其他人的变更集注释和签入说明的内容。

选中标记

UnlockOther

取消锁定其他用户的更改。 可以移除其他人的锁定。

选中标记

UndoOther

撤消其他用户的更改。 可以撤消其他人的挂起更改。

选中标记

LabelOther

管理标签。 可以修改其他人的标签。

选中标记

AdminProjectRights

管理权限。 可以为版本控制配置安全设置。

选中标记

CheckinOther

签入其他用户的更改。 可以作为其他用户执行签入。 转换实用工具需要此权限。

选中标记

ManageBranch

管理分支。 对给定的路径具有此权限的用户可以将该路径下的任何文件夹都转换为分支。 对分支具有此权限的用户还可以编辑其属性、重新设置其父级以及将其转换为文件夹。

具有此权限的用户只有在还具有目标路径的“合并”权限时,才可以对该分支执行分支操作。 如果用户对某个分支没有“管理分支”权限,就无法从该分支创建分支。

选中标记

为生成分配权限

可以通过更改生成插件文件来分配用于控制对生成活动的访问的权限。 可以向 Windows 中的用户和组以及 Team Foundation Server 中的组授予访问权限。 有关指定组时要使用的格式的信息,请参阅配置初始组、团队、成员和权限中的“Team Foundation Server 中定义的默认组”。

可使用功能 permission 元素分配这些权限,如以下示例所示:

<Permission allow="ViewBuildDefinition, QueueBuilds, ViewBuilds, EditBuildQuality" identity="[$$PROJECTNAME$$]\@@Contributors@@" />

备注

创建团队项目之后,可以通过在 团队资源管理器 中打开项目,右键单击“生成”,然后单击“安全性”,来设置这些权限。你可以通过右键单击生成定义,然后选择“安全性”,来对特定生成定义应用权限。如果要将权限应用于生成文件夹,请右键单击它,然后单击“安全性”。此外,你还可以使用 TFSSecurity 命令行工具设置这些权限。有关详细信息,请参阅Team Foundation Server 权限参考

下表介绍可以分配的、用于控制对团队项目生成功能的访问的权限。 下表还指明了在 MSF 过程模板中所做的默认分配。

备注

“重写由生成执行的签入验证”权限应该只分配给生成服务的服务帐户以及对代码质量负责的生成管理员。有关详细信息,请参阅签入由封闭签入生成控制的挂起的更改

权限

描述

访问者

参与者

生成管理员

项目管理员

项目集合管理员

ViewBuildDefinition

查看生成定义。 可查看已为团队项目创建的生成定义。

选中标记 选中标记 选中标记 选中标记 选中标记

ViewBuilds

查看生成。 可查看此团队项目的已排队的且完整的生成。

选中标记 选中标记 选中标记 选中标记 选中标记

EditBuildQuality

编辑生成质量。 可以通过 Team Foundation Build 的界面添加有关生成质量的信息。

选中标记 选中标记 选中标记 选中标记

QueueBuilds

将生成排队。 可以通过 Team Foundation Build 的界面或在命令提示符处将生成添加到队列中。

选中标记 选中标记 选中标记 选中标记

DeleteBuildDefinition

删除生成定义。 可以删除生成定义。

选中标记 选中标记 选中标记

DeleteBuilds

删除生成。 可删除完整生成。

选中标记 选中标记 选中标记

DestroyBuilds

销毁生成。 可永久删除完整生成。

选中标记 选中标记 选中标记

EditBuildDefinition

编辑生成定义。 可以创建和修改生成定义。

选中标记 选中标记 选中标记

ManageBuildQualities

管理生成质量。 可以添加或移除生成质量,如“部署已准备就绪”“已拒绝”“正在调查中”。 有关详细信息,请参阅添加或移除生成质量值

选中标记 选中标记 选中标记

ManageBuildQueue

管理生成队列。 可取消、重新设置优先级或推迟已排队的生成。

选中标记 选中标记 选中标记

RetainIndefinitely

无限期保留。 可标记生成,以使其不会被任何适用保留政策自动删除。

选中标记 选中标记 选中标记

StopBuilds

停止生成。 可以停止正在进行的生成。

选中标记 选中标记 选中标记

OverrideBuildCheckInValidation

重写由生成执行的签入验证。 可提交影响封闭生成定义但不触发系统以搁置并首先生成更改的变更集。 有关详细信息,请参阅签入由封闭签入生成控制的挂起的更改

选中标记

UpdateBuildInformation

更新生成信息。 可以添加有关生成质量的信息。

此权限只应指派给服务帐户。

为实验室管理工具版分配权限

可以通过更改实验室插件文件,来控制对 实验室管理 中的活动的访问。 实验室管理 的权限特定于虚拟机、环境和其他资源。 可以向 Windows 中的用户和组以及 Team Foundation Server 中的组授予访问权限。 可使用功能 permission 元素分配这些权限,如以下示例所示:

<permission allow="Read, Create, Write, Edit, Start, Stop, ManageSnapshots, Pause" identity="[$$PROJECTNAME$$]\@@Contributors@@" />

备注

可以使用 TFSLabConfig 命令行工具来设置 实验室管理 的权限。若要显示有关特定实验室资源的信息,必须对该资源具有“读取”权限。若要删除某个位置,必须对该位置具有“删除实验室位置”权限。有关详细信息,请参阅 TFSLabConfig Permissions 命令

下表介绍可以分配以控制对 Visual Studio 实验室管理工具版 的访问的权限。 下表还指明了在 MSF 过程模板中所做的默认分配。

权限

描述

访问者

参与者

项目集合生成服务帐户组

团队项目管理员组

项目集合管理员组

Read

查看实验室资源。 可查看 实验室管理 的各种资源(包括集合主机组、项目主机组和环境)的信息。

选中标记 选中标记 选中标记 选中标记 选中标记

Create

导入虚拟机。 可以从 Virtual Machine Manager (VMM) 库共享导入虚拟机。

此权限与写入不同,因为用户可以在 实验室管理 中创建对象,但不向 VMM 主机组或库共享写入任何内容。

选中标记

选中标记 选中标记

Write

写入环境和虚拟机。 可以创建环境。 对项目库共享拥有此权限的用户可以存储环境和虚拟机。

选中标记 选中标记 选中标记 选中标记

Edit

编辑环境和虚拟机。 可以编辑环境和虚拟机。 会针对要编辑的对象检查权限。

选中标记 选中标记 选中标记 选中标记

Start

启动。 可启动环境。

选中标记 选中标记 选中标记 选中标记

Stop

停止。 可停止环境。

选中标记 选中标记 选中标记 选中标记

Pause

暂停。 可暂停环境。

选中标记 选中标记 选中标记

ManageSnapshots

管理快照。 可以执行所有快照管理任务,包括拍摄快照、还原为快照、重命名快照、删除快照和读取快照。

选中标记 选中标记 选中标记 选中标记

Delete

删除环境和虚拟机。 可以删除环境和虚拟机。 会针对要删除的对象检查权限。

选中标记 选中标记

ManageLocation

管理实验室位置。 可编辑 实验室管理 资源的位置,这些资源包括集合主机组、集合库项目、项目主机组和项目库共享。

集合级别位置(项目主机组和集合库共享)的此权限还能让用户创建项目级别位置(项目主机组和项目库共享)。

选中标记 选中标记

DeleteLocation

删除实验室位置。 可删除 实验室管理 资源的位置,这些资源包括集合主机组、集合库共享、项目主机组和项目库共享。

选中标记 选中标记

ManageChildPermissions

管理子级权限。 可更改 实验室管理 的所有子对象的权限。 例如,如果用户对某个团队项目主机组具有此权限,则该用户可以为该组下的所有环境更改权限。

选中标记 选中标记

ManagePermissions

管理权限。 可以修改 实验室管理 的对象的权限。 会针对要修改权限的对象检查此权限。

选中标记

EnvironmentOps

环境操作。 可启动、停止、暂停和管理快照,以及执行环境上的其他操作。

请参见

概念

配置初始组、团队、成员和权限

Team Foundation Server 权限参考