Team Foundation Server 权限参考
权限确定用户可执行和不可执行的任务。 对于具有访问 Team Foundation Server (TFS) 资源和团队项目权限的用户,你需要将其添加到团队项目或 TFS 组。 有关 TFS 如何管理成员资格、权限和访问权限的概述,请参阅管理 TFS 中的用户和组。
本主题描述了 TFS 权限以及其对每个内置 TFS 组的默认分配。 它也说明了你可用于设置权限的工具。 内置组中有三个类别、四个权限级别、五种权限状态。 每位用户对功能任务的访问取决于分配给他们或分配到他们所属组的显式或继承权限状态。
主题内容
|
若要对 SharePoint 产品 或 SQL Server 报告服务分配权限,请参阅向团队项目添加用户 和授予权限以在 TFS 中查看或创建报告。
权限的新增功能是什么?
下表介绍了 TFS 权限模型的新增功能和更改。 这些功能和更改均基于你在应用层服务器上安装的版本。
TFS 版本 |
新的或更改的权限 |
---|---|
TFS 2013.3 |
添加了“管理测试套件”,重新设置了 “管理测试计划权限”的范围以仅管理测试计划。 这些权限是针对区域路径设置的。 之前,它包括测试计划和测试套件的权限管理。 |
TFS 2013.2 |
添加了标记权限。 |
TFS 2013 |
添加了 Git 存储库权限。 |
用于设置权限的工具
你可使用下表列出的工具来设置权限。 根据你设置权限的位置(服务器上、集合上还是项目级),使用不同工具。 你使用 Team Web Access (TWA) 来设置大多数权限,以供用户和组访问团队项目。
权限等级 |
TWA 管理页或对象级安全性 |
团队资源管理器(备注 1) |
Team Foundation 管理控制台 |
TFSSecurity 命令行工具 |
Tf 命令行工具 |
TFSLabConfig 命令行工具 |
---|---|---|---|---|---|---|
服务器级 |
||||||
集合级别 |
||||||
项目和测试级别 |
||||||
生成级别 |
||||||
工作项查询 |
||||||
标记 |
||||||
工作项追踪的区域级别 |
||||||
工作项追踪的迭代级别 |
||||||
Team Foundation 版本控制 |
||||||
Git 存储库 |
||||||
实验室管理 |
||||||
发布管理 (2) |
备注
你从团队资源管理器访问的一些权限选项会在 Team Web Access 中打开一个用户界面。
如果将 Release Management 添加到你的部署,则你可以使用在 Release Management、TFS 或 Active Directory 中定义的组来管理各种权限。 你可管理整个 Release Management 客户端的权限。
你可用于管理组内用户成员资格的另一个工具是CodePlex 中的 TFSAdmin 工具。
命令行工具、命名空间和权限名称
当你使用 TFSSecurity 命令行工具管理权限时,你将指定一个命名空间和权限名称。 以下章节指示了命名空间和命令名称。 存在两种命名空间组:项目集合和服务器。 使用 TFSSecurity /a 命令来列举命名空间。 若要获得可在命名空间下设置的权限集,请使用 TFSSecurity /a Namespace /collection:CollectionNameURL
项目集合命名空间 |
服务器命名空间 |
---|---|
TFSSecurity /a /collection:CollectionNameURL
|
TFSSecurity /a /server:ServerNameURL
|
内置 TFS 组
安装 TFS 时,会在服务器级定义 4 个组。 创建项目集时,会在集合级别创建 7 个组,并且对于你创建的每个组,都会创建其作用域为团队项目的 6 个组。 所有这些组都与一组默认权限相关联。 不能移除或删除默认服务器级组,如 Team Foundation Administrators 组。
服务器级 |
集合级别 |
项目级 |
---|---|---|
|
|
|
说明:
若要了解有效用户组的更多信息,请转至此什么是有效用户?如何填充有效用户组?章节。
团队组是以团队项目的名称创建的。 例如,如果你创建了名为“代码示例”的团队项目,则也将创建名为“代码示例团队”的团队组。你可以重命名此团队。
此外,当你创建附加团队时,将对每个团队创建一个团队组。
向服务器级组分配了服务器级权限。 为集合级别组分配了对集合、项目和对象定义的权限。 同时,分配到项目级组的权限包括项目级和对象级。
例如,下图显示了分配到项目级参与者组的权限。
项目管理员组权限包括分配到参与者组的权限和一些其他权限。
服务器级组
默认情况下,安装 TFS 时,在应用程序层的服务器级处存在以下组。
组名(前缀:Team Foundation\ |
权限 |
默认用户账户 |
---|---|---|
Team Foundation Administrators |
可执行 TFS 的所有操作。 应该尽可能将本组中需要对 TFS 进行总体管理控制的用户的数量限制为最少。 |
承载 Team Foundation 应用程序服务的所有服务器的“本地管理员”组 (BUILTIN\Administrators)。 服务器\Team Foundation Service Accounts组和 \Project Server Integration Service Accounts 组的成员。 |
Team Foundation Valid Users |
具有对源代码、工作项和生成定义的读取权限。 访问 TWA 功能是依赖于已分配的许可证或访问级别组的。 重要 如果将此组的“查看实例级别信息”权限设为“拒绝”或“未设置”,则所有用户都将无法访问此部署。 |
包含已添加在 TFS 中任何位置的所有用户和组。 你无法修改此组的成员资格。 |
Team Foundation Service Accounts |
具有 TFS 的服务级别权限。 |
包含安装过程中提供的服务账户。 本组应只包含服务帐户,而不应包含用户帐户或含有用户帐户的组。 默认情况下,本组是“Team Foundation Administrators”的成员。 |
项目服务器集成服务账户 |
具有针对与 TFS 的互操作配置的项目服务器部署的服务级别权限。 此外,此组成员具有一些 TFS 服务级别权限。 |
本组应只包含服务帐户,而不应包含用户帐户或含有用户帐户的组。 默认情况下,本组是“Team Foundation Administrators”的成员。 |
SharePoint Web Application Services |
除了 TFS 的一些服务级别权限外,还具有针对与 TFS 使用配置的 SharePoint Web 应用程序的服务级别权限。 |
本组应只包含服务帐户,而不应包含用户帐户或含有用户帐户的组。 与“服务帐户”组不同,本组不是“Team Foundation Administrators”的成员。 |
Team Foundation Proxy Service Accounts |
本组成员具有 Team Foundation Server Proxy 的服务级别权限以及一些 TFS 服务级别权限。 |
本组应只包含服务帐户,而不应包含用户帐户或含有用户帐户的组。 |
集合级别组
默认情况下,配置一个集合时在集合级别存在以下组。
组名(前缀:TeamProjectCollectionName\ |
组级别权限 |
账户分配 |
---|---|---|
Project Collection Administrators |
可执行团队项目集合的所有操作。 |
含有已安装 TFS 应用程序层服务的服务器的“本地管理员”组 (BUILTIN\Administrators)。 同时,包含 TeamProjectCollectionName\Service Accounts 组的成员。 在本组中,应将需要对集合进行总体管理控制的用户数限制为可能的最小值。 |
Project Collection Valid Users |
可访问为集合定义的团队项目。 重要 如果将此组的“查看集合级别信息”权限设为“拒绝”或“未设置”,则所有用户都将无法访问此集合。 |
包含已添加到团队项目集合内任何位置的所有用户和组。 你不能修改本组的成员资格。 |
Project Collection Service Accounts |
具有对集合和 TFS 的服务级别权限。 |
包含安装过程中提供的服务账户。 此组应仅包含服务帐户和那些仅包含服务帐户的组。 默认情况下,本组是“Team Foundation Administrators”和“Team Foundation Service Accounts”的成员。 |
Project Collection Build Administrators |
可管理集合的生成资源和权限。 |
尽可能将本组需要对生成服务器和本集合的服务进行总体管理控制的用户的数量限制为最少。 |
Project Collection Build Service Accounts |
具有运行集合的生成服务所需的这些权限。 |
将本组限制为仅包含服务账户的服务账户和组。 |
Project Collection Proxy Service Accounts |
具有运行集合的代理服务所需的权限。 |
将本组限制为仅包含服务账户的服务账户和组。 |
Project Collection Test Service Accounts |
具有集合的测试服务权限。 |
将本组限制为仅包含服务账户的服务账户和组。 |
项目级组
默认情况下,创建团队项目时存在以下组。 其权限的作用域为项目级。
组(前缀:ProjectName\) |
组级别权限 |
附加说明 |
---|---|---|
Project Administrators |
可管理团队项目的各个方面,但不能创建项目。 |
分配给将管理用户权限的用户、创建团队、定义迭代路通过的区域或自动以工作项追踪。 |
Build Administrators |
可管理生成资源并为项目生成权限。 成员可以管理测试环境、创建测试运行和管理生成。 |
|
Contributors |
可完全参与项目基本代码和工作项追踪。 |
默认情况下,创建团队项目时创建的团队组将添加到此组,而添加到团队的任何用户将成为此组的成员。 此外,默认情况下,为团队项目创建的任何团队将添加到此组,除非你从列表中选择不同的组。 |
Readers |
可查看项目,但不可修改它。 |
分配给希望能够查看正在进行的工作的利益干系人。 |
TeamName |
继承分配给参与者组的相同权限。 可完全参与项目基本代码和工作项追踪。 |
默认的“团队”组是你创建团队项目时创建的,默认情况下,它会添加到团队项目的“参与者”组。 你创建的所有新团队还会为自己创建一个组并将其添加到参与者组。 |
除这些项目级别的组之外,TFS 的每个项目中还显示了两个集合级别的组:
TeamProjectCollectionName**\Project Collection Administrators**
你不能更改此集合级别组的权限。
TeamProjectCollectionName**\Project Collection Build Service Accounts**
请勿移除本组的“查看项目级别信息”权限或将其设置为“拒绝”。
“允许”、“拒绝”、“未设置”以及其他权限状态。
TFS 使用安全性权限的许可度最低的模型。 这意味着如果一位用户属于两个组,并且同一权限对一个组分配为“允许”,对另一个组分配为“拒绝”,则“拒绝”优先于“允许”。 此规则存在一些例外情况,针对属于“项目集合管理员”和“Team Foundation Server 管理员”组的用户。
可以为权限指定两种显式授权状态:“拒绝”和“允许”。 此外,还存在其他三种状态:“允许继承”、“拒绝继承”和“未设置”。 “未设置”是一个隐式“拒绝”状态。
权限 |
授权 |
---|---|
允许 |
显式允许用户执行与特定权限关联的任务。 “允许”通常是从组成员资格继承的。 对于访问任务的用户组,关联的权限必须设置为“允许”或“允许继承”。 |
拒绝 |
显式阻止用户执行与特定权限关联的任务。 “拒绝”通常是从组成员资格继承的。 |
允许继承/拒绝继承 |
根据为用户所属组设置的权限,允许或拒绝用户执行与权限关联的任务。 |
未设置 |
隐式阻止用户执行与权限关联的操作。 因为权限即未显式设置为“拒绝”,又未显式设置为“允许”,所以此权限的授权可从用户或组所属位置的其他组继承。 默认情况下,大多数权限即未设置为“拒绝”,又未设置为“允许”。 权限处于“未设置”状态。 |
权限状态遵守以下优先级设置:
“拒绝”权限优先于所有其他权限设置(包括“允许”)。 例如,用户可能属于一个项目中的两个组。 对于其中一个组,“发布测试结果”权限设置为“拒绝”;而另一个组则将该权限设置为“允许”。 “拒绝”设置优先级别更高,用户无权发布测试结果。
此规则的例外情况有:
如果“拒绝”权限是从层次结构父项继承的,则不具有优先权。 这些功能支持分层权限设置:
Team Foundation 版本控制的源代码管理文件夹
Git 存储库
工作项跟踪的区域及迭代节点
共享工作项的队列和查询文件夹
在特定对象上设置的显式权限(如源代码管理文件夹、存储库或区域子节点)会重写从父对象继承的权限。 例如,为源代码管理文件夹设置的“拒绝”不会重写为它的一个子文件夹设置的“允许”。
当用户属于管理员组(如“项目集合管理员”或“Team Foundation Administrators”组时,除非在权限备注中另行说明。
“允许继承”的优先级高于“未设置”。
继承
当用户或组的权限为“未设置”时,由于将继承 TFS 中的权限,因此用户或组可能会受其所属组权限的显式状态的影响。 例如,当你查看用户或组的权限时,可能会看到同时为这些权限设置了“允许”和“允许继承”。 后一种权限继承自用户或组所属的某些其他组。 在该示例中,用户可能属于项目中的项目级别组和集合级别组。 如果其中一个组拥有一项显式设置为“允许”的权限,另一个组拥有相同的权限且状态为“未设置”,则用户将拥有“允许继承”权限以执行此权限所控制的操作。 用户将从两个组继承权限,而“允许”权限优先于“未设置”权限。
若要了解继承权限的原因,可以将鼠标悬停在权限设置的上方,然后选择“为什么?”。 将打开一个新的窗口。 它显示该权限的继承信息。
一些对象级安全性对话框提供继承打开/关闭选项。 可使用此选项禁用文件夹、共享查询和其他对象的继承。
分配权限时的注意事项
可做之事:
管理大量用户时使用 Windows 组。
请考虑将“参与”权限授予需要能够创建和共享项目的工作项查询的用户或组。
添加多个团队时,请考虑向分配适用于“项目管理员”的权限子集的 TFS 创建团队管理员组。
添加团队时,思考你想将什么权限分配给团队主管、Scrum 主管以及可能需要创建和修改区域路径、迭代路径和查询的其他团队成员。
禁止之事:
不要将账户添加到已加到项目管理员组的访问者组。 这样做会导致“拒绝”状态被分配给多个权限。
不要更改对有效用户组进行的默认分配。 如果你移除某个有效用户组的“查看实例级别信息”权限或将其设置为“拒绝”,则根据你设置的组,此组中的任何用户都不能访问团队项目、集合或部署。
不要将标注为“仅分配给服务账户”的权限分配给用户账户。
服务器级别权限
服务器级别权限授予可影响部署中所有项目和集合的权限。 你可以设置来自 Team Foundation 管理控制台的服务器级别权限,或使用 TFSSecurity 命令行工具进行设置。
你可以对服务器级用户和组(例如,Team Foundation Administrators)和添加的服务器级别自定义组设置这些权限。
权限名称 |
TFSSecurity 操作 |
TFSSecurity 命名空间 |
描述 |
SharePoint Web Application Services |
Team Foundation Administrators |
Team Foundation Service Accounts |
---|---|---|---|---|---|---|
管理仓库(备注 1) |
管理 |
仓库 |
可使用仓库控制 Web 服务来处理或更改数据仓库或 SQL Server Analysis 多维数据集的设置。 |
|||
创建团队项目集合 |
CreateCollection |
CollectionManagement |
可创建和管理团队项目集合。 |
|||
删除团队项目集合(备注 2) |
DeleteCollection |
CollectionManagement |
可从部署中删除团队项目集合。 |
|||
编辑实例级别信息(备注 3) |
GENERIC_WRITE tf: AdminConfiguration tf: AdminConnections |
服务器 |
可编辑 TFS 用户和组的服务器级别权限,并且可添加或移除来自集合的服务器级别组。 |
|||
代表其他项发出请求 |
Impersonate |
服务器 |
可代表其他用户或服务执行操作。 仅分配给服务账户。 |
|||
触发事件 |
TRIGGER_EVENT |
服务器 |
可触发 TFS 警报事件。 仅分配给服务账户和 Team Foundation Administrators 组的成员。 |
|||
使用完全 Web Access 功能(备注 4) |
FullAccess |
服务器 |
可使用所有 TWA 功能。 |
|||
查看实例级别信息(备注 5) |
GENERIC_READ |
服务器 |
可查看服务器级别组成员资格和这些用户的权限。 |
说明:
若要完全处理或重新生成数据仓库和 Analysis 多维数据库,可能需要其他附加权限。
删除团队项目集合将不会从 SQL Server 中删除集合数据库。
编辑实例级别信息包括在为实例定义的所有项目集合中定义的所有团队项目执行以下任务的能力:
添加和管理团队以及所有团队相关功能
创建和修改区域和迭代
编辑签入政策
编辑共享的工作项查询
编辑项目级和集合级权限 ACL
创建和修改全局列表
编辑事件订阅(电子邮件或 SOAP)。
当通过菜单设置时,“编辑实例级别信息”权限还将隐式允许用户修改版本控制权限。 若要在命令提示符处授予所有这些权限,则除 GENERIC_WRITE 外,还必须使用 tf.exe Permission 命令授予 AdminConfiguration 和 AdminConnections 权限。
如果将“使用完全 Web Access 功能”权限设置为“拒绝”,则用户将只能查看“限定”组允许的这些功能(请参阅更改访问级别)。 “拒绝”将重写任何隐式允许,甚至对作为管理组(如 Team Foundation Administrators)成员的帐户也是如此。
“查看实例级别信息”权限也分配给 Team Foundation Valid Users 组。
集合级别权限
集合级别权限授权到为以下用户和组设置的集合范围内的任务:
集合级别的用户和组,如项目集合管理员
添加到集合的项目级组
添加到集合的自定义组
你可设置来自集合的 TWA 管理页和 Team Foundation 管理控制台的集合级别权限,或者使用 TFSSecurity 命令行工具或 tf 命令行工具进行设置。 所有权限的作用域都是为其设置的特定集合。
权限名称 |
TFSSecurity 操作 |
TFSSecurity 命名空间 |
描述 |
项目集合服务帐户 |
项目集合生成服务帐户 |
项目集合生成管理员 |
项目集合管理员(备注 1) |
---|---|---|---|---|---|---|---|
管理生成资源权限 |
AdministerBuildResourcePermissions |
BuildAdministration |
可修改生成资源的权限。 |
||||
管理 Project Server 集成 |
AdministerProjectServer |
ProjectServerAdministration |
可配置 TFS 和 Project Server 的继承以在两个服务器产品之间启用数据同步。 |
||||
管理搁置的更改 |
AdminShelvesets tf: AdminShelvesets |
VersionControlPrivileges |
可删除其他用户创建的搁置集。 |
||||
管理工作区 |
AdminWorkspaces tf: AdminWorkspaces |
VersionControlPrivileges |
可为其他用户创建工作区并删除其他用户创建的工作区。 |
||||
改变跟踪设置 |
DIAGNOSTIC_TRACE |
集合 |
可更改追踪设置,以搜集与 TFS Web 服务相关的更详细的诊断信息。 |
||||
创建工作区(备注 2) |
tf: CreateWorkspace |
VersionControlPrivileges |
可创建版本控制工作区。 |
||||
创建新项目(备注 3) |
CREATE_PROJECTS |
集合 |
可在团队项目集合中创建项目。 |
||||
删除团队项目(备注 4) |
删除 |
Project |
可删除团队项目。 |
||||
编辑集合级别信息(备注 5) |
GENERIC_WRITE tf: AdminConfiguration tf: AdminConnections |
集合 VersionControlPrivileges |
可添加用户和组,并且可编辑用户和组的集合级别权限。 |
||||
代表其他项发出请求 |
Impersonate |
服务器 |
可代表其他用户或服务执行操作。 仅分配给服务账户。 |
||||
管理生成资源 |
ManageBuildResources |
BuildAdministration |
可管理生成计算机、生成代理和生成控制器。 |
||||
管理过程模板 |
MANAGE_TEMPLATE |
集合 |
可下载、创建、编辑和上载过程模板。 |
||||
管理测试控制器 |
MANAGE_TEST_CONTROLLERS |
集合 |
可注册和取消注册测试控制器。 |
||||
触发事件(备注 6) |
TRIGGER_EVENT |
集合 |
可触发集合内的项目警报事件。 仅分配给服务账户。 |
||||
使用生成资源 |
UseBuildResources |
BuildAdministration |
可保留和分配生成代理。 仅分配给生成服务的服务账户。 |
||||
查看生成资源 |
ViewBuildResources |
BuildAdministration |
可查看(但不可使用)配置给集合的生成控制器和生成代理。 |
||||
查看集合级别信息 |
GENERIC_READ |
集合 |
可查看集合级别组成员资格和权限。 |
||||
查看系统同步信息 |
SYNCHRONIZE_READ |
集合 |
可调用同步应用程序编程接口。 仅分配给服务账户。 |
说明:
此外,对这些 TFS 组进行了以下默认分配:
“项目集合有效用户”组:创建工作区、查看生成资源并查看集合级别信息。
项目集合代理服务帐户:创建工作区、查看生成资源并查看集合级别信息。
项目集合测试服务帐户:创建工作区、管理测试控制器、查看生成资源并查看集合级别信息。
将“创建工作区”权限作为项目集合有效用户组中的用户成员资格的一部分授予所有用户。
根据你的部署,可能需要附加权限。 同时,你必须以管理员身份运行 Visual Studio 或 Team Explorer 以成功完成创建新的团队项向导。
删除团队项目将会删除所有与该项目关联的数据。 不能撤消团队项目的删除,除非将集合恢复到删除项目之前的某个点。
编辑集合级别信息包括为集合中定义的所有团队项目执行以下任务的能力:
添加和管理团队以及所有团队相关功能
创建和修改区域和迭代
编辑签入政策
编辑共享的工作项查询
编辑项目级和集合级权限 ACL
创建和修改全局列表
编辑项目或集合级别事件上的事件订阅(电子邮件或 SOAP)。
当通过 TWA 将“编辑集合级别信息”设置为“允许”时,用户可添加或移除集合级别 TFS 组并隐式允许这些用户修改版本控制权限。 若要在命令提示符处授予所有这些权限,则除 GENERIC_WRITE 外,还必须使用 tf.exe Permission 命令授予 AdminConfiguration 和 AdminConnections 权限。
具有此权限的用户无法移除内置集合级别组(如,项目集合管理员)。
为其他用户添加此权限可能导致拒绝服务攻击。
项目、测试和对象级权限。
项目级别权限特定于单个项目的用户和组。 在项目内,你可在为此项目创建的对象上设置权限,如区域、迭代、源控制文件夹、查询和查询文件夹以及生成定义。 你可以为添加到团队项目或集合的用户或组设置项目和对象级权限。
向这些内置项目级别和集合级别组分配了很多默认权限:
项目级别组:构建者、参与者、项目管理员和访问者
集合级别组:项目集合管理员、项目集合生成服务帐户、项目集合代理服务帐户以及项目集合测试服务帐户
项目和测试级别权限
你可以设置来自项目的 TWA 管理页的项目级别权限,或使用 TFSSecurity 命令行工具进行设置。 所有项目级别权限都授权给为其设置的特定团队项目的用户。
权限名称 |
TFSSecurity 操作 |
TFSSecurity 命名空间 |
描述 |
生成管理员、参与者和团队 |
项目管理员(备注 1) |
---|---|---|---|---|---|
创建标记定义 |
Create |
标记 |
可通过工作项窗体添加标记。 |
||
创建测试运行 |
PUBLISH_TEST_RESULTS |
Project |
可添加和移除测试结果以及添加或修改测试运行。 |
||
删除团队项目 |
DELETE |
Project |
可删除来自 TFS 的团队项目。 |
||
删除测试运行 |
DELETE_TEST_RESULTS |
Project |
可删除预定测试。 |
||
编辑项目级别信息(备注 2) |
GENERIC_WRITE |
Project |
可为用户和组编辑项目级别权限。 |
||
管理测试配置 |
MANAGE_TEST_CONFIGURATIONS |
Project |
可创建和删除测试配置。 |
||
管理测试环境 |
MANAGE_TEST_ENVIRONMENTS |
Project |
具有此权限的用户可创建和删除测试环境。 |
||
查看项目级信息 |
GENERIC_READ |
Project |
可查看项目级别组成员资格和权限。 |
||
查看测试运行 |
VIEW_TEST_RESULTS |
Project |
可在团队项目区域路径下查看测试计划。 |
说明:
此外,对这些 TFS 组进行了以下默认分配:
访问者:创建标记定义、查看项目级别信息和查看测试运行。
项目集合管理员:权限与项目管理员相同(除了“删除测试运行”)。
项目集合生成管理员:权限与项目管理员相同(除了“删除测试运行”)。
项目集合生成服务帐户:创建测试运行、管理测试配置、管理测试环境、查看项目级别信息、查看测试运行。
项目集合测试服务帐户:创建测试运行、管理测试配置、管理测试环境、查看项目级别信息。
“编辑项目级信息”包括为团队项目执行以下任务的能力:
添加和管理团队以及所有团队相关功能
创建和修改区域和迭代
编辑签入政策
编辑共享的工作项查询
编辑项目级别权限 ACL
创建和修改全局列表
编辑项目级事件上的事件订阅(电子邮件或 SOAP)。
生成级别的权限
你可从 TWA 或团队资源管理器中生成定义的上下文菜单设置所有生成或生成定义的生成级别权限,或使用 TFSSecurity 命令行工具进行设置。
权限名称 (UI) |
TFSSecurity 操作 |
TFSSecurity 命名空间 |
描述 |
参与者 |
生成定义作者或构建者 |
生成管理员 |
项目管理员(备注 1) |
---|---|---|---|---|---|---|---|
管理生成权限 |
AdministerBuildPermissions |
生成 |
可管理其他用户的生成权限。 |
||||
删除生成定义 |
DeleteBuildDefinition |
生成 |
可删除此项目的生成定义。 |
||||
删除生成 |
DeleteBuilds |
生成 |
可删除完整生成。 |
||||
销毁生成 |
DestroyBuilds |
生成 |
可永久删除完整生成。 |
||||
编辑生成定义(备注 2) |
EditBuildDefinition |
生成 |
可创建和修改此项目的生成定义。 |
||||
编辑版本质量 |
EditBuildQuality |
生成 |
可通过团队资源管理器或 Team Web Access 添加有关生成质量的信息。 |
||||
管理生成质量 |
ManageBuildQualities |
生成 |
可添加或移除生成质量。 |
||||
管理生成队列 |
ManageBuildQueue |
生成 |
可取消、重新设置优先级或推迟已排队的生成。 |
||||
重写由生成执行的签入验证(备注 3) |
OverrideBuildCheckInValidation |
生成 |
可提交影响封闭生成定义但不触发系统以搁置并首先生成器更改的变更集。 |
||||
对生成进行排队 |
QueueBuilds |
生成 |
可通过 Team Foundation Build 的接口将生成置于队列中或命令提示符处。 他们还可以停止已排队的生成。 |
||||
无限期保留 |
RetainIndefinitely |
生成 |
可标记生成,以使其不会被任何适用保留政策自动删除。 |
||||
停止生成 |
StopBuilds |
生成 |
可停止任何正在进行的生成,包括由另一个用户进行排列和启用的生成。 |
||||
更新生成信息 |
UpdateBuildInformation |
生成 |
可将生成信息节点添加到系统,也可以添加生成质量的相关信息。 仅分配给服务账户。 |
||||
查看生成定义 |
ViewBuildDefinition |
生成 |
可查看已为团队项目创建的生成定义。 |
||||
查看生成 |
ViewBuilds |
生成 |
可查看此团队项目的已排队的且完整的生成。 |
说明:
此外,对这些内置组进行了以下默认分配:
访问者:查看生成定义和查看生成。
项目集合管理员:所有权限(“更新生成信息”除外)。
项目集合生成管理员:所有权限(“重写由生成执行的签入验证”和“更新生成信息”除外)。
项目集合生成服务帐户:编辑生成质量、管理生成队列、更新生成信息、重写由生成执行的签入验证、队列生成、查看生成定义以及查看生成。
项目集合测试服务帐户:更新生成信息、查看生成定义以及查看生成。
想控制特定生成定义的权限时,必须将生成定义的“继承”置于“关闭”。
当继承置于“打开”时,生成定义会遵守为组或用户在项目级别定义的生成权限。 例如,自定义“生成管理器”组的权限设置为手动将 Fabrikam 项目的生成排入队列。 Fabrikam 项目的继承处于“打开”状态时的任何生成定义均将使“生成管理器”组的成员具有手动将生成排入队列的能力。
然而,如果把 Fabrikam 项目的“继承”置于“关闭”状态,则你可设置仅允许“项目管理员”手动为特定生成定义将生成排入队列的权限。 这将使我能专门为该生成定义设置权限。
将“重写由生成执行的签入验证”权限只分配给生成服务的服务账户以及对代码质量负责的生成管理员。 有关详细信息,请参阅签入由封闭签入生成控制的挂起的更改。
工作项查询权限
你可以从来自 TWA 或团队资源管理器的共享查询的快捷菜单设置工作项查询权限,或者使用 TFSSecurity 命令行工具进行设置。 所有权限的作用域都是对其设置的特定查询或查询文件夹。
请考虑将“参与”权限授予需要能够创建和共享项目的工作项查询的用户或组。 若要创建查询图表,你需要高级访问权限。
权限名称 |
TFSSecurity 操作 |
TFSSecurity 命名空间 |
描述 |
访问者、参与者、生成管理员 |
创建者所有者、项目管理员、项目集合管理员 |
---|---|---|---|---|---|
参与 |
CONTRIBUTE |
WorkItemQueryFolders |
可查看和修改此查询或查询文件夹。 |
||
删除 |
DELETE |
WorkItemQueryFolders |
可删除查询或查询文件夹以及其内容。 |
||
管理权限 |
MANAGEPERMISSIONS |
可管理此查询或查询文件夹的权限。 |
|||
读取 |
READ |
WorkItemQueryFolders |
可查看和使用文件夹中的查询,但不能修改查询或查询文件夹内容。 |
||
FullControl |
WorkItemQueryFolders |
可查看、编辑、删除和管理查询或查询文件夹及其内容的权限。 |
标记权限
标记提供一种对工作项分组或分类的快捷方式。 标记权限适用于安装有 TFS 2013.2 或更高版本的预置型 TFS 部署。 你可以从 TWA 管理安全性页面设置“创建标记定义”。 若要设置所有剩余权限,请使用 TFSSecurity 命令行工具。
权限名称 |
TFSSecurity 操作 |
TFSSecurity 命名空间 |
描述 |
访问者 |
参与者 |
项目管理员(备注 1) |
---|---|---|---|---|---|---|
创建标记定义(备注 2) |
CREATE |
标记 |
可创建新的标记并将其应用到工作项。 没有此权限的用户只能从团队项目的现有标记集中选择。 |
|||
删除标记定义(备注 3、4) |
DELETE |
标记 |
可从此项目的可用标记列表中移除标记。 |
|||
枚举标记定义(备注 4、5) |
ENUMERATE |
标记 |
可查看团队项目内可用于工作项的标记的列表。 没有此权限的用户将不会获得一个可用标记列表,以便在工作项窗体或查询编辑器中进行选择。 |
|||
更新标记定义(备注 4) |
UPDATE |
标记 |
可使用 REST API 对标记重命名。 |
说明:
此外,对“项目集合服务帐户”显式分配了所有标记权限。
访问者和参与者继承“创建标记定义”权限,因为它对“项目有效用户”组显式设置为“允许”。
尽管“创建标记定义”权限显示在团队项目级别的安全性设置中,但标记权限实际上是集合级别的权限,当它们显示在用户界面中时是在项目级别范围内起作用。 若要在使用 TFSSecurity 命令时将标记权限的作用域设置为单一团队项目,你必须将此项目的 GUID 作为命令语法的一部分进行提供。 否则,你所做的更改将应用于整个团队项目集合。 在更改或设置这些权限时,请牢记这一点。
不存在要删除标记的 UI 支持。 若要删除一个标记,请移除与标记关联的分配。 TFS 在 3 天未使用之后自动删除未分配的标记。
不会出现在 UI 中;只可使用 TFSSecurity 命令进行设置。
对“访问者”和“参与者”将“查看项目级别信息”显式设置为“允许”,使这些组中的用户可查看现有标记(“枚举标记定义”权限)。
工作项跟踪的区域级别权限
区域级别权限根据与其区域树层级的位置关系,授予或限制访问为项目定义的工作项的权限。
你可从区域的 TWA 管理页定义和设置区域级别权限,或者使用 TFSSecurity 命令行工具进行设置。 所有权限的作用域都是为其设置的特定区域路径。
权限名称 |
TFSSecurity 操作 |
TFSSecurity 命名空间 |
描述 |
参与者 |
生成管理员 |
项目集合生成服务帐户(备注 1) |
---|---|---|---|---|---|---|
创建子节点(备注 2) |
CREATE_CHILDREN |
CSS |
可创建区域节点。 同时具有此权限以及“编辑此节点”权限的用户可以移动任何子区域节点或对任何子区域节点重新排序。 |
|||
删除此节点(备注 2) |
DELETE |
CSS |
同时具有此权限以及对另一个节点的“编辑此节点”权限的用户可以删除区域节点并对所删节点中的现有工作项重新分类。 如果删除的节点有子节点,则子节点也会被删除。 |
|||
编辑此节点(备注 2) |
GENERIC_WRITE |
CSS |
可设置此节点的权限并重命名区域节点。 |
|||
编辑此节点中的工作项(备注 3) |
WORK_ITEM_WRITE |
CSS |
可编辑此区域节点中的工作项。 |
|||
管理测试计划(备注 4) |
MANAGE_TEST_PLANS |
CSS |
可修改测试计划属性(如,生成和测试设置)。 |
|||
管理测试套件(备注 4) |
MANAGE_TEST_SUITES |
CSS |
可创建和删除测试套件、从测试套件中添加和移除测试用例、更改与测试套件关联的测试配置以及修改套件层级(移动测试套件)。 |
|||
查看此节点的权限 |
GENERIC_READ |
CSS |
可查看此节点的安全性设置。 |
|||
查看此节点中的工作项(备注 5) |
WORK_ITEM_READ |
CSS |
可查看(但不可更改)此区域节点中的工作项。 |
说明:
此外,对这些内置组进行了以下默认分配:
访问者:查看此节点的权限以及“仅查看”权限。
项目集合测试服务帐户:只查看权限。
Team Foundation 管理员、项目集合管理员和项目管理员:所有 CSS 权限。 具有“编辑实例级别信息”“编辑集合级别信息”或“编辑项目级别信息”权限的任何用户或组均可创建和管理区域节点。
“项目集合有效用户”、“项目有效用户”的成员或具有“查看集合级别信息”或“查看项目级别信息”权限的任何用户或组均可查看任何区域节点的权限。
请考虑将此权限添加到可能需要删除、添加或重命名区域节点的任何手动添加的用户或组。
请考虑将此权限添加到可能需要在区域节点下编辑工作项的任何手动添加的用户或组。
已和 TFS 2013.3 更新一起添加了“权利测试套件”权限。 请考虑将这些权限添加到可能需要在此区域节点下管理测试计划或测试套件的任何手动添加的用户或组。
如果你将此节点中的“查看”工作项设置为“拒绝”,则用户将无法查看此区域节点中的任何工作项。 “拒绝”将重写任何隐式允许,甚至对作为管理组(如 Team Foundation Administrators)成员的帐户也是如此。
工作项跟踪的迭代级别权限
迭代级别权限授予或限制访问权限以创建和管理迭代路径。
你可使用迭代的 TWA 管理页或 TFSSecurity 命令行工具为添加到团队项目或集合的用户和组设置迭代级别权限。 所有权限的作用域都是为其设置的特定迭代路径。
某些工作项跟踪操作需要多种权限。 例如,你需要多种权限来删除节点。
请考虑授予团队管理员、Scrum 主管或团队主管可创建、编辑或删除节点的权限。
权限名称 |
TFSSecurity 操作 |
TFSSecurity 命名空间 |
描述 |
项目管理员(备注 1) |
---|---|---|---|---|
创建子节点(备注 2) |
CREATE_CHILDREN |
迭代 |
可创建迭代节点。 同时具有此权限以及“编辑此节点”权限的用户可以移动任何子迭代节点或对任何子迭代节点重新排序。 |
|
删除此节点(备注 2) |
DELETE |
迭代 |
同时具有此权限以及对另一个节点的“编辑此节点”权限的用户可以删除迭代节点并对所删节点中的现有工作项重新分类。 如果删除的节点有子节点,则子节点也会被删除。 |
|
编辑此节点(备注 2) |
GENERIC_WRITE |
迭代 |
可设置此节点的权限并重新命名迭代节点。 |
|
查看此节点的权限(备注 3) |
GENERIC_READ |
迭代 |
可查看此节点的安全性设置。 |
说明:
向“Team Foundation 管理员”和“项目集合管理员”授予了所有“迭代”权限。 具有“编辑实例级别信息”“编辑集合级别信息”或“编辑项目级别信息”权限的任何用户或组均可创建和管理迭代节点。
请考虑将此权限添加到可能需要删除、添加或重命名迭代节点的任何手动添加的用户或组。
“项目集合有效用户”、“项目有效用户”的成员或具有“查看集合级别信息”或“查看项目级别信息”权限的任何用户或组均可查看任何迭代节点的权限。
Team Foundation 版本控制 (TFVC) 权限
你可从 TWA 或团队资源管理器中文件或文件夹定义的上下文菜单设置TFVC 源代码文件和文件夹上的权限,或者使用 tf 命令行工具 进行设置。 这些权限仅出现在设置为将 TFVC 作为源控制系统进行使用的团队项目。
在版本控制权限中,显式拒绝任务优先于管理员组权限。
权限名称 |
TFSSecurity 操作和 tf perm |
TFSSecurity 命名空间 |
描述 |
参与者 |
生成管理员 |
项目集合生成服务帐户 |
项目管理员(备注 1) |
---|---|---|---|---|---|---|---|
管理标签 |
tf: LabelOther |
VersionControlItems |
可编辑或删除其他用户创建的标签。 |
||||
签入(备注 2) |
tf: Checkin |
VersionControlItems |
可签入项和修改任何提交的变更集注释。 签入时将提交挂起的更改。 |
||||
签入其他用户的更改 |
tf: CheckinOther |
VersionControlItems |
可签入其他用户操作的更改。 签入时将提交挂起的更改。 |
||||
签出(备注 2) |
tf: PendChange |
VersionControlItems |
可签出并对文件夹中的项执行挂起更改。 挂起更改的示例包括添加、编辑、重命名、删除、撤消删除、分支和合并文件。 必须签入挂起的更改,因此用户还将需要“签入”权限才能与团队共享其更改。 |
||||
标签 |
tf: Label |
VersionControlItems |
可标注项。 |
||||
锁定 |
tf: Lock |
VersionControlItems |
可锁定文件夹或文件以及对其解锁。 |
||||
管理分支 |
tf: ManageBranch |
VersionControlItems |
可将该路径下的任何文件夹转换为分支并对分支执行以下操作:编辑分支属性、重定其父级并将其转换为文件夹。仅当具有此权限的用户也具有目标路径的“合并”权限时,他们可对此分支进行分支操作。 如果用户对某个分支没有“管理分支”权限,就无法从该分支创建分支。 |
||||
管理权限(备注 3) |
tf: AdminProjectRights |
VersionControlItems |
可管理版本控制中其他用户的文件夹和文件权限。 |
||||
合并(备注 4) |
tf: Merge |
VersionControlItems |
可将更改合并到此路径。 |
||||
读取 |
tf: Read |
VersionControlItems |
可读取文件或文件夹的内容。 如果用户对文件夹有“读取”权限,则即使用户没有打开文件的权限,也可以查看文件夹的内容以及其中的文件的属性。 |
||||
修改其他用户的更改(备注 5) |
tf: ReviseOther |
VersionControlItems |
即使其他用户已签入文件,也可编辑已签入文件上的注释。 |
||||
“撤消其他用户的更改”合并(备注 5) |
tf: UndoOther |
VersionControlItems |
可撤销其他用户执行的挂起更改。 |
||||
解锁其他用户的更改(备注 5) |
tf: UnlockOther |
VersionControlItems |
可解锁其他用户锁定的文件。 |
说明:
此外,已将项目集合管理员和项目集合服务帐户的所有权限设置为“允许继承”。
向访问者组分配了“只查看”权限:读取。
请考虑将这些权限添加到参与项目开发的任何手动添加的用户或组;任何应能够签入签出更改的用户都会对文件夹中项执行挂起更改,或者修改任何已提交的变更集注释。
请考虑将此权限添加到参与项目开发并必须能够创建私有分支的任何手动添加的用户或组,除非此项目受限制性更强的开发操作的约束。
请考虑将此权限添加到参与项目开发并必须能够合并源文件的任何手动添加的用户或组,除非此项目受限制性更强的开发操作的约束。
即使其他用户已签入文件,也请考虑将此权限添加到负责监督或监控项目且可能或必须更改以签入文件上的注释和任何手动添加的用户或组。
Git 存储库权限
你可从上下文菜单或从 TWA 中的管理页设置 Git 项目、存储库和分支上的权限,或使用 TFSSecurity 命令行工具进行设置。 这些权限仅出现在设置为将 Git 作为源控制系统进行使用的团队项目。
你可以设置项目或存储库的所有权限。 你可以设置“管理”、“参与”和“重写”并销毁分支的历史(强制推送)权限。 存储库和分支继承项目级别所作的分配的权限。
默认情况下,项目级别和集合级别访问者组仅具有“读取”权限。
权限名称 |
TFSSecurity 操作 |
TFSSecurity 命名空间 |
描述 |
参与者 |
生成管理员 |
项目管理员(备注 1) |
---|---|---|---|---|---|---|
管理(备注 2) |
管理 |
GitRepositories |
可重命名存储库、添加其他存储库、验证数据库以及为分支设置权限。 拥有此权限的用户可以删除存储库(如果他们还拥有“强制”权限)。 在分支级别,可以对分支设置权限和删除分支。 |
|||
分支创建 |
CreateBranch |
GitRepositories |
可在存储库中发布分支。缺少此权限不会限制用户在其本地存储库中创建分支的能力;这仅会阻止他们将本地分支发布到服务器。当用户在服务器上创建新的分支时,默认情况下,他们具有此分支的“管理”、“参与”和“强制”权限。 |
|||
参与 |
GenericContribute |
GitRepositories |
可将其更改推送到存储库。 在分支级别,可以推送对分支的更改。 |
|||
备注管理 |
ManageNote |
GitRepositories |
可将 Git 备注推送和编辑到存储库。如果具有“强制”权限,也可从项中移除节点。请参阅本主题,了解有关节点的更多详细信息。 |
|||
读取 |
GenericRead |
GitRepositories |
可克隆、获取、请求和浏览存储库的内容,但不能将进行的任何更改推送到存储库。 |
|||
重写和销毁历史记录(强制推送) |
ForcePush |
GitRepositories |
可强制更新,这会重写或放弃任何用户的提交。 删除提交内容将更改历史记录。 如果没有此权限,用户将无法丢弃其更改。 删除分支也需要重写和销毁历史记录。 由于“重写和销毁历史记录”允许用户更改历史记录或从历史记录中移除提交,因此拥有此权限的用户可以从服务器中删除更改及其历史记录。 他们还可以修改服务器存储库的提交历史记录。 在分支级别,可以重写和销毁分支的历史记录。 |
|||
标记创建 |
CreateTag |
GitRepositories |
可将标记推送到存储库,具有“强制”权限时也可编辑或移除来自项的标记。 |
说明:
对于“项目集合管理员”和“项目集合服务帐户”,所有权限均设置为“允许继承”。
向访问者和项目集合生成服务账户组分配了“只查看”权限:读取。
请考虑将所有权限添加到参与项目开发的任何手动添加的用户或组。
Lab Management 权限
Visual Studio 实验室管理工具版 权限特定于虚拟机、环境和其他资源。 此外,将向 Lab Management 中的对象的创建者自动授予对此对象的所有权限。 你可使用 TFSLabConfig 权限命令行工具来设置这些权限。
默认情况下,项目级别和集合级别访问者组仅具有“查看实验室资源”(读取)权限。
权限名称 |
TFSLabConfig perm |
描述 |
参与者(备注 1) |
项目管理员 |
项目集合生成服务: |
Team Foundation 管理员、项目集合管理员 |
---|---|---|---|---|---|---|
删除环境和虚拟机 |
删除 |
可删除环境和模板。 会针对要删除的对象检查权限。 |
||||
删除实验室位置 |
DeleteLocation |
可删除 实验室管理 资源的位置,这些资源包括集合主机组、集合库共享、项目主机组和项目库共享。 若要删除某个位置,你必须对该位置具有“删除实验室位置”权限。 |
||||
编辑环境和虚拟机 |
Edit |
可编辑环境和模板。 会针对要编辑的对象检查权限。 |
||||
环境操作 |
EnvironmentOps |
可启动、停止、暂停和管理快照,以及执行环境上的其他操作。 |
||||
导入虚拟机 |
Create |
可从 VMM 库共享导入虚拟机。此权限不同于“写入”,因为它只在 实验室管理 中创建一个对象,并且不会将任何内容写入到 Virtual Machine Manager 主机组或库共享。 |
||||
管理子级权限 |
ManageChildPermissions |
可更改所有子 实验室管理 对象的权限。 例如,如果用户对某个团队项目主机组具有“管理子级权限”,该用户就可以更改该团队项目主机组下的所有环境的权限。 |
||||
管理实验室位置 |
ManageLocation |
可编辑 实验室管理 资源的位置,这些资源包括集合主机组、集合库共享、项目主机组和项目库共享。 若要编辑特定位置,你必须对该位置具有“管理实验室位置”权限。 集合级别位置(项目主机组和集合库共享)的此权限还能让你创建项目级别位置(项目主机组和项目库共享)。 |
||||
管理权限 |
ManagePermissions |
可修改 实验室管理 对象的权限。 会针对要修改权限的对象检查此权限。 |
||||
管理快照 |
ManageSnapshots |
可对环境执行所有快照管理任务,包括拍摄快照、还原为快照、重命名快照、删除快照和读取快照。 |
||||
暂停环境 |
Pause |
可暂停环境。 |
||||
Start |
Start |
可启动环境。 |
||||
停止 |
停止 |
可停止环境。 |
||||
查看实验室资源 |
读取 |
可查看各种 实验室管理 资源的信息,包括集合主机组、项目主机组和环境。 若要查看有关特定实验室资源的信息,你必须对该资源具有“查看实验室资源”权限。 |
||||
写入环境和虚拟机 |
Write |
可以为项目主机组创建环境。 对项目库共享拥有此权限的用户可以存储环境和模板。 |
说明:
- 向访问者组分配了“只查看”权限:读取。
Release Management 权限
在 Release Management 中,你可以根据为用户分配的角色、为组分配的显式功能权限或为特定的发布对象实例分配的权限来分配权限。 此外,你还可以为发布路径内的特定阶段分配审批者和验证者,以便确保所部署的应用程序符合质量标准。
**基于角色:**两种角色为“发布管理员”和“用户服务”。 “发布管理员”可以管理所有功能,而不论将其链接到哪些组。 “服务用户”对应于服务帐户角色。 若要限制用户的访问权限,请不要为其分配任何角色。 相反,请让他们继承为他们的链接组而分配的权限。
**组:**若要限制对特定功能区域的访问,你应分配该组所允许的权限。 该组的成员会继承为该组分配的权限。 若要限制访问权限,你需要更改为“Everyone”组授予的权限,而默认情况下,该组具有全部权限。
**对象:**除角色和组之外,你可以限制用于编辑、查看和管理发布路径及发布模板安全性的权限。 你可以通过发布路径的“安全性”选项卡以及发布模板的“属性”页来执行此操作。
**审批者和验证者:**审批者和验证者必须在每个发布步骤或阶段进行签署操作。 你应在配置发布路径时指定审批者和验证者。 在 Release Management 中,所有审批者和验证者都必须以用户或组成员的形式添加。
Release Management 可定义一个默认组“Everyone”,你向 Release Management 添加的所有帐户都属于此组。 另外,还会向“发布管理员”和“服务用户”角色分配特定的权限。
你应从 Release Management 客户端来管理 Release Management 权限。 你可以打开**“何处设置”**列中列出的子菜单,然后设置这些权限。 若要了解有关如何设置这些权限的详细信息,请参阅添加用户和组并控制对发布管理的访问. 若要安装 Release Management,请转到此处。
权限名称或用户角色 |
何处设置 |
描述 |
所有人 |
“发布管理员”角色 |
“服务用户”角色 |
---|---|---|---|---|---|
发布管理员 |
“管理”>“我的配置文件和新用户”页 |
可管理 Release Management 服务器、管理 TFS 和 Release Management 间的连接,并管理以下对象:
考虑添加:将管理 Release Management 服务器的用户。 |
|||
服务用户 |
“管理”>“我的配置文件和新用户”页 |
可管理部署或 Web 应用程序池。 考虑添加:所分配的服务账户标识,用来运行服务器应用程序池、部署代理的 Windows 服务以及 Windows 服务的 Release Management 监控。 |
|||
视图 |
“配置应用”>“发布模板”>“属性” “配置路径”>“发布路径” |
可查看发布模板或发布路径,并选择性地为特定用户分配对特定发布模板和发布路径的查看访问权限。 考虑添加:需要查看特定发布模板或发布路径但不对其进行编辑的用户或组。 |
|||
Edit |
“配置应用”>“发布模板”>“属性” “配置路径”>“发布路径” |
可编辑发布模板或发布路径,并选择哪些用户可对特定用户编辑特定发布模板和发布路径。 考虑添加:需要编辑特定发布模板或发布路径的用户或组。 |
|||
可以发布 |
“配置应用”>“发布模板”>“属性” |
可启动发布,并执行哪些用户可从他们可查看的发布模板中启动发布。 考虑添加:将启动发布的用户或组。 利用此权限,你可以指定哪些用户可以从他们可查看的发布模板启动发布。 |
|||
管理安全性 |
“配置应用”>“发布模板”>“属性” “配置路径”>“发布路径” |
可管理哪些组具有查看、编辑或管理发布模板或发布路径的权限。 考虑添加:将管理哪些组具有查看、编辑或管理发布模板或发布路径的用户或组。 利用此权限,发布模板和发布路径的创建者可以控制谁可以查看、编辑或发布特定的模板或路径。 |
|||
可以创建发布模板 |
“配置应用”>“发布模板” |
可定义发布模板。 如果没有此权限,则“配置应用”>“发布模板”选项卡上的“新建”按钮将被隐藏。 考虑添加:需要创建、启动或审批发布的用户或组。 |
|||
可以创建发布路径 |
“配置路径”>“发布路径” |
可定义阶段、审批过程和发布路径的安全性。 如果没有此权限,则“配置路径”>“发布路径”选项卡上的“新建”按钮将被隐藏。 考虑添加:需要管理用于部署应用程序的发布配置的用户或组。 |
|||
可以管理环境 |
“配置路径”>“环境” |
可定义构成发布路径的阶段,并为每个阶段定义服务器和安全性。 如果没有此权限,“配置路径”>“环境”选项卡将被隐藏。 考虑添加:需要管理用于定义发布路径的服务器和环境的用户或组。 |
|||
可以管理服务器 |
“配置路径”>“服务器” |
可为在系统中部署应用程序而定义发布路径。 此权限支持定义相应的服务器,以便用于向测试、阶段和生产服务器部署应用程序。 如果没有此权限,“配置路径”>“服务器”选项卡将被隐藏。 考虑添加:将为在系统中部署应用程序定义发布路径的用户或组。 此权限支持定义相应的服务器,以便用于向测试、阶段和生产服务器部署应用程序。 |
|||
可以管理库存 |
“库存”>“操作和工具” |
可为在系统中部署应用程序定义自定义工具或操作。 利用此权限,他们可以查看、编辑和创建操作及工具。 请参阅用于为 Release Management 部署应用的释放操作。 如果没有此权限,“库存”选项卡将被隐藏。 考虑添加:将为在系统中部署应用程序定义自定义工具或操作的用户或组。 利用此权限,他们可以查看、编辑和创建在部署应用程序时所使用的操作和工具。 |
|||
可以在操作和组件中使用自定义工具 |
“配置应用”>“组件”>“部署” “配置应用”>“发布模板”>“组件”>“部署” |
可在选择“无工具”后编辑“命令”和“参数”字段。 如果没有此权限,用户无法编辑这些字段。 考虑添加:将定义发布路径或发布模板或将启动发布的用户或组。 当选中“无工具”时,这可以让他们编辑“命令”和“参数”字段。 |
|||
编辑值和目标服务器 |
“配置应用”>“发布模板” |
可编辑特定发布或阶段的部署序列和配置变量。 如果没有此权限,阶段信息为只读。 考虑添加:将定义发布路径或发布模板或将启动发布的用户或组。 这可以让他们编辑特定发布或阶段的部署序列和配置变量。 |
|||
编辑审批和环境 |
“配置路径”>“发布路径”>“阶段” |
可编辑某一特定阶段的审批和环境。 如果没有此权限,阶段信息为只读。 考虑添加:将定义发布路径或发布模板的用户或组。 这可以让他们编辑特定阶段的审批和环境。如果没有此权限,阶段信息将为只读。 |
问题解答
问:权限和访问级别之间的区别是什么?
**答:**TFS 中的某些功能只提供给具有这些工具的相应许可级别的用户。 对这些功能的访问不是由权限控制的,而是由 Team Web Access 的授权组的成员资格控制。 请参阅更改访问级别。
问:向团队管理员分配了什么权限?
**答:**团队管理员被授予此处描述的多个基于角色的权限。
问:什么权限与“警报”相关联?
**答:**没有与可通过 TWA 订阅的警报相关联的 UI 权限。
默认情况下,所有“参与者”均可为自己订阅警报。 “项目集合管理员”和“项目管理员”或具有“编辑集合级别信息”或“编辑项目级别信息”权限的成员或组可为他人或团队设置警报。
你可以在集合级别使用 TFSSecurity 管理警报权限。 Team Foundation 事件服务设计为具有灵活性和可扩展性。
TFSSecurity 操作 |
TFSSecurity 命名空间 |
描述 |
项目集合管理员和项目集合服务帐户 |
---|---|---|---|
CREATE_SOAP_SUBSCRIPTION |
EventSubscription |
可创建基于 SOAP 的 Web 服务订阅。 |
|
GENERIC_READ |
EventSubscription |
可查看为团队项目定义的订阅事件。 |
|
GENERIC_WRITE |
EventSubscription |
可为其他用户或团队创建警报。 |
|
取消订阅 |
EventSubscription |
可取消订阅事件订阅。 |
问:哪些附加功能或工具引用组?
**答:**以下功能引用内置和自定义(你创建的)TFS 组:
问:什么是有效用户?如何填充有效用户组?
**答:**将用户帐户直接添加到 TFS 组或通过 Windows 组添加时,这些帐户自动添加到一个有效用户组。
服务器\Team Foundation 有效用户:添加到服务器级别组的所有成员。
ProjectCollectionName\项目集合有效用户:添加到项目集合级别组的所有成员。
TeamProjectName\项目有效用户:添加到项目级别组的所有成员。
分配给这些组的默认权限主要限制为“读取”权限,如“查看生成资源”、“查看项目级别信息”以及“查看集合级别信息”。
这意味着你添加到某个团队项目的所有用户都可以查看集合内其他团队项目中的对象。 如果你需要限制查看访问权限,则可通过区域路径节点设置限制。 有关其他信息,请参阅限制对功能和任务的访问。
如果你移除某个有效用户组的“查看实例级别信息”权限或将其设置为“拒绝”,则根据你设置的组,此组中的任何用户都不能访问团队项目、集合或部署。
此外,VALIDUSER 元素可用于允许或限制对工作项追踪的访问权限。
问:如何管理可访问报告或项目门户的权限?
**答:**有关如何为 TFS 中的用户设置 Reporting Services 和 SharePoint 产品 中的的权限,请参阅设置对团队项目集合的管理员权限 和设置 Team Foundation Server 的管理员权限。
有关如何创建自定义组、配置控制对资源的访问权限以及其他选项的分步示例,请参阅限制对功能和任务的访问.