管理服务的授权以访问 Azure DevOps

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

将服务与 Azure DevOps 集成后,可以授予服务对 Azure DevOps 资源(例如工作项、源代码和生成结果)的访问权限。

Azure DevOps 使用基于 OpenID Connect(OIDC)的身份验证向服务授予对资源的访问权限。

  • 授权与凭据绑定,因此服务可以使用授权访问 Azure DevOps 中的资源。
  • 使用Microsoft帐户或工作帐户来授权服务。
  • 授权的服务无权访问 Azure DevOps 凭据。

先决条件

类别 要求
项目访问权限 项目成员.
访问级别 至少具有基本访问权限。
权限 项目集合管理员组的成员。 组织所有者是此组的自动成员。

身份验证框架

在 Azure DevOps REST API 的基础上生成应用程序时,可以通过 在 Microsoft Entra ID 中注册应用程序来使用基于 OIDC 的身份验证。 有关详细信息,请参阅 什么是Microsoft标识平台?

一些较旧的应用使用 OAuth 2.0 的实现来获取 Azure DevOps 资源的访问令牌。 不再支持这些 Azure DevOps OAuth 应用程序的注册,因为 Azure DevOps OAuth 定于 2026 年弃用。 有关详细信息,请参阅 2025 年 4 月开始没有新的 Azure DevOps OAuth 应用

授权一个服务

典型的授权流可能包括以下步骤:

  1. 您使用一个需要 Azure DevOps 资源的服务,因此该服务请求授权。

  2. 若要启动服务的身份验证过程,已注册的应用将打开一个Microsoft Entra ID 网站,提示你选择帐户。

  3. 选择帐户后,将显示授权审批页。

    请求Microsoft权限对话框的屏幕截图。应用名称、请求的权限列表和“取消”和“接受”按钮可见。

  4. 您审核请求并批准授权。

  5. 授权服务使用该授权访问 Azure DevOps 组织中的资源。

若要确保授权请求合法,请采取以下预防措施:

  • 请注意浏览器中与 HTTPS 相关的任何安全警告。
  • 不要直接向其他服务提供凭据。 仅通过 Azure DevOps 中的授权审批页输入凭据。

管理授权

在 Microsoft Entra ID 中注册应用时,应用可以从Microsoft标识平台请求令牌。 然后,经过身份验证的服务可以使用令牌访问特定的受保护资源。 每个令牌的生存期最多为 90 分钟。 令牌过期后,将撤销服务对资源的访问权限。 有关详细信息,请参阅 令牌生存期

相比之下,向 Azure DevOps OAuth 注册的应用可以授权服务访问 Azure DevOps 资源更长的时间。 有关当前有权访问帐户的服务列表,请转到 https://app.vssps.visualstudio.com/Profile/View 并选择“ 管理授权”。

“授权”对话框的屏幕截图。授予 Zapier 服务的权限可见,并且“撤销”链接可用。

可以使用此页面来撤销授权,以便服务无法代表你访问你的帐户。