在 Azure DevOps 上设置条件访问策略

Microsoft Entra ID 允许租户管理员控制哪些用户可以使用 条件访问策略访问Microsoft资源。 管理员设置用户必须满足的特定条件才能获得访问权限,例如:

  • 特定Microsoft Entra 安全组的成员身份
  • 位置或网络要求
  • 使用特定操作系统
  • 使用受管理和启用的设备

根据这些条件,可以授予访问权限、要求进行更多检查(如多重身份验证)或完全阻止访问。 在 Microsoft Entra 文档中了解有关 条件访问策略 的详细信息。

为 Azure DevOps 创建条件访问策略

类别 要求
权限 必须至少是 条件访问管理员 才能在租户中设置条件访问策略。 在 “创建条件访问策略”条目文档中了解详细信息。

警告

外部身份验证方法 当前与身份验证强度不兼容。 应使用 需要多重身份验证 授权控制。 此示例使用 内置的多重身份验证强度,某些组织可能会选择使用更强大的身份验证强度,例如无密码身份验证或防钓鱼。

  1. 至少以条件访问管理员的身份登录到Microsoft Entra 管理中心
  2. 请导航到 Entra ID>条件访问>策略
  3. 选择“新策略”
  4. 为策略指定名称。 建议组织为其策略的名称创建有意义的标准。
  5. 分配下,选择用户或工作负载标识
    1. 在“包括”下,选择“所有用户”
    2. 在“排除”下:
      • 选择 “用户和组”
        • 选择组织的紧急访问或不受限帐户。
  6. 目标资源资源>(前云应用)>选择资源,选择 “Azure DevOps”“Microsoft Visual Studio Team Services” 资源(资源 ID:499b84ac-1321-427f-aa17-267ca6975798)作为目标资源列表。
  7. “访问控制>授予”下,选择“ 授予访问权限”,“ 要求身份验证强度”,选择 “多重身份验证”,然后选择“ 选择”。
  8. 确认设置,然后将“启用策略”设置为“只限报告”
  9. 选择创建以启用您的策略。

使用 策略影响或仅报告模式确认设置后,将 “启用策略 ”切换从 “仅报告 ”移动到 打开”。

显示如何在 Microsoft Entra 门户中的新条件访问策略上将 Azure DevOps 添加为目标资源的屏幕截图。

Web 上的条件访问行为

登录到 Microsoft Entra ID 支持的组织的 Web 门户时,Microsoft Entra ID 会验证租户管理员设置的所有条件访问策略。 将 Web 身份验证堆栈现代化以使用 Microsoft Entra 令牌后,Azure DevOps 现在对所有交互式(Web)流强制实施条件访问策略验证。

  • 在依赖于 Microsoft Entra 的 REST API 调用上使用个人访问令牌 (PAT) 时,满足登录策略。
  • 从条件访问策略中删除 Azure DevOps 作为资源,这会阻止条件访问策略应用。
  • 仅在 Web 流上强制实施 MFA 策略;如果用户不符合条件访问策略,则阻止对非交互式流的访问。

基于 IP 的条件

类别 要求
权限 必须是 项目集合管理员 才能启用此策略。

如果在“组织设置”页上启用了对非交互式流组织的 IP 条件访问策略验证,Azure DevOps 会检查非交互式流上的 IP 隔离策略,例如使用 PAT 进行 REST API 调用时。

Azure DevOps 支持 IPv4 和 IPv6 地址的 IP 隔离条件访问策略。 如果条件访问策略阻止 IPv6 地址,请让租户管理员更新策略以允许 IPv6 地址。 请考虑在所有条件访问策略条件中加入默认 IPv6 地址对应的 IPv4 映射地址。

如果用户通过与用于访问 Azure DevOps 资源不同的 IP 地址访问 Microsoft Entra 登录页(这可能由于 VPN 隧道的使用),请检查您的 VPN 配置或网络设置。 确保租户管理员在条件访问策略中包含所有相关 IP 地址。

Azure 资源管理器受众

注释

这些更改将从 2025 年 9 月 2 日起生效。 有关详细信息,请参阅我们的博客文章

登录或刷新 Microsoft Entra 访问令牌时,Azure DevOps 不依赖于 Azure 资源管理器(ARM)资源(https://management.azure.com)。 以前,Azure DevOps 在登录和令牌刷新流程中需要 ARM 受众。 此要求意味着管理员必须允许所有 Azure DevOps 用户绕过 ARM 条件访问策略以确保访问。

如果以前为 Azure 资源管理器或关联的 Windows Azure 服务管理 API 应用程序设置了条件访问策略,则此策略不再涵盖 Azure DevOps 登录。为 Azure DevOps 的持续覆盖范围设置新的 Azure DevOps 条件访问策略。

以下组仍需要继续访问 ARM。 可能需要考虑将它们添加为任何 ARM 或 Windows Azure 服务管理 API 条件访问策略的排除项。

  • 计费管理员 需要访问 ARM 才能设置计费和访问订阅。
  • 服务连接创建者 需要访问 ARM 才能分配 ARM 角色,并更新托管服务标识(MSIs)。

连续访问评估

Azure DevOps 现在 通过 Microsoft Entra ID 支持持续访问评估(CAE),从而几乎实时地强制实施条件访问策略。 使用 CAE 时,可以在发生关键事件(例如用户禁用、密码更改或位置/IP 班次)时立即撤销访问令牌,而无需等待令牌过期。 这样可以增强安全性、减少作开销,并提高标识服务中断期间的复原能力。

建议使用我们最新 .NET 客户端库版本(20.259.0-preview 及更高版本)的应用开发人员,通过 妥善处理声明质询,为支持已启用 CAE 的令牌提供支持。 将在2025年下半年对Python 和 Go 客户端库推出 CAE 支持。