Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022 |Azure DevOps Server 2020
由于 Azure DevOps 的广泛安全性和权限结构,你可能需要调查为什么用户无法访问他们期望的项目、服务或功能。 查找分步指导,以了解和解决用户在连接到项目或访问 Azure DevOps 服务或功能时可能遇到的问题。
Prerequisites
| Category | Requirements |
|---|---|
| Permissions | 若要在组织或集合级别管理权限或组:项目集合管理员安全组的成员。 如果创建了组织或集合,你会自动成为此组的成员。 |
| Recommendation | 使用本指南之前,建议熟悉以下内容: - 权限、访问和安全组入门 - 默认权限和访问快速参考。 |
Tip
创建 Azure DevOps 安全组时,请明确标记它以指示它是否旨在限制访问。
可以在以下级别设置权限:
- 对象级别
- 项目级别
- 组织或项目集合级别
- 安全角色
- 团队管理员角色
常见的访问和权限问题
查看项目成员无法访问项目、服务或功能的最常见原因:
| Issue | 故障排除操作 |
|---|---|
| 其访问级别不支持访问服务或功能。 | 若要确定是否是原因, 请确定用户的访问级别和订阅状态。 |
| 他们在安全组中的成员资格不支持对某个功能的访问,或者他们被明确拒绝了对某个功能的访问权限。 | 若要确定是否是原因, 请跟踪权限。 |
| 用户最近被授予了权限,但他们的客户端需要刷新才能识别这些更改。 | 让用户 刷新或重新评估其权限。 |
| 用户试图执行仅授予特定团队的团队管理员的功能,但是他们没有被授予该角色。 | 若要将他们添加到角色,请参阅 添加,删除团队管理员。 |
| 用户未启用预览功能。 | 让用户打开预览功能并确定特定功能的开/关状态。 有关详细信息,请参阅 管理预览功能。 |
| 项目成员已添加到有限范围安全组,如项目范围用户组。 | 若要确定是否是原因, 请查找用户的安全组成员身份。 |
不太常见的访问和权限问题
访问受限的不太常见的原因是发生以下事件之一:
| Issue | 故障排除操作 |
|---|---|
| 项目管理员禁用了服务。 在这种情况下,没有人有权访问禁用的服务。 | 若要确定是否禁用某个服务,请参阅 打开或关闭 Azure DevOps 服务。 |
| 项目集合管理员禁用了预览功能,该功能对组织中的所有项目成员禁用此功能。 | 请参阅 管理预览功能。 |
| 管理用户访问级别或项目成员身份的组规则限制访问。 | 请参阅 确定用户的访问权限级别和订阅状态。 |
| 为工作项类型的工作流定义了自定义规则。 | 请参阅 应用于限制选择操作的工作项类型的规则。 |
确定用户的访问级别和订阅状态
可以将用户或用户组分配到以下访问级别之一:
- Stakeholder
- 基本
- 基本 + Test Plans
- Visual Studio 订阅
- GitHub Enterprise
有关限制 Azure DevOps 中访问级别的详细信息,请参阅支持的访问级别。
若要使用 Azure DevOps 功能,必须将用户添加到具有适当权限的安全组中,并可以访问 Web 门户。 功能限制基于用户的访问级别和安全组。
用户可能由于以下原因而失去访问权限:
| 失去访问权限的原因 | 故障排除操作 |
|---|---|
| 用户的 Visual Studio 订阅已过期。 | 此用户可以 充当利益干系人,也可以向用户授予基本访问权限,直到用户续订其订阅。 用户登录后,Azure DevOps 会自动还原访问权限。 |
| GitHub Enterprise 许可证已过期或已删除。 | 请参阅 常见问题解答/GitHub Enterprise 部分。 |
| 用于计费的 Azure 订阅不再有效。 | 使用此订阅进行的所有购买都会受到影响,包括 Visual Studio 订阅。 若要解决此问题,请访问 Azure 帐户门户。 |
| 用于计费的 Azure 订阅已从组织中删除。 | 详细了解如何 链接组织 |
否则,未登录组织的时间最长的用户将首先失去访问权限。 如果你的组织具有不再需要访问权限的用户,请 将其从组织中删除。
跟踪权限
使用权限跟踪确定用户权限不允许他们访问特定功能的原因。 了解用户或管理员如何调查权限的继承。 若要从 Web 门户跟踪权限,请打开相应级别的权限或安全页。 有关详细信息,请参阅 请求增加权限级别。
如果用户遇到权限问题,并且你使用默认安全组或自定义组来获得权限,请使用跟踪来调查这些权限来自何处。 权限问题可能是由于延迟更改。 Microsoft Entra 组成员资格或权限更改可能需要 1 小时才能在整个 Azure DevOps 中传播。 如果用户遇到无法立即解决的问题,请等待一天,看看他们是否解决了。 有关用户和访问管理的详细信息,请参阅 在 Azure DevOps 中管理用户和访问权限。
如果用户遇到权限问题,并且你使用默认安全组或自定义组获取权限,则可以使用权限跟踪调查这些权限的源。 权限问题可能是因为用户没有必要的访问级别。
用户可以直接或通过组接收其有效权限。
完成以下步骤,以便管理员能够确切地了解这些权限来自何处,并根据需要对其进行调整。
选择项目设置>权限>用户,然后选择该用户。
现在,你应该有一个特定于用户的视图,该视图显示他们拥有的权限。
若要跟踪用户具有或没有列出的任何权限的原因,请选择相应权限旁边的信息图标。
生成的跟踪可让你了解他们如何继承列出的权限。 然后,可以通过调整提供给用户所属于组的权限来调整用户的权限。
选择项目设置>安全性,然后在筛选器框中输入用户名。
现在,你应该有一个特定于用户的视图,该视图显示他们拥有的权限。
跟踪用户为何具有或没有列出的任何权限。 将鼠标悬停在权限上,然后选择“ 原因”。
生成的跟踪可让你了解他们如何继承列出的权限。 然后,可以通过调整提供给用户所属于组的权限来调整用户的权限。
有关详细信息,请参阅管理对特定特性和函数的访问权限或请求增加权限级别。
刷新或重新评估权限
请参阅以下场景,其中可能需要刷新或重新评估权限。
Problem
用户将被添加到 Azure DevOps 或 Microsoft Entra 组。 此操作授予对组织或项目的继承访问权限。 但是,他们不能立即获得访问权限。 用户必须等待或注销,关闭浏览器,然后重新登录才能刷新其权限。
用户将添加到 Azure DevOps 组。 此操作授予对组织或项目的继承访问权限。 但是,他们不能立即获得访问权限。 用户必须等待或注销,关闭浏览器,然后重新登录才能刷新其权限。
Solution
转到
用户设置>权限>重新评估权限。 此函数会重新评估组成员身份和权限,然后任何最近的更改都会立即生效。
应用于限制选择操作的工作项类型的规则
在自定义流程之前,建议查看配置和自定义Azure Boards,其中提供了有关如何自定义Azure Boards以满足业务需求的指导。
有关适用于限制操作的工作项类型规则的详细信息,请参阅:
对用户隐藏组织设置
如果用户仅限于查看他们的项目或无法访问组织设置,以下信息可能会解释原因。 若要限制用户访问组织设置,可以启用将用户可见性和协作限制在特定项目上预览功能。 有关详细信息,包括重要的安全相关标注,请参阅管理组织,限制项目对用户的可见性等。
受限用户的示例包括利益干系人、Microsoft Entra 来宾用户或安全组的成员。 一旦启用,添加到项目范围内的用户组的任何用户或组都被限制访问组织设置页面(概述和项目除外)。 他们只能访问被添加到的项目。
受限用户的示例包括利益干系人或安全组的成员。 启用后,添加到“Project-Scoped用户组”的任何用户或组将受限于访问“组织设置”页面,“概述”和“项目”除外。 他们只能访问被添加到的项目。
有关详细信息,请参阅 管理组织、限制项目的用户可见性等。
使用 CLI 查看、添加和管理权限
可以使用 az devops security permission 命令在精细级别查看、添加和管理权限。 有关详细信息,请参阅 使用命令行工具管理权限。
对权限较小的规则进行分组
组规则类型按以下顺序排列:订阅者 > 基本 + 测试计划 > 基本 > 利益干系人。 用户在所有组规则(包括任何 Visual Studio (VS) 订阅)中始终获得可用的最高访问级别。
Note
- Azure DevOps 将组规则授予的资源应用于配置组的所有成员。 但是,访问权限和权限仅在用户首次登录到组织后生效。
- 定期查看“用户”页的“组规则”选项卡上列出的规则。 对 Microsoft Entra ID 组成员身份的更改将在下一个组规则重新评估期间显示,该重新评估发生在:
- 手动触发后按需求执行
- 自动在您修改组规则时
- 每 24 小时自动一次。 Azure DevOps 每小时更新Microsoft Entra 组成员身份,但Microsoft Entra ID 可能需要长达 24 小时才能更新 动态组成员身份。
- 许可的组规则当前不适用于服务主体和托管标识。 若要将访问级别分配给服务主体或托管标识,请直接分配它,而不是通过组成员身份进行分配。 有关详细信息,请参阅在 Azure DevOps 中使用服务主体和托管标识。
请参阅以下示例,其中显示了订阅者检测如何考虑组规则。
示例 1:组规则为我提供更多访问权限
如果我有 VS Pro 订阅,并且我位于一个组规则中,该规则提供基本 + Test Plans - 会发生什么情况?
预期:我得到基本 + Test Plans,因为组规则提供给我的内容大于我的订阅。 组规则分配始终提供更大的访问权限,而不是限制访问权限。
示例 2:组规则为我提供相同的访问权限
我有一个 Visual Studio Test Pro 订阅,并且我位于一个组规则中,该规则提供基本 + Test Plans - 会发生什么情况?
预期:我被检测为 Visual Studio Test Pro 订阅者,因为访问权限与组规则相同。 我已经支付了 Visual Studio Test Pro 的费用,因此我不想再次付费。
使用 GitHub
请参阅以下故障排除信息,了解如何使用 GitHub 在 Azure DevOps 中部署代码。
Problem
尽管将团队的其他成员添加为成员,但你无法将他们加入组织和项目。 他们会收到电子邮件;但在登录时,他们会收到 401 错误。
Solution
你可能使用不正确的标识登录到 Azure DevOps。 执行以下步骤:
关闭所有浏览器,包括未运行 Azure DevOps 的浏览器。
打开专用或隐身浏览会话。
请转到以下 URL:https://aka.ms/vssignout。
将显示一条消息“正在注销”。注销后,你将被重定向到
dev.azure.microsoft.com。再次登录到 Azure DevOps,并选择其他标识。
使用 AI 排查权限和访问问题
以下示例提示 Copilot Chat 可帮助排查 Azure DevOps 权限、访问级别和安全组问题。 将此提示复制并粘贴到 Copilot Chat 中,并将占位符替换为你的特定信息。
为获得最佳 AI 帮助,包括特定详细信息,例如用户的访问权限级别、他们所属的安全组、他们无法访问的特定功能以及他们收到的任何错误消息。
I'm having this Azure DevOps permissions/access issue: [PASTE YOUR ERROR MESSAGE OR DESCRIBE THE PROBLEM]
User and permission details:
- User's access level: [Stakeholder/Basic/Basic + Test Plans/Visual Studio subscription]
- Security groups: [LIST GROUPS like Project Contributors, Project Readers, etc.]
- Feature they can't access: [SPECIFIC FEATURE like work items, repos, pipelines, etc.]
- Project name: [PROJECT NAME if applicable]
- Organization name: [ORGANIZATION NAME if applicable]
- Error message: [EXACT ERROR MESSAGE if any]
Can you help me troubleshoot this issue? Please provide step-by-step instructions to:
1. Identify the root cause of the permissions problem
2. Fix the access level, security group membership, or permission settings
3. Verify the user can successfully access the feature
Context: This is for troubleshooting user access and permissions in Azure DevOps. The issue might be related to access levels, security group memberships, project-level permissions, organization settings, or feature-specific restrictions.
Copilot 由 AI 提供支持,因此可能会带来意外和错误。 有关详细信息,请参阅 Copilot 常规使用常见问题解答。