查看权限和有效访问

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

本文介绍如何在组织、项目和存储库(或其他对象)级别查看权限并检查用户和组的有效访问权限。 其中介绍了权限状态(允许、拒绝、继承)、继承和组成员身份如何影响有效权限,以及排查常见访问问题的步骤。

学习内容:

  • 在 Web 门户中查看权限分配的位置。
  • 如何检查用户或组的有效权限。
  • 权限没有预期效果的常见原因(继承、拒绝、利益干系人访问、Microsoft Entra ID 组映射)。

快速步骤:

  1. 打开 组织设置项目设置>安全性 (或 权限)。
  2. 选择对象(项目、存储库或组),并查看分配的权限。
  3. 使用用户/组或有效权限 UI 检查有效访问。
  4. 如果需要,请检查组成员身份并拒绝替代允许的规则。

注意

Azure DevOps Services(云)和本地 Azure DevOps Server 的权限管理功能和 UI 略有不同。 以下指南指出了 UI 差异(如果适用)。

权限模型基础知识

Azure DevOps 中的权限使用三种分配状态:

  • 允许 - 显式授予权限。
  • 拒绝 - 显式拒绝权限并替代 Allow。
  • 继承 — 此级别没有显式分配;权限继承自父范围或组成员身份。

通过评估各种分配来计算有效权限。

  • 对象本身(项目、存储库、区域路径等)
  • 父范围(集合、组织、项目)
  • 组成员身份(内置组、自定义组、Microsoft Entra ID 组)
  • 显式拒绝分配(优先于其他分配)

“有效”权限的含义:

有效权限是 Azure DevOps 评估每个相关权限分配后,用户或组实际对对象拥有的净访问权限。 系统将跨对象、父范围和所有组成员身份的显式允许和拒绝分配进行合并;显式拒绝条目优先。 实际上,“有效权限”显示最终结果(某人实际可以执行的操作),而不是每个导致该结果的单独分配。

有关权限解析和继承的深入探讨,请参阅 权限、权限状态相关说明

查看权限的位置

可以在 Web 门户中的多个位置查看权限,具体取决于对象:

  • 组织或集合级别: 组织设置>安全性 (或 O组织设置>权限)。
  • 项目级别: 项目设置>权限 (或旧 UI 中的 项目设置>安全性 )。
  • 存储库、管道、开发板或其他资源:打开资源,然后 打开“设置 ”或 “安全性 ”(例如, 存储库> 选择 存储库>安全性)。

安全/权限 ”页显示分配的组和用户,以及可以按用户或组筛选的权限矩阵。

检查有效权限(用户界面)

  1. 登录到 https://dev.azure.com/{Your_Organization}

  2. 转到要检查的对象(组织、项目、存储库等)。

  3. 选择 “项目设置 ”或 “组织设置>权限 ”(或 “安全性”)。

  4. 选择 “用户 ”或 “组”,选择要检查的标识,然后查看权限网格。

  5. 使用提供的任何“有效权限”链接或按钮(如果存在)计算所选对象上所选标识的最终有效权限。

    打开项目的安全或权限。

  1. 登录到您的服务器或资源库门户。
  2. 访问项目设置>安全性(或访问组织/集合设置 > 安全性)。
  3. 选择组或用户并检查权限矩阵。 使用对话框中的筛选器和有效权限控件。

检查有效权限(命令行/REST)

如果需要自动化,请使用 REST API 读取 ACL 或 Azure DevOps CLI/PowerShell 模块来编写权限检查脚本。 查找资源的安全命名空间,并评估 ACL 权限位以计算有效访问。

常见情况及故障排除

  • 拒绝优先于允许:在任何范围内,显式拒绝将获胜。 检查在较高或较低范围以及跨组成员资格中是否有拒绝。
  • 在多个组中成员身份时:有效权限结合组分配;任意组中的拒绝权限都将生效。
  • 从父范围继承:如果权限在当前级别被标记为“继承”,请检查父范围中是否有分配。
  • Microsoft Entra ID 组映射:如果通过 Microsoft Entra 组添加用户,请确保将正确的组同步到 Azure DevOps,并且组的成员身份是预期的。
  • 利益相关者访问权限限制:无论权限分配如何,具有利益相关者访问权限的用户的功能均受到限制——如果用户无法执行操作,请验证访问级别。
  • 动态或临时访问:某些策略(如条件访问)或外部预配可能会影响登录/访问 —如果登录失败,请检查Microsoft Entra 条件访问策略。

快速故障排除清单

  1. 确认用于登录的用户帐户(与 Azure DevOps 中显示的标识匹配)。
  2. 检查用户的直接和间接组成员身份。
  3. 在对象和父级范围搜索任意显式拒绝权限分配。
  4. 检查用户的访问级别(利益干系人与基本)和许可限制。
  5. 如果使用 Microsoft Entra 组,请确认组同步和成员身份。
  6. 如果需要,请使用 REST/CLI 列出资源的 ACL,并以编程方式评估。

审核和历史记录

如果组织启用了审核,请使用审核日志(组织设置 > 审核日志)跟踪对安全组、权限分配和成员身份更改的更改。 审核事件可帮助跟踪权限或成员身份更改的时间。

后续步骤