Azure DevOps Services |Azure DevOps Server |Azure DevOps Server 2022 |Azure DevOps Server 2020
如果在连接到 Azure DevOps 中的项目时遇到问题,本文提供了分步故障排除指南,以解决常见的连接和身份验证问题。
先决条件
| 类别 | 要求 |
|---|---|
| 项目访问权限 | 项目成员. |
快速解决步骤
如果遇到连接问题,请先尝试以下快速步骤:
- 完全清除浏览器数据:使用 https://aka.ms/VsSignout退出登录,然后清除所有 cookie(Ctrl+Shift+Delete)。
- 使用专用浏览器会话:打开 incognito 或 InPrivate 窗口并测试访问权限。
- 验证组织 URL:确保使用正确的 URL 格式:
https://dev.azure.com/{organizationName}。 - 检查帐户类型:验证是否使用正确的帐户类型登录(Microsoft Entra ID 与个人Microsoft帐户)。
如果这些步骤无法解决问题,请继续阅读以下详细的故障排除部分。
排查身份验证错误
Azure DevOps 支持 Microsoft Entra 帐户和Microsoft个人帐户进行身份验证。 连接到 Microsoft Entra ID 的组织需要Microsoft Entra 身份验证(成员或 B2B 来宾帐户)。
401 - 未授权错误
401 未授权错误是最常见的登录问题。 当标识缺少访问组织或特定资源的权限时,会出现此错误。 常见原因包括:
- 标识未添加到组织中:你的帐户未在组织的用户目录中列出。
- 别名与 UPN 混淆:尝试使用别名而不是用户主体名称(UPN)登录。
- 项目权限不足:缺少对目标项目或资源的读取权限。
- 挂起的 B2B 来宾邀请:Microsoft不接受 Entra B2B 来宾邀请。
- 帐户类型不匹配:当多个帐户共享同一电子邮件地址时,尝试使用错误的帐户类型登录。
不在组织中的身份
解决步骤:
- 请联系 Azure DevOps 管理员,验证标识是否显示在组织的 “用户 ”列表中。
- 对于 Microsoft Entra 帐户:确保“用户”列表中的标识与 Microsoft Entra 租户中的 UPN 完全匹配。
- 对于 个人Microsoft帐户:确认标识与主要帐户电子邮件匹配。
- 对于 B2B 来宾:验证来宾租户中的 UPN 是否与主租户 UPN 匹配,包括确切的大小写。
注释
在 Microsoft Entra ID 中,B2B 用户会以 {username}_{homeDomain}#EXT#@{guestDomain}UPN 的格式出现。 该 {username}_{homeDomain} 部分必须与主租户 UPN 匹配,并将该 _ 部分替换为 @。
UPN 与别名登录问题
Azure DevOps 不支持登录别名。 必须为个人Microsoft帐户使用Microsoft Entra 帐户或主帐户的确切用户主体名称(UPN)。
例: 如果 UPN 是 john.doe@contoso.com 但你有别名 jdoe@contoso.com,则必须使用 john.doe@contoso.com登录。
解决方案:要求管理员将你的实际 UPN(john.doe@contoso.com)添加到组织中,并始终使用此 UPN 登录。
权限不足
你可能具有组织访问权限,但缺少特定项目或资源的权限。
症状:
- 可以访问
https://dev.azure.com/{orgName},但不能访问https://dev.azure.com/{orgName}/{projectName}。 - 访问特定工作项、存储库或管道时收到 401 错误。
分辨率: 请联系 Azure DevOps 管理员,验证你对目标资源至少具有 读取 权限。
B2B 来宾邀请问题
在访问 Azure DevOps 之前,B2B 来宾必须接受其Microsoft Entra 租户邀请。
来宾的解决方法步骤:
- 检查电子邮件中是否有Microsoft Entra 邀请。
- 选择邀请链接并完成接受过程。
- 尝试再次登录到 Azure DevOps。
租户管理员的解决方法步骤:
- 转到 https://portal.azure.com 。
- 选择 Microsoft Entra ID>用户。
- 查找来宾用户并查看其 “概述 ”页。
- 如果 B2B 邀请状态显示“待接受”,请使用 重新发送邀请。
帐户类型冲突
未连接到 Microsoft Entra ID 的组织支持个人Microsoft帐户和 Microsoft Entra 帐户。 您使用的第一个帐户类型会永久确定您的身份。
分辨率: 如果需要更改帐户类型:
- 让管理员删除并重新添加到组织。
- 出现提示时,请使用首选帐户类型登录。
小窍门
避免使用匹配的个人帐户和Microsoft Entra 帐户。 请考虑 重命名个人帐户 ,以防止混淆。
解决连接故障问题
与浏览器相关的问题
完成注销和清理:
- 完全注销:转到 https://aka.ms/VsSignout。
- 清除所有浏览器数据:选择 Ctrl+Shift+Delete 并删除:
- Cookie 和网站数据。
- 缓存的图像和文件。
- 自动填充表单数据。
- 清除Microsoft Edge 数据:Visual Studio IDE 使用 Microsoft Edge Cookie,因此即使使用不同的浏览器,也清除Microsoft Edge 数据。
- 关闭所有应用程序:退出所有浏览器和 Visual Studio IDE 实例。
- 使用专用浏览进行测试:使用 incognito 或 InPrivate 窗口测试访问权限。
Visual Studio IDE 连接问题
如果在 Visual Studio 中遇到连接问题:
- 删除现有连接:在团队资源管理器中,删除所有 Azure DevOps 连接。
- 清除凭据缓存:从 Windows 凭据管理器中删除缓存的凭据。
- 重启 Visual Studio:完全关闭并重新打开 Visual Studio。
- 已读连接:使用当前凭据再次添加 Azure DevOps 连接。
网络和代理问题
企业网络故障排除:
- 从不同的网络进行测试:尝试从个人设备/网络访问 Azure DevOps。
- 检查代理设置:验证公司代理允许
*.visualstudio.com和*.azure.com域。 - 防火墙配置:确保防火墙允许将 HTTPS 流量发送到 Azure DevOps 终结点。
- VPN 干扰:如果适用,请禁用 VPN 进行测试。
高级故障排除
现代身份验证迁移
如果使用旧式身份验证方法,请考虑迁移到新式替代方法:
- 个人访问令牌(PAT):迁移到 Microsoft Entra OAuth 应用程序。
- 用户名/密码:切换到 服务主体或托管标识。
- 旧令牌:实现 Microsoft Entra 身份验证 以提高安全性。
服务连接身份验证
对于遇到身份验证问题的 Azure DevOps 服务连接:
- 刷新服务主体机密:更新过期的客户端机密或证书。
- 验证权限:确保服务主体具有适当的 Azure DevOps 权限。
- 检查令牌过期:验证身份验证令牌是否未过期。
- 查看审核日志:检查Microsoft Entra 审核日志中是否存在身份验证失败。
使用 AI 排查连接问题
以下 Copilot Chat 的示例提示可帮助 Copilot 诊断连接和身份验证错误。 将此提示复制并粘贴到 Copilot Chat 中,将占位符替换为特定的错误消息或问题说明。
I'm getting this Azure DevOps connection/authentication error: [PASTE YOUR ERROR MESSAGE HERE]
Can you help me troubleshoot this issue? Please provide step-by-step instructions to:
1. Identify the root cause of the connection problem
2. Fix the authentication or access issue
3. Verify I can successfully connect to my Azure DevOps project
Context: This is for connecting to an Azure DevOps organization and project. I've already tried basic troubleshooting like clearing browser cache and using a private browser session.
Copilot 由 AI 提供支持,因此可能会带来意外和错误。 有关详细信息,请参阅 Copilot 常规使用常见问题解答。
获取其他帮助
完成所有故障排除步骤后,仍无法连接:
- 收集诊断信息:创建失败登录尝试的 浏览器跟踪 。
-
请联系Microsoft支持: 创建支持请求 并包括:
- 问题的详细说明。
- 已尝试的步骤。
- 浏览器跟踪文件。
- 错误消息的屏幕截图。
- 社区支持:在 Azure DevOps 开发人员社区上搜索或发布问题。