安全组、服务帐户和权限参考
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
本文提供了每个内置用户、组和权限的综合参考。
有关默认分配的快速参考,请参阅 默认权限和访问权限。 有关如何管理权限和安全性的概述,请参阅 “关于权限”、“访问权限”和“安全组”、“ 关于安全角色”和 “关于访问级别”。
有关将用户添加到组或设置可通过 Web 门户管理的特定权限的详细信息,请参阅以下资源:
用户和组
Wiki
注意
由于系统更新,Web 门户中显示的图像可能与本文中的映像不同,但基本功能保持不变,除非明确提及。
服务帐户
系统生成一些服务帐户来支持特定操作。 下表介绍了在组织或集合级别添加的这些用户帐户。
用户名 | 说明 |
---|---|
代理池服务 | 有权侦听特定池接收工作的消息队列。 在大多数情况下,无需直接管理组成员 - 代理注册过程会为你处理它。 注册代理时,会自动添加你指定的服务帐户(通常是网络服务)。 负责在 GitHub 对象更改时执行 Azure Boards 读取/写入操作和更新工作项。 |
Azure Boards | 在 Azure Boards 连接到 GitHub 时添加。 你不必管理此组的成员。 负责管理 GitHub 和 Azure Boards 之间的链接创建。 |
PipelinesSDK | 根据需要添加以支持 Pipelines 策略服务范围令牌。 此用户帐户类似于生成服务标识,但支持单独锁定权限。 实际上,向涉及此标识的令牌授予对管道资源的只读权限,以及一次性批准策略请求的能力。 应以处理生成服务标识的方式处理此帐户。 |
ProjectName 生成服务 | 有权为项目运行生成服务,并且是用于 XAML 生成的旧用户。 它自动是安全服务组的成员,该组用于存储已授予权限的用户,但没有其他安全组。 |
项目集合生成服务 | 有权为集合运行生成服务。 它自动是安全服务组的成员,该组用于存储已授予权限的用户,但没有其他安全组。 |
组
可以直接向个人或组授予权限。 使用组使事情更简单,系统为此提供了多个内置组。 这些组及其分配的默认权限在不同级别定义:服务器(仅限本地部署)、项目集合、项目和特定对象。 还可以创建自己的组,并向其授予适用于组织中特定角色的特定权限集。
注意
安全组在组织级别进行管理,即使它们用于特定项目也是如此。 根据用户权限,某些组可能在 Web 门户中隐藏。 若要查看组织中的所有组名称,可以使用 Azure DevOps CLI 工具或 REST API。 有关详细信息,请参阅 “添加和管理安全组”。
注意
安全组在集合级别进行管理,即使它们用于特定项目也是如此。 根据用户权限,某些组可能在 Web 门户中隐藏。 若要查看集合中的所有组名称,可以使用 Azure DevOps CLI 工具或 REST API。 有关详细信息,请参阅 “添加和管理安全组”。
注意
安全组在集合级别进行管理,即使它们用于特定项目也是如此。 根据用户权限,某些组可能在 Web 门户中隐藏。 若要查看集合中的所有组名称,可以使用 REST API。 有关详细信息,请参阅 “添加和管理安全组”。
服务器级组
安装 Azure DevOps Server 时,系统会创建具有 部署范围的服务器级权限的默认组。 不能删除或删除内置服务器级组。
不能删除或删除默认服务器级别组。
其中每个组的全名是 [Team Foundation]\{group name}。 因此,服务器级别管理员组的全名为 [Team Foundation]\Team Foundation Administrators。
组名
权限
成员资格
Azure DevOps 服务帐户
具有服务器实例的服务级别权限。
包含安装过程中提供的服务帐户
此组应仅包含服务帐户,而不应包含包含用户帐户的用户帐户或组。 默认情况下,此组是 Team Foundation 管理员的成员。
若要在安装 Azure DevOps Server 后将此帐户添加到此组,请使用本地安装目录的工具子文件夹中的 TFSSecurity.exe 实用工具。 请使用以下命令:TFSSecurity /g+ "[TEAM FOUNDATION]\Team Foundation Service Accounts" n:domain\username /server:http(s)://azuredevopsservername
。
Azure DevOps 代理服务帐户
具有 Azure DevOps Server 代理的服务级别权限,以及一些服务级别权限。
注意
安装 Azure DevOps 代理服务时,将创建此帐户。
此组应仅包含服务帐户,而不应包含包含用户帐户的用户帐户或组。
Azure DevOps 有效用户
有权查看服务器实例级信息。
包含已知存在于服务器实例中的所有用户。 无法修改此组的成员身份。
Team Foundation 管理员
有权执行所有服务器级操作。
托管 Azure DevOPs/Team Foundation 应用程序服务的任何服务器的本地管理员 组(BUILTIN\Administrators)。
服务器 \Team Foundation 服务帐户组和 \Project Server Integration Service 帐户组的成员。
将此组限制为需要对服务器级操作进行完全管理控制的最少用户。
注意
如果部署使用 Reporting,请考虑 将此组 的成员添加到 Reporting Services 中的内容管理器组。
集合级组
在 Azure DevOps 中创建组织或项目集合时,系统会创建在该集合中具有权限的集合级别组。 不能删除或删除内置集合级组。
注意
若要启用 “组织权限设置”页 v2 预览页,请参阅 “启用预览功能”。 预览页提供当前页面未提供的组设置页。
其中每个组的全名是 [{collection name}]\{group name}。 因此,默认集合的管理员组的全名为 [默认集合]\Project Collection Administrators。
组名
权限
成员资格
Project Collection Administrators
有权对集合执行所有操作。
包含 安装应用程序层服务的服务器的本地管理员 组(BUILTIN\Administrators)。 包含 CollectionName/服务帐户组的成员。 将此组限制为需要对集合进行完全管理控制的最少用户。
注意
如果部署使用 Reporting Services,请考虑将此组的成员添加到 Reporting Services 中的 Team Foundation 内容管理器组。
项目集合生成管理员
有权管理集合的生成资源和权限。
将此组限制为需要对此集合的生成服务器和服务进行完全管理控制的用户最少。
项目集合生成服务帐户
有权为集合运行生成服务。
将此组限制为仅包含服务帐户的服务帐户和组。 这是用于 XAML 生成的旧组。 使用项目集合生成服务({你的组织})用户管理当前生成的权限。
项目集合代理服务帐户
有权运行集合的代理服务。
将此组限制为仅包含服务帐户的服务帐户和组。
项目集合服务帐户
具有集合和 Azure DevOps Server 的服务级别权限。
包含安装过程中提供的服务帐户。 此组应仅包含仅包含服务帐户的服务帐户和组。 默认情况下,此组是 Administrators 组的成员。
项目集合测试服务帐户
具有集合的测试服务权限。
将此组限制为仅包含服务帐户的服务帐户和组。
项目集合有效用户
有权访问团队项目并查看集合中的信息。
包含添加到集合中的任何位置的所有用户和组。 无法修改此组的成员身份。
只能查看其专门添加到的组织设置和项目以外的组织设置和项目。 此外,人员选取器选项仅限于显式添加到用户连接到的项目的用户和组。
如果要限制用户对显式向其添加的这些项目的可见性和访问权限,请将用户添加到此组。如果未将用户添加到 Project Collection Administrators 组,则不会将用户添加到此组。
注意
当启用了组织级别预览功能、将用户可见性和协作限制为特定项目时,项目范围的用户组将变为受限访问权限。 有关详细信息,包括重要的安全相关标注,请参阅 管理组织、限制项目的用户可见性等。
安全服务组
用于存储具有权限但未添加到任何其他安全组的用户。
不要将用户分配到此组。 如果要从所有安全组中删除用户,请检查是否需要从此组中删除用户。
项目级组
对于创建的每个项目,系统将创建以下项目级组。 这些组分配了 项目级权限。
注意
若要为 “项目权限设置”页启用预览页,请参阅 “启用预览功能”。
提示
其中每个组的全名为 [{project name}]\{group name}。 例如,名为“我的项目”的项目的参与者组为 [我的项目]\参与者。
组名
权限
成员资格
生成管理员
有权管理项目的生成资源和生成权限。 成员可以管理测试环境、创建测试运行和管理生成。
分配给定义和管理生成管道的用户。
供稿人
具有完全参与项目代码库和工作项跟踪的权限。 他们没有的主要权限是管理或管理资源的权限。
默认情况下,创建项目时创建的团队组将添加到此组,添加到团队或项目的任何用户都是此组的成员。 此外,为项目创建的任何团队将添加到此组。
读取者
有权查看项目信息、代码库、工作项和其他项目,但不能对其进行修改。
分配给要向项目提供仅查看权限的组织或集合的成员。 这些用户可以查看积压工作、版块、仪表板等,但不能添加或编辑任何内容。
有权管理团队和项目的所有方面,尽管他们无法创建团队项目。
分配给需要以下功能的用户:管理用户权限、创建或编辑团队、修改团队设置、定义区域或迭代路径,或自定义工作项跟踪。 项目管理员组的成员有权执行以下任务:
- 添加和删除项目成员身份中的用户
- 在项目中添加和删除自定义安全组
- 添加和管理所有项目团队和与团队相关的功能
- 编辑项目级别权限 ACL
- 编辑 团队或项目级事件的事件订阅(电子邮件或 SOAP )。
项目有效用户
有权访问和查看项目信息。
包含添加到项目的任何位置的所有用户和组。 无法修改此组的成员身份。
注意
建议不要更改此组的默认权限。
发布管理员
有权管理所有发布操作。
分配给定义和管理发布管道的用户。
注意
发布管理员组在定义第一个发布管道时创建。 默认情况下,创建项目时不会创建它。
具有完全参与项目代码库和工作项跟踪的权限。
创建项目时会创建默认团队组,默认情况下会添加到项目的“参与者”组。 你创建的任何新团队也为其创建了一个组,并将其添加到“参与者”组。
将团队成员添加到此组。 若要授予配置团队设置的权限, 请将团队成员添加到团队管理员角色。
团队管理员角色
对于添加的每个团队,可以分配一个或多个团队成员作为管理员。 团队管理员角色不是具有一组已定义权限的组。 相反,团队管理员角色负责管理团队资产。 有关详细信息,请参阅 管理团队和配置团队工具。 若要将用户添加为团队管理员,请参阅 “添加团队管理员”。
注意
项目管理员可以管理所有团队的所有团队管理区域。
权限
系统管理不同级别(组织、项目、对象和基于角色的权限)的权限,默认情况下将其分配给一个或多个内置组。 可以通过 Web 门户管理大多数权限。 使用 命令行工具(CLI)管理更多权限。
系统管理不同级别(服务器、集合、项目、对象和基于角色的权限)的权限,默认情况下将它们分配给一个或多个内置组。 可以通过 Web 门户管理大多数权限。 使用 命令行工具(CLI)管理更多权限。
在以下部分中,命名空间权限按照用户界面中显示的权限标签提供。 例如:
创建标记定义
Tagging, Create
有关详细信息,请参阅安全命名空间和权限参考。
服务器级别权限
通过 Team Foundation 管理控制台 或 TFSSecurity 命令行工具管理服务器级权限。 Team Foundation 管理员被授予所有服务器级权限。 其他服务器级组具有选择的权限分配。
权限(UI)
Namespace permission
描述
仅适用于配置为支持 SQL Server 报表的 Azure DevOps Server 2020 和早期版本。 可以使用仓库控制 Web 服务来处理或更改数据仓库或 SQL Server 分析多维数据集的设置。
可能需要更多权限才能完全处理或 重新生成数据仓库和分析多维数据集。
可以创建和管理集合。
可以从部署中删除集合。
注意
删除集合不会从 SQL Server 中删除集合数据库。
可以编辑用户和组的服务器级权限,以及添加或删除集合中的服务器级别组。
注意
编辑实例级信息 包括能够执行为实例定义的所有集合中定义的这些任务:
- 修改扩展和分析设置
- 隐式允许用户修改版本控制权限和存储库设置
- 编辑 全局通知、项目级和团队级事件的事件订阅 或警报
- 编辑集合中定义的项目的所有项目和团队级设置
- 创建和修改全局列表
若要在命令提示符下授予所有这些权限,必须使用tf.exe Permission
该命令授予AdminConfiguration
除该命令之外GENERIC_WRITE
的权限和AdminConnections
权限。
可以代表其他用户或服务执行操作。 仅分配给服务帐户。
可以触发服务器级警报事件。 仅分配给 Azure DevOps 或 Team Foundation Administrators 组的服务帐户和成员。
可以使用所有本地 Web 门户功能。 此权限已弃用 Azure DevOps Server 2019 及更高版本。
注意
如果将“使用完整的 Web 访问权限”权限设置为“拒绝”,则用户仅看到利益干系人组允许的功能(请参阅“更改访问级别” )。 拒绝会替代任何隐式允许,即使对于属于管理组成员(如 Team Foundation Administrator)的帐户也是如此。
可以查看服务器级别组成员身份和这些用户的权限。
注意
视图实例级信息权限也分配给 Azure DevOps 有效用户组。
组织级别的权限
通过 Web 门户管理上下文 或使用 az devops 安全组 命令管理组织级权限。 项目集合管理员被授予所有组织级权限。 其他组织级别组具有选择的权限分配。
注意
若要为 “项目权限设置”页启用预览页,请参阅 “启用预览功能”。
重要
添加或删除组织或集合级安全组、添加和管理组织或集合级组成员身份以及编辑集合和项目级权限 ACL 的权限将分配给项目集合管理员组的所有成员。 它不受用户界面内显示的权限控制。
无法更改项目集合管理员组的权限。 此外,虽然你可以更改此组成员的权限分配,但他们的有效权限仍符合分配给其成员的管理员组的权限分配。
权限(UI)
Namespace permission
说明
常规
可以 更改跟踪设置 ,以便收集有关 Azure DevOps Web 服务的更详细的诊断信息。
可以将 项目 添加到组织或项目集合。 可能需要更多权限,具体取决于本地部署。
可以 删除项目。 删除项目会删除与项目关联的所有数据。 除非将集合还原到项目删除之前某个点,否则无法撤消项目的删除。
可以设置组织和项目级设置。
注意
编辑实例级信息 包括为组织或集合中定义的所有项目执行这些任务的功能:
- 修改组织 概述 设置和 扩展
- 修改版本控制权限和存储库设置
- 编辑 全局通知、项目级和团队级事件的事件订阅 或警报
- 编辑集合中定义的项目的所有项目和团队级设置
可以查看用户或组的组织级别权限。
服务帐户
可以代表其他用户或服务执行操作。 仅将此权限分配给服务帐户。
可以触发集合中的项目警报事件。 仅分配给服务帐户。
可以调用同步应用程序编程接口。 仅分配给服务帐户。
Boards
可以 创建用于自定义工作跟踪和 Azure Boards 的继承过程 。 默认情况下,授予“基本”和“利益干系人”访问权限的用户将被授予此权限。
可以 删除已添加到进程的自定义字段。
可以编辑 自定义继承的进程。
Repos
仅适用于 Team Foundation 版本控制(TFVC)
可以删除 其他用户创建的货架集。
可以为 其他用户创建和删除工作区。
可以创建版本控制工作区。 “ 创建工作区 ”权限作为其项目集合有效用户组成员身份的一部分授予所有用户。
管道
可以管理生成计算机、生成代理和生成控制器。
可以通过组织设置、管道、设置来管理管道设置。
可以保留和分配生成代理。 仅分配给生成服务的服务帐户。
可以查看但不能使用为组织或项目集合配置的生成控制器和生成代理。
测试计划
可以注册和取消注册测试控制器。
可以删除审核流。 审核流以预览版提供。 有关详细信息,请参阅 创建审核流式处理。
可以添加审核流。 审核流以预览版提供。 有关详细信息,请参阅 创建审核流式处理。
可以查看和导出审核日志。 审核日志处于预览状态。 有关详细信息,请参阅 Access、导出和筛选审核日志。
策略
可以启用和禁用应用程序连接策略,如更改应用程序连接策略中所述。
集合级权限
通过 Web 门户管理上下文 或 TFSSecurity 命令行工具管理集合级权限。 项目集合管理员被授予所有集合级权限。 其他集合级组具有选择的权限分配。
Azure DevOps Server 2019 及更高版本可用的权限因为集合配置的进程模型而异。 有关进程模型的概述,请参阅 “自定义工作跟踪”。
继承的流程模型
本地 XML 流程模型
重要
添加或删除组织或集合级安全组、添加和管理组织或集合级组成员身份以及编辑集合和项目级权限 ACL 的权限将分配给项目集合管理员组的所有成员。 它不受用户界面内显示的权限控制。
无法更改项目集合管理员组的权限。 此外,虽然你可以更改此组成员的权限分配,但他们的有效权限仍符合分配给其成员的管理员组的权限分配。
权限(UI)
Namespace permission
说明
可以删除 其他用户创建的货架集。 当 TFVC 用作源代码管理时适用。
可以为 其他用户创建和删除工作区。 当 TFVC 用作源代码管理时适用。
可以 更改跟踪设置 ,以便收集有关 Azure DevOps Web 服务的更详细的诊断信息。
可以创建版本控制工作区。 当 TFVC 用作源代码管理时适用。 此权限作为其项目集合有效用户组成员身份的一部分授予所有用户。
可以将 项目添加到项目集合。 可能需要其他权限,具体取决于本地部署。
可以 创建用于自定义工作跟踪和 Azure Boards 的继承过程 。 要求将集合配置为支持继承的进程模型。
可以 删除已添加到进程的自定义字段。 对于本地部署,需要将集合配置为支持继承的进程模型。
可以 删除用于自定义工作跟踪和 Azure Boards 的继承过程 。 要求将集合配置为支持继承的进程模型。
可以 删除项目。
注意
删除项目会删除与项目关联的所有数据。 除非将集合还原到项目删除之前某个点,否则无法撤消项目的删除。
可以设置组织和项目级设置。
注意
编辑集合级别信息 包括为组织或集合中定义的所有项目执行这些任务的功能:
- 修改扩展和分析设置
- 修改版本控制权限和存储库设置
- 编辑 全局通知、项目级和团队级事件的事件订阅 或警报
- 编辑集合中定义的项目的所有项目和团队级设置。
可以编辑 自定义继承的进程。 要求将集合配置为支持继承的进程模型。
可以代表其他用户或服务执行操作。 仅将此权限分配给本地 服务帐户。
可以管理生成计算机、生成代理和生成控制器。
可以启用和禁用应用程序连接策略,如更改应用程序连接策略中所述。
注意
此权限仅适用于 Azure DevOps Services。 虽然它可能适用于本地 Azure DevOps Server,但它不适用于本地服务器。
可以 下载、创建、编辑和上传进程模板。 流程模板定义工作项跟踪系统的构建基块,以及通过 Azure Boards 访问的其他子系统。 要求将集合配置为支持 ON=premises XML 进程模型。
可以注册和取消注册测试控制器。
可以触发集合中的项目警报事件。 仅分配给服务帐户。 具有此权限的用户无法删除内置集合级别组,如项目集合管理员。
可以保留和分配生成代理。 仅分配给生成服务的服务帐户。
可以查看但不能使用为组织或项目集合配置的生成控制器和生成代理。
可以查看用户或组的集合级别权限。
可以调用同步应用程序编程接口。 仅分配给服务帐户。
项目级别的权限
重要
若要访问项目级资源, 必须将“查看项目级信息 ”权限设置为 “允许”。 此权限将入口所有其他项目级权限。
通过 Web 门户管理上下文 或使用 az devops 安全组 命令管理项目级权限。 向项目管理员授予所有项目级权限。 其他项目级组具有选择权限分配。
注意
若要启用 “项目权限设置”页 预览页,请参阅 启用预览功能。
通过 Web 门户管理上下文管理项目级权限。 向项目管理员授予所有项目级权限。 其他项目级组具有选择权限分配。
预览页不适用于本地版本。
重要
向项目管理员组的所有成员分配添加或删除项目级安全组以及添加和管理项目级组成员身份的权限。 它不受用户界面内显示的权限控制。
无法更改项目管理员组的权限。 此外,虽然你可以更改此组成员的权限分配,但他们的有效权限仍符合分配给其成员的管理员组的权限分配。
权限(UI)
Namespace permission
说明
常规
可以从 组织或项目集合中删除项目 。
注意
即使将此权限 设置为“拒绝”,在项目级别授予权限的用户也可能会删除他们拥有权限的项目。 若要确保用户无法删除项目,请确保在项目级别将“删除团队”项目设置为“拒绝”。
可以为项目提供或编辑元数据。 例如,用户可以提供有关项目内容的高级信息。 通过 “设置项目属性 REST API”支持更改元数据。
可以 更改项目的名称。
具有此权限的用户无需生成通知即可更新工作项。 当按工具执行批量更新迁移并想要跳过生成通知时,此功能非常有用。
请考虑向服务帐户或具有 “绕过”工作项更新 权限规则的用户授予此权限。 可以通过工作项更新时将参数true
设置为 suppressNotifications
- 更新 REST API。
可以将 项目可见性从专用更改为公共可见性 ,也可以将公共可见性更改为专用。 仅适用于 Azure DevOps Services。
可以查看项目级信息,包括安全信息组成员身份和权限。 如果将此权限设置为 “拒绝 ”用户,则他们无法查看项目或登录到项目。
Boards
具有此权限的用户可以保存忽略为工作项类型定义的规则(如 复制、约束或条件规则)的工作项。 有用的方案是迁移:你不希望在导入时更新按/日期字段,或者想要跳过工作项验证的情况。
可以通过以下两种方式之一绕过规则。 第一个是通过 工作项 - 更新 REST API 并将参数设置为 bypassRules
true
。 第二种是通过客户端对象模型,通过绕过规则模式初始化(初始化 WorkItemStore
方式 WorkItemStoreFlags.BypassRules
)。
与“编辑项目级信息”权限结合使用时,允许用户更改项目的继承过程。 有关详细信息,请参阅 创建和管理继承的进程。
可以将标记添加到工作项。 默认情况下,参与者组的所有成员都具有此权限。 此外,还可以通过安全管理工具设置更多标记权限。 有关详细信息,请参阅 安全命名空间和权限参考“标记”。
注意
为私有项目授予利益干系人访问权限的所有用户只能添加现有标记。 即使 “创建标记定义 ”权限设置为 “允许”,利益干系人也不能添加标记。 这是利益干系人访问设置的一部分。 默认情况下,已向 Azure DevOps Services 用户授予公共项目的利益干系人访问权限。 有关详细信息,请参阅利益干系人访问快速参考。
尽管“ 创建标记定义 ”权限出现在项目级别的安全设置中,但标记权限实际上是在用户界面中显示的项目级别范围内的集合级别权限。
若要在使用 TFSSecurity 命令时将标记权限限定为单个项目,必须提供项目的 GUID 作为命令语法的一部分。
否则,更改将应用于整个集合。
更改或设置这些权限时,请记住这一点。
可以将 项目中的工作项标记为已删除。 默认情况下,已向 Azure DevOps Services 用户授予公共项目的利益干系人访问权限。
可以将 工作项从一个项目移动到集合中的另一个项目 。
可以 永久删除此项目中的工作项 。
分析
除了AnalyticsView
本节中列出的命名空间权限外,还可以为每个视图设置对象级权限。
可以删除 共享区域下的 Analytics 视图 。
可以创建和修改 共享分析视图。
可以访问 Analytics 服务提供的数据。 有关详细信息,请参阅 访问 Analytics 服务所需的权限。
测试计划
可以 删除测试运行。
可以创建和删除 测试配置。
可以创建和删除 测试环境。
可以查看项目区域路径下的测试计划。
分析视图(对象级)
使用共享分析视图,可以授予查看、编辑或删除所创建的视图的特定权限。 从 Web 门户管理 Analytics 视图的安全性。
为每个共享分析视图定义以下权限。 将自动向所有有效用户授予管理 Analytics 视图的所有权限。 请考虑向创建的其他团队成员或安全组授予对特定共享视图的选择权限。 有关详细信息,请参阅 什么是分析视图? 以及 安全命名空间和权限参考。
权限(UI)
Namespace permission
说明
可以删除共享分析视图。
可以更改共享分析视图的参数。
可以从 Power BI Desktop 查看和使用共享分析视图。
仪表板(对象级别)
可以单独设置团队和项目仪表板的权限。 可以为项目设置团队的默认权限。 从 Web 门户管理仪表板的安全性。 安全命名空间和权限引用中定义了更多命名空间权限。
项目仪表板权限
默认情况下,项目仪表板的创建者是仪表板所有者,并授予该仪表板的所有权限。
权限Namespace permission |
描述 |
---|---|
删除仪表板DashboardsPrivileges, Delete |
可以删除项目仪表板。 |
编辑仪表板DashboardsPrivileges, Edit |
可以向项目仪表板添加小组件并更改布局。 |
管理权限DashboardsPrivileges, ManagePermissions |
可以管理项目仪表板的权限。 |
可以单独设置团队仪表板的权限。 可以为项目设置团队的默认权限。 从 Web 门户管理仪表板的安全性。
团队仪表板默认权限
默认情况下,团队管理员为其团队仪表板授予所有权限,包括管理默认仪表板和单个仪表板权限。
权限Namespace permission |
描述 |
---|---|
创建仪表板DashboardsPrivileges, Create |
可以创建团队仪表板。 |
删除仪表板DashboardsPrivileges, Delete |
可以删除团队仪表板。 |
编辑仪表板DashboardsPrivileges, Edit |
可以向团队仪表板添加小组件并更改布局。 |
单个团队仪表板权限
团队管理员可以通过更改以下两个权限来更改单个团队仪表板的权限。
权限Namespace permission |
描述 |
---|---|
删除仪表板DashboardsPrivileges, Delete |
可以删除特定的团队仪表板。 |
编辑仪表板DashboardsPrivileges, Edit |
可以向特定团队仪表板添加小组件并更改布局。 |
管道或生成(对象级)
使用 TFSSecurity 命令行工具管理在 Web 门户中定义的每个管道的管道权限。 向项目管理员授予所有管道权限,并为其分配了其中大多数权限。 可以为为项目定义的所有管道或每个管道定义设置管道权限。
生成中的权限遵循分层模型。 所有权限的默认值都可以在项目级别设置,并且可以在单个生成定义上重写。
若要在项目中的所有生成定义的项目级别设置权限,请从生成中心主页上的操作栏中选择 “安全性 ”。
若要设置或替代特定生成定义的权限, 请从生成定义的上下文菜单中选择“安全性 ”。
可以在两个级别在生成中定义以下权限。
权限(UI)
Namespace permission
说明
可以管理其他用户的生成权限。
可以创建管道。
可以删除此项目的生成定义。
可以删除已完成的生成。 删除的生成会在“已删除”选项卡中保留一段时间,然后再将其销毁。
可以永久删除已完成的生成。
编辑生成管道:可以保存对生成管道的任何更改,包括配置变量、触发器、存储库和保留策略。 适用于 Azure DevOps Services、Azure DevOps Server 2019 1.1 及更高版本。 替换“编辑生成定义”。 无法创建新管道。 编辑生成定义: 可以为此项目创建和修改生成定义。
注意
若要控制特定生成定义的权限,请关闭 继承。
启用继承后,生成定义将遵循在项目级别或组或用户中定义的生成权限。 例如,自定义生成管理器组具有为项目 Fabrikam 手动排队生成的权限。 具有项目 Fabrikam 继承的任何生成定义都允许生成管理器组的成员手动对生成进行排队。
关闭继承后,可以设置权限,以便只有项目管理员才能为特定生成定义手动排队生成。
可以通过团队资源管理器或 Web 门户添加有关生成质量的信息。
可以添加或删除生成质量。 仅适用于 XAML 生成。
可以取消、重新设置优先级或推迟排队生成。 仅适用于 XAML 生成。
可以提交影响封闭生成定义的 TFVC 变更集,而无需触发系统先搁置并生成其更改。
可以通过 Team Foundation Build 的接口或在命令提示符下将生成放入队列中。 它们还可以停止已排队的生成。
可以在排队新生成时为自由文本参数(例如类型或array
)object
和管道变量指定值。
可以在生成上将保留标志无限期切换为无限期。 此功能标记生成,以便系统不会根据任何适用的保留策略自动将其删除。
可以停止正在进行的任何生成,包括其他用户排队和启动的生成。
可以将生成信息节点添加到系统,还可以添加有关生成质量的信息。 仅分配给服务帐户。
可以查看为项目创建的生成定义。
可以查看此项目的排队和已完成的生成。
注意
- 如果要控制特定生成定义的权限,请关闭生成定义的继承。
- 当继承为 On 时,生成定义遵循在项目级别或组或用户定义的生成权限。 例如,自定义生成管理器组具有为项目 Fabrikam 手动排队生成的权限。 具有 Project Fabrikam 继承的任何生成定义都允许生成管理器组的成员手动对生成进行排队。
- 但是,通过为项目 Fabrikam 关闭继承,可以设置仅允许项目管理员为特定生成定义手动排队生成的权限。 这样,我便可以专门设置该生成定义的权限。
- 仅向生成服务的服务帐户分配替代签入验证,并生成负责代码质量的管理员。 适用于 TFVC 封闭签入生成。 这不适用于 PR 版本。 有关详细信息,请参阅签入到由封闭签入生成过程控制的文件夹。
Git 存储库(对象级别)
从 Web 门户、TF 命令行工具或使用 TFSSecurity 命令行工具管理每个 Git 存储库或分支的安全性。 项目管理员授予了其中大多数权限(仅针对配置了 Git 存储库的项目显示)。 可以管理所有 Git 存储库或特定 Git 存储库的这些权限。
注意
通过更改顶级 Git 存储库条目来设置所有 Git 存储库 的权限。 单个存储库从顶级 Git 存储库 条目继承权限。 分支从存储库级别所做的分配继承权限。 默认情况下,项目级别读取器组仅具有读取权限。
若要管理 Git 存储库和分支权限,请参阅 “设置分支权限”。
权限(UI)
Namespace permission
说明
可以通过检查 替代分支策略并在完成 PR 时启用合并 来选择替代分支策略。
注意
在推送替换“免除策略强制”时,完成拉取请求和绕过策略时绕过策略。
可以推送到启用了分支策略的分支。 当具有此权限的用户进行替代分支策略的推送时,推送会自动绕过分支策略,且没有选择启用步骤或警告。
注意
在推送替换“免除策略强制”时,完成拉取请求和绕过策略时绕过策略。
在存储库级别,可以将更改推送到存储库中的现有分支,并完成拉取请求。 缺少此权限但具有 “创建分支 ”权限的用户可能会将更改推送到新分支。 不会替代分支策略中的限制。
在分支级别,可以将更改推送到分支并锁定分支。 锁定分支会阻止其他人的任何新提交,并阻止其他用户更改现有提交历史记录。
可以创建、评论和投票拉取请求。
可以在存储库中创建和发布分支。 缺少此权限不会限制用户在本地存储库中创建分支;它只是阻止它们将本地分支发布到服务器。
注意
在服务器上创建新分支时,默认情况下有“参与”、“编辑策略”、“强制推送”、“管理权限”和“删除其他人的锁定”权限。 这意味着可以通过分支向存储库添加新提交。
可以创建新存储库。 此权限仅适用于顶级 Git 存储库 对象的“安全”对话框。
可以将标记推送到存储库。
可以删除存储库。 在顶级 Git 存储库 级别,可以删除任何存储库。
可以编辑存储库及其分支的策略。
适用于 TFS 2018 Update 2。 可以绕过分支策略并执行以下操作:
- 替代分支策略并完成不符合分支策略的 PR
- 直接推送到设置了分支策略的分支
注意
在 Azure DevOps 中,它替换为以下两个权限:在推送时完成拉取请求时绕过策略和绕过策略。
可以强制更新分支、删除分支并修改分支的提交历史记录。 可以删除标记和笔记。
可以推送和编辑 Git 笔记。
可以设置存储库的权限。
可以克隆、提取、拉取和浏览存储库的内容。
可以删除 其他用户设置的 分支锁。 锁定分支会阻止其他人将任何新提交添加到分支,并阻止其他用户更改现有提交历史记录。
可以更改存储库的名称。 在顶级 Git 存储库 条目中设置时,可以更改任何存储库的名称。
TFVC (对象级别)
从 Web 门户 或使用 TFSSecurity 命令行工具管理每个 TFVC 分支的安全性。 项目管理员授予了其中大多数权限,这些权限仅针对配置为使用Team Foundation 版本控制作为源代码管理系统的项目显示。 在版本控制权限中,显式拒绝优先于管理员组权限。
这些权限仅在项目设置中显示为源代码管理系统Team Foundation 版本控制。
在版本控制权限中,显式 拒绝 优先于管理员组权限。
权限(UI)
Namespace permission
说明
管理标签
VersionControlItems, LabelOther
可以编辑或删除其他用户创建的标签。
签入
VersionControlItems, Checkin
可以签入项目并修改任何提交的更改集注释。 签入时提交挂起的更改。*
签入其他用户的更改
VersionControlItems, CheckinOther
可以签入其他用户所做的更改。 签入时提交挂起的更改。
在服务器工作区中笔下更改
VersionControlItems, PendChange
可以签出并对文件夹中的项目进行挂起的更改。 挂起的更改示例包括添加、编辑、重命名、删除、取消删除、分支和合并文件。 必须签入挂起的更改,因此用户还必须具有签入权限才能与团队共享其更改。*
标签
VersionControlItems, Label
可以标记项。
可以锁定和解锁文件夹或文件。 可以锁定或解锁跟踪的文件夹或文件,以拒绝或还原用户的权限。 权限包括签出要编辑到其他工作区的项,或签入来自不同工作区的项的挂起更改。 有关详细信息,请参阅 Lock 命令。
管理分支
VersionControlItems, ManageBranch
可以将该路径下的任何文件夹转换为分支,并在分支上执行以下操作:编辑其属性、重新指定父级并将其转换为文件夹。 只有具有此权限的用户才能对此分支进行分支,前提是他们也具有目标路径的合并权限。 用户无法从没有“管理分支”权限的分支创建分支。
管理权限
VersionControlItems, AdminProjectRights
可以在版本控制中管理其他用户对文件夹和文件的权限。*
可以将更改合并到此路径中。*
读取
VersionControlItems, Read
可以读取文件或文件夹的内容。 如果用户具有文件夹的读取权限,则用户可以看到该文件夹的内容及其中文件的属性,即使用户没有打开文件的权限也是如此。
修改其他用户的更改
VersionControlItems, ReviseOther
即使另一个用户签入文件,也可以编辑已签入文件的注释。*
撤消其他用户的更改
VersionControlItems, UndoOther
可以撤消其他用户进行的挂起更改。*
解锁其他用户的更改
VersionControlItems, UnlockOther
可以解锁其他用户锁定的文件。*
*
请考虑将此权限添加到负责监督或监视项目的任何手动添加的用户或组,即使其他用户签入文件,也可能必须更改签入文件的注释。
区域路径(对象级别)
区域路径权限管理对区域层次结构分支和这些区域中的工作项的访问权限。 从 Web 门户 或使用 TFSSecurity 命令行工具管理每个区域路径的安全性。 区域权限管理创建和管理区域路径的访问权限,以及创建和修改区域路径下定义的工作项。
项目管理员组的成员会自动被授予管理项目区域路径的权限。 请考虑向团队管理员或团队授予创建、编辑或删除区域节点的权限。
注意
多个团队可以参与项目。 在这种情况下,可以设置与某个区域关联的团队。 通过向区域分配权限来分配团队工作项的权限。 还有其他 团队设置 可以配置团队的敏捷规划工具。
权限(UI)
Namespace permission
说明
可以创建区域节点。 具有此权限和 “编辑此节点 ”权限的用户可以移动或重新排序任何子区域节点。
请考虑将此权限添加到可能需要删除、添加或重命名区域节点的任何手动添加的用户或组。
拥有此权限和 另一个节点的“编辑此节点 ”权限的用户可以删除区域节点,并从已删除的节点重新分类现有工作项。 如果已删除的节点具有子节点,则也会删除这些节点。
请考虑将此权限添加到可能需要删除、添加或重命名区域节点的任何手动添加的用户或组。
可以设置此节点的权限并重命名区域节点。
请考虑将此权限添加到可能需要删除、添加或重命名区域节点的任何手动添加的用户或组。
可以编辑此区域节点中的工作项。
请考虑将此权限添加到可能需要编辑区域节点下的工作项的任何手动添加的用户或组。
可以修改测试计划属性,例如生成和测试设置。
请考虑将此权限添加到可能需要在此区域节点下管理测试计划或测试套件的任何手动添加的用户或组。
可以创建和删除测试套件、添加和删除测试套件中的测试用例、更改与测试套件关联的测试配置,以及修改套件层次结构(移动测试套件)。
请考虑将此权限添加到可能需要在此区域节点下管理测试计划或测试套件的任何手动添加的用户或组。
可以查看区域路径节点的安全设置。
可以查看此区域节点中的工作项,但不能更改。
注意
如果将此节点中的“查看工作项”设置为“拒绝”,则用户无法在此区域节点中看到任何工作项。 拒绝会替代任何隐式允许,即使对于属于管理组成员的用户也是如此。
迭代路径 (对象级别)
迭代路径权限管理创建和管理迭代路径的访问权限,也称为冲刺。
从 Web 门户 或使用 TFSSecurity 命令行工具管理每个迭代路径的安全性。
项目管理员组的成员会自动为为项目定义的每次迭代授予这些权限。 请考虑向团队管理员、scrum 主数据库或团队授予创建、编辑或删除迭代节点的权限。
权限(UI)
Namespace permission
说明
可以创建迭代节点。 具有此权限和 “编辑此节点 ”权限的用户可以移动或重新排序任何子迭代节点。
请考虑将此权限添加到可能需要删除、添加或重命名迭代节点的任何手动添加的用户或组。
拥有此权限和 另一个节点的“编辑此节点 ”权限的用户可以删除迭代节点,并从已删除的节点重新分类现有工作项。 如果已删除的节点具有子节点,则也会删除这些节点。
请考虑将此权限添加到可能需要删除、添加或重命名迭代节点的任何手动添加的用户或组。
可以设置此节点的权限并重命名迭代节点。
请考虑将此权限添加到可能需要删除、添加或重命名迭代节点的任何手动添加的用户或组。
可以查看此节点的安全设置。
注意
项目集合有效用户、项目有效用户或任何具有视图集合级信息或查看项目级信息的用户或组的成员可以查看任何迭代节点的权限。
工作项查询和查询文件夹(对象级别)
通过 Web 门户管理查询和查询文件夹权限。 向项目管理员授予所有这些权限。 仅向参与者授予“读取”权限。
请考虑向需要为项目创建和共享工作项查询的用户或组授予 参与 权限。 有关详细信息,请参阅对查询设置权限。
注意
若要创建查询图表 ,需要基本访问权限。
权限(UI)
Namespace permission
说明
可以查看和修改查询文件夹或保存文件夹中的查询。
可以删除查询或查询文件夹及其内容。
可以管理此查询或查询文件夹的权限。
可以查看和使用文件夹中的查询或查询,但不能修改查询或查询文件夹内容。
传递计划 (对象级别)
通过 Web 门户管理计划权限。 通过“安全”对话框管理每个计划的权限。 向项目管理员授予创建、编辑和管理计划的所有权限。 向有效用户授予“视图”(只读)权限。
权限(UI)
Namespace permission
说明
可以删除所选计划。
可以编辑为所选计划定义的配置和设置。
可以管理所选计划的权限。
可以查看计划列表、打开和与计划交互,但无法修改计划配置或设置。
进程(对象级别)
可以管理通过 Web 门户创建的每个继承过程的权限。 通过“安全”对话框管理每个进程的权限。 项目集合管理员被授予创建、编辑和管理进程的所有权限。 向有效用户授予“视图”(只读)权限。
权限(UI)
Namespace permission
说明
可以设置或更改继承进程的权限。
可以删除继承的进程。
可以从系统进程创建继承的进程,也可以复制或修改继承的进程。
工作项标记
可以使用 az devops security 权限或 TFSSecurity 命令行工具管理标记权限。 参与者可以向工作项添加标记,并使用这些标记快速筛选积压工作、板或查询结果视图。
可以使用 TFSSecurity 命令行工具管理标记权限。 参与者可以向工作项添加标记,并使用这些标记快速筛选积压工作、板或查询结果视图。
权限(UI)
Namespace permission
说明
可以创建新标记并将其应用于工作项。 没有此权限的用户只能从项目的现有标记集中选择。
默认情况下,参与者将分配“ 创建标记定义 ”权限。 尽管“ 创建标记定义 ”权限显示在项目级别的安全设置中,但标记权限实际上是在用户界面中显示的项目级别的集合级权限。 若要在使用命令行工具时将标记权限限定为单个项目,必须提供项目的 GUID 作为命令语法的一部分。 否则,更改将应用于整个集合。 更改或设置这些权限时,请记住这一点。
可以从该项目的可用标记列表中删除标记。
此权限不会显示在 UI 中。 只能使用命令行工具对其进行设置。 也没有用于显式删除标记的 UI。 相反,当标记未使用三天时,系统会自动将其删除。
可以查看项目内工作项可用的标记列表。 没有此权限的用户没有可用的标记列表,可以在工作项窗体或查询编辑器中选择这些标记。
此权限不会显示在 UI 中。 只能使用命令行工具设置它。 “ 查看项目级信息 ”隐式允许用户查看现有标记。
可以使用 REST API 重命名标记。
此权限不会显示在 UI 中。 只能使用命令行工具设置它。
Release (对象级别)
管理 Web 门户中定义的每个版本的权限。 项目管理员和发布管理员被授予所有发布管理权限。 这些权限适用于项目级别的分层模型、特定发布管道或发布管道中的特定环境。 在此层次结构中,权限可以继承自父级或重写。
注意
定义第一个发布管道时,将创建项目级发布管理员组。
此外,还可以将审批者分配到发布管道中的特定步骤,以确保要部署的应用程序符合质量标准。
发布管理中定义了以下权限。 范围列说明是否可以在项目、发布管道或环境级别设置权限。
权限
描述
作用域
可以更改此处列出的任何其他权限。
项目、发布管道、环境
可以创建新的发布。
项目、发布管道
可以删除发布管道。
项目、发布管道
可以删除发布管道中的环境。
项目、发布管道、环境
可以删除管道的发布。
项目、发布管道
可以添加和编辑发布管道,包括配置变量、触发器、项目和保留策略以及发布管道环境中的配置。 若要对发布管道中的特定环境进行更改,用户还需要 “编辑发布环境 ”权限。
项目、发布管道
可以在发布管道中编辑环境。 若要保存对发布管道的更改,用户还需要编辑发布管道权限。 此权限还控制用户是否可以在特定发布实例的环境中编辑配置。 用户还需要管理发布权限才能保存修改后的发布。
项目、发布管道、环境
可以启动将发布直接部署到环境。 此权限仅适用于通过选择 发布中的部署 操作手动启动的直接部署。 如果环境的条件设置为任何类型的自动部署,则系统会自动启动部署,而无需检查创建发布的用户的权限。
项目、发布管道、环境
可以在发布管道中为环境添加或编辑审批者。 此权限还控制用户是否可以在特定发布实例的环境中编辑审批者。
项目、发布管道、环境
可以编辑发布配置,例如阶段、审批者和变量。 若要编辑发布实例中特定环境的配置,用户还需要 “编辑发布环境 ”权限。
项目、发布管道
可以查看发布管道。
项目、发布管道
可以查看属于发布管道的发布。
项目、发布管道
所有这些权限的默认值都设置为团队项目集合和项目组。 例如,默认情况下, 会向项目集合管理员、 项目管理员和 发布管理员 提供上述所有权限。 参与者将获得除管理发布权限之外的所有权限。 默认情况下,读取者被拒绝除查看发布管道和视图版本之外的所有权限。
任务组(生成和发布)权限
从 Web 门户的“生成和发布”中心管理任务组的权限。 项目、生成和发布管理员被授予所有权限。 任务组权限遵循分层模型。 可以在项目级别设置所有权限的默认值,并且可以在单个任务组定义上重写。
使用任务组将已在生成或发布定义中定义的任务序列封装到单个可重用任务中。 在“生成和发布”中心的“任务组”选项卡中定义和管理任务组。
权限 说明 管理任务组权限 可以向任务组安全性添加和删除用户或组。 删除任务组 可以删除任务组。 编辑任务组 可以创建、修改或删除任务组。
通知或警报
- 默认情况下,项目级别的 “参与者” 组的成员可以自行订阅警报。
- 项目集合管理员组的成员或具有“编辑”集合级别信息的用户可以为其他人或团队设置该集合中的警报。
- 项目管理员组的成员或具有“编辑项目级信息”的用户可以为其他人或团队设置该项目中的警报。
可以使用 TFSSecurity 管理警报权限。
TFSSecurity 操作
TFSSecurity 命名空间
描述
项目集合管理员和
项目收集服务帐户
CREATE_SOAP_SUBSCRIPTION
EventSubscription
可以创建基于 SOAP 的 Web 服务订阅。
✔️
GENERIC_READ
EventSubscription
可以查看为项目定义的订阅事件。
✔️
GENERIC_WRITE
EventSubscription
可以为其他用户或团队创建警报。
✔️
UNSUBSCRIBE
EventSubscription
可以取消订阅事件订阅。
✔️