管理对特定功能的访问

Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022 |Azure DevOps Server 2020

管理对 Azure DevOps 中特定功能的访问对于保持开放性和安全性的适当平衡至关重要。 无论你是要向一组用户授予或限制对某些功能的访问,了解内置安全组提供的标准权限之外的灵活性都是关键。

如果你不熟悉权限和组环境,请参阅权限、访问权限和安全组入门。 本文介绍权限状态的基础知识及其继承方式。

提示

Azure DevOps 中项目的结构在确定对象级别(如存储库和区域路径)的权限粒度方面起着关键作用。 此结构是允许你微调访问控制的基础,使你能够具体划定哪些区域可访问或受限制。 有关详细信息,请参阅 关于项目和缩放组织

先决条件

类别 要求
权限 项目集合管理员组的成员。 组织所有者自动是此组的成员。

使用安全组

为了获得最佳维护,我们建议使用默认安全组或建立自定义安全组来管理权限项目管理员项目集合管理员组的权限设置在设计上是固定的,无法更改。 但是,你可以灵活地修改所有其他组的权限。

单独管理一些用户的权限可能看起来可行,但自定义安全组提供了更有序的方法。 他们简化了对角色及其相关权限的监督,确保管理设计清晰易用,无法更改。 但你可以灵活地修改所有其他组的权限。

将任务委托给特定角色

作为管理员或组织所有者,将管理任务委派给监督特定领域的团队成员是一种战略方法。 配备预定义权限和角色分配的主要内置角色包括:

  • 读取者:对项目具有只读访问权限。
  • 参与者:可以通过添加或修改内容为项目做贡献。
  • 团队管理员:管理与团队相关的设置和权限。
  • 项目管理员:对项目拥有管理权限。
  • 项目集合管理员:监督整个项目集合并拥有最高级别的权限。

这些角色有助于分配职责并简化项目区域的管理。

有关更多信息,请参阅默认权限和访问权限以及更改项目集合级别权限

要将任务委托给组织中的其他成员,请考虑创建自定义安全组,然后授予权限,如下表所示。

角色

要执行的任务

要设置为“允许”的权限

开发主管 (Git)

管理分支策略

编辑策略、强制推送和管理权限
请参阅 设置分支权限

开发主管(Team Foundation 版本控制 (TFVC))

管理存储库和分支

管理标签、管理分支和管理权限
请参阅 设置 TFVC 存储库权限

软件架构师 (Git)

管理存储库

创建存储库、强制推送和管理权限
请参阅 设置 Git 存储库权限

团队管理员

为其团队添加区域路径
为其团队添加共享查询

创建子节点、删除此节点、编辑此节点 请参阅 创建子节点,修改区域路径下的工作项
参与、删除、管理权限(适用于查询文件夹),请参阅设置查询权限

参与者

在查询文件夹“参与仪表板”下添加共享查询

参与、删除(适用于查询文件夹),请参阅设置查询权限
查看、编辑和管理仪表板,请参阅设置仪表板权限

项目或产品经理

添加区域路径、迭代路径和共享查询
删除和还原工作项、将工作项移出此项目、永久删除工作项

编辑项目级信息,请参阅 更改项目级权限

进程模板管理器 (继承过程模型)

工作跟踪自定义

管理进程权限、创建新项目、创建流程、从帐户中删除字段、删除进程、删除项目、编辑流程
请参阅 更改项目集合级别权限

进程模板管理器 (托管 XML 进程模型)

工作跟踪自定义

编辑集合级别信息,请参阅 更改项目集合级别权限

项目管理 (本地 XML 过程模型)

工作跟踪自定义

编辑项目级信息,请参阅 更改项目级权限

权限管理器

管理项目、帐户或集合的权限

对于项目,请编辑项目级信息
对于帐户或集合,编辑实例级 (或集合级) 信息
要了解这些权限的范围,请参阅 权限查找指南。 要请求更改权限,请参阅 请求提高权限级别

除了向个人分配权限外,你还可以管理 Azure DevOps 中各种对象的权限。 这些对象包括:

这些链接提供了在 Azure DevOps 中为各个区域有效设置和管理权限的详细步骤和指南。

限制用户可见性

警告

使用此预览功能时,请考虑以下限制:

  • 本部分所述的有限可见性功能仅适用于通过 Web 门户的交互。 使用 REST API 或 azure devops CLI 命令,项目成员可以访问受限数据。
  • 受限组中的用户只能选择那些被明确添加到 Azure DevOps 的用户,而不能选择那些通过 Microsoft Entra 组成员身份获得访问权限的用户。
  • 作为 Microsoft Entra ID 中具有默认访问权限的受限组成员的来宾用户无法使用人员选取器搜索用户。

组织和项目

默认情况下,添加到组织的用户可以查看所有组织和项目信息和设置。 可以限制特定用户(如利益干系人、Microsoft Entra 用户或特定安全组的成员),并将 用户可见性和协作限制为组织的特定项目 预览功能。 启用该功能后,添加到 Project-Scoped 用户组的任何用户或组将通过以下方式受到限制:

  • 访问权限仅限于显式添加到的项目。
  • 显示用户、项目、计费详细信息、使用情况数据以及通过 组织设置 访问更多内容的视图受到限制。
  • 在人员选取器搜索选择中显示的人员或组集以及 @mention 人员的能力有限。

身份搜索和选择

使用 Microsoft Entra ID,可以使用人员选取器搜索组织中的任何用户或组,而不仅仅是当前项目中的用户或组。 人员选取器支持以下 Azure DevOps 函数:

  • 从工作跟踪标识字段中选择用户标识,例如 “已分配给”
  • 在工作项讨论或富文本字段中使用 @提及 选择用户或组、拉取请求讨论、提交评论或变更集或搁置批注
  • 在 wiki 页面中使用 @mention 来选择用户或组

如下图所示,在人员选取器框中开始输入用户或安全组名称,直到找到匹配项。

人员选取器屏幕截图。

添加到 Project-Scoped 用户组 的用户和组只能查看并选择他们从人员选取器连接到的项目中的用户和组。

打开预览功能并将用户添加到安全组

执行以下步骤以启用预览功能,并将用户和组添加到 Project-Scoped 用户组:

  1. 启用 “将用户可见性和协作限制为组织的特定项目预览功能 ”。

  2. 请按照将用户添加到项目或团队中的说明,将用户添加到您的项目。 添加到团队的用户将自动添加到项目和团队组。

  3. 打开组织设置>>”,然后选择“Project-Scoped 用户”。 选择“成员”选项卡。

  4. 将要限定范围的所有用户和组添加到其所添加到的项目。 有关详细信息,请参阅 在项目或集合级别设置权限

    当启用限制用户可见性和协作到特定项目的预览功能时,Project-Scoped用户组才会显示在>下。

Azure DevOps 中的所有安全组都被视为组织级实体,即使它们仅具有特定项目的权限。 这意味着安全组在组织级别进行管理。

在 Web 门户中,可能会根据用户的权限限制某些安全组的可见性。 但是,仍可以使用 Azure devops CLI 工具或 REST API 发现组织内所有安全组的名称。 有关详细信息,请参阅添加和管理安全组

限制对查看或修改对象的访问

Azure DevOps 旨在允许所有授权用户查看系统内所有已定义的对象。 但是,你可以通过将权限状态设置为“拒绝”来定制对资源的访问。 你可以为属于自定义安全组的成员或单个用户设置权限。 有关详细信息,请参阅 请求增加权限级别

要限制的区域

要设置为“拒绝”的权限

查看存储库或参与存储库

查看、参与

请参阅 设置 Git 存储库权限设置 TFVC 存储库权限

查看、创建或修改区域路径内的工作项

编辑此节点中的工作项,查看此节点中的工作项
请参阅 设置工作跟踪的权限和访问权限,修改区域路径下的工作项

查看或更新选择的生成和发布管道

编辑生成管道,查看生成管道
编辑发布管道,查看发布管道
可以在对象级别设置这些权限。 请参阅 设置生成和发布权限

编辑仪表板

查看仪表板
请参阅设置仪表板权限

限制修改工作项或选择字段

有关演示如何限制修改工作项或选择字段的示例,请参阅 示例规则方案

后续步骤