设置对象级权限

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

管理组织的安全性时,可以在组织/集合级别、项目级别和对象级别设置权限。 本文可帮助你转到用于在对象级别设置权限的安全对话框,因为用户界面在 Azure Devops 中有所不同。 要了解详细信息,请参阅权限、访问权限和安全组入门

以下项被视为对象:

  • 常规:仪表板、分析视图、Wiki 和通知
  • Azure Boards:区域路径、迭代路径、共享查询和查询文件夹等
  • Azure Pipelines:生成和发布管道、部署组、任务组等
  • Azure Repos:Git 存储库和分支、TFVC 文件夹或分支
  • Azure Artifacts:Artifacts 和源

工作项、标记、测试计划和其他测试项目受通常在项目级别或区域路径设置的安全设置的约束。

若要设置对象级权限,你必须是项目管理员组的成员,或者通过单个对象安全对话框具有显式权限。

注意

TFVC 仅支持每个项目的单个存储库。 可以为从存储库继承的存储库或存储库文件夹/分支设置权限。

打开对象节的权限对话框

若要访问对象的“权限”对话框,请执行以下步骤:

  1. 转到特定对象。
  2. 选择“更多...”。
  3. 从下拉菜单中选择 “安全性 ”。

显示如何获取对象的权限设置的屏幕截图。

注意

某些对象(如存储库和分析视图)至少需要基本访问级别。 有关详细信息,请参阅 访问级别

设置仪表板、Wiki 和分析视图的权限

可以在项目级别和组织/集合级别为某些常规项设置权限,例如创建、删除和重命名项目。 下表提供有关在仪表板、Wiki 和分析视图的对象级别设置权限的信息。

Object 默认组成员身份 如何访问安全性 继承?
仪表板 参与者 打开仪表板,选择区域路径,然后选择更多... >安全性 ✔️ (团队仪表板的项目设置)
Wiki 参与者 打开 Wiki,选择 “更多 ...” >Wiki 安全性。 有关详细信息,请参阅 “管理 Wiki 权限”。
分析视图 参与者和基本 打开分析视图,选择“ 更多 ...” >安全性

设置 Boards 对象的权限

下表提供有关在对象级别为区域和迭代路径、工作项等设置权限的信息。

Object 默认组成员身份 如何访问安全性 继承?
区域路径 项目管理员 打开项目设置>项目配置>区域>旁边的区域,更多... >安全性 ✔️ (父节点中的子节点)
迭代路径 项目管理员 打开项目设置>项目配置>迭代>旁边的迭代,更多... >安全性 ✔️ (父节点中的子节点)
工作项 参与者 打开项目设置>项目配置>区域区域>路径>的工作项。
工作项查询和查询文件夹 查询或文件夹或 项目管理员的创建者 打开工作项查询或查询文件夹>更多... >安全性
交付计划 交付计划的项目管理员 或创建者 打开交付计划旁边的板>交付计划>,更多... >安全性
处理 项目管理员 选择 更多 ... >安全性 ✔️ (从组织/收集设置)

注意

工作项标记 - 在项目级别设置权限, 创建标记定义。 工作项标记不限定为对象,它们通过工作项定义。

提示

让我们细分以下与审阅者相关的角色:

  • 已更改的审阅者:
    • 此角色适用于因为一组文件定义的策略而添加或删除的任何审阅者。
    • 例如,考虑对拉取请求(PR)进行更改File1.cs的拉取请求。
    • 如果策略指定某个人员 A 需要审阅其 File1.cs更改,则它们属于 PR 迭代的“已更改审阅者”角色。
  • 重置审阅者:
    • 此角色与“重置投票”策略相关。
    • 假设存储库配置了策略“重置对新推送的投票”。
    • 如果 B 人(需要审查 PR)并已批准,则由于策略,他们的投票将重置。
    • 因此,它们处于该迭代的“重置审阅者”角色。

设置 Repos 对象的权限

下表提供有关在存储库、Git 存储库、Git 分支和 TFVC 存储库的对象级别设置权限的信息。

Object 默认组成员身份 如何访问安全性 继承?
Repos 项目管理员 打开 项目设置存储库> 突出显示存储库 >安全性 ✔️
Git 存储库 项目管理员 打开 项目设置>存储库 和 Git 存储库。 ✔️ (来自 Git 存储库的项目设置)
Git 分支 项目管理员 打开 Repos>分支>,>分支更多... >分支安全性 ✔️
TFVC 存储库 项目管理员 打开 项目设置>存储库 和 TFVC 存储库。 ✔️

提示

  • 权限报告:
    • 项目集合管理员可以 下载存储库的权限报告。
    • 对于不是项目集合管理员组成员的用户,不会显示此功能的用户界面按钮。

设置 Pipelines 对象的权限

下表提供有关在生成管道、发布管道、部署组等对象级别设置权限的信息。

Object 默认组成员身份 如何访问安全性 继承?
管道 项目管理员 打开管道>管道>所有>管道... >>管理安全性 ✔️
生成管道 项目管理员 打开生成管道>更多... >管理安全性。 ✔️
生成管道运行 项目管理员 打开生成管道运行>更多... >管理安全性。 ✔️
发布管道 项目管理员 打开发布管道>更多... >管理安全性。 ✔️
任务组 (经典) 项目管理员 打开任务组>更多... >管理安全性。 ✔️
部署组 项目管理员 打开部署组>更多... >管理安全性。 ✔️
部署池 项目管理员 打开部署池>更多... >管理安全性。 ✔️
环境 项目管理员 打开环境>更多... >管理安全性。 ✔️ (从环境权限设置)
变量组 项目管理员 打开变量组>更多... >管理安全性。 ✔️ (从库权限设置)
保护文件 项目管理员 打开安全文件>更多... >管理安全性。 ✔️ (从库权限设置)

设置 Artifacts 对象的权限

下表提供有关在项目和源的对象级别设置权限的信息。

Object 默认组成员身份 如何访问安全性 继承?
项目 项目管理员 打开 Artifacts> Azure Artifacts 设置图标。 如果没有适当的权限,则看不到该图标。
项目管理员或源管理员 打开源>齿轮图标>“权限>+ 添加用户/组”。

设置测试计划对象的权限

  • 测试计划、测试套件、测试用例和其他测试对象与工作项类似,因为它们表示测试特定的工作项类型,如测试对象和术语中所述
  • 可以通过项目级别设置或区域路径对象级设置来管理测试级权限。 有关详细信息,请参阅 设置用于测试的权限和访问权限。

通过命令行设置对象权限

可以使用 az devops security 命令行工具,以便查看和管理各种对象和功能的权限。

下面是可通过命令行管理的更精细权限的一些示例:

  • 通知: 使用 EventSubscriptionEventSubscriber 命名空间。
  • 仪表板: 使用 DashboardPrivileges 命名空间读取或创建仪表板。
  • 服务终结点: 通过 ServiceEndpoints 命名空间使用、管理或查看服务终结点。
  • 传递计划: 通过 Plans 命名空间查看传递计划。

有关命名空间的详细信息,请参阅 安全命名空间和权限参考

设置对象通知的权限

虽然没有用于设置通知权限的用户界面,但某些权限可以通过命令行工具和 EventSubscription 命名空间进行设置。 有关详细信息,请参阅安全命名空间和权限参考

下面是有关管理通知的更多提示:

  • 通知级别:
    • 可以在不同级别设置通知:用户、团队、项目和组织/集合。
    • 遗憾的是,没有专门用于设置通知权限的用户界面。
    • 但是,某些权限可以通过命令行工具和 EventSubscription 命名空间进行配置。
  • 跳过发起程序选项:
    • 如果不想收到已启动事件的通知,请启用“跳过发起程序”选项。
    • 这会阻止你启动的操作的通知。
    • 有关详细信息,请参阅 从通知电子邮件中排除你启动的事件。
  • 组织范围的通知:
    • Azure DevOps 不直接支持组织范围的通知。
    • 作为替代方法,请考虑提供一个到达整个组织的电子邮件通讯组列表。
    • 在 Azure DevOps Services 中,可以使用所有用户登录时看到的命令创建横幅 az devops banner