【问题标题】:Azure DevOps REST API - Headless AuthenticationAzure DevOps REST API - 无头身份验证
【发布时间】:2019-11-27 19:56:43
【问题描述】:

我们将构建几个非交互式脚本和控制台应用程序,它们将调用Azure DevOps REST API 来执行各种任务。这些应用程序和脚本将通过作业调度程序执行。哪种身份验证方案适合这种情况?看起来 PAT 会起作用,但是,我真的不希望这些作业与特定的用户身份相关联,而且 Azure DevOps 不支持服务原则。建立“假”Azure Active Directory 用户并将该用户用作 PAT 所有者的正确方法是否正确?还有什么我在这里想念的吗?

看看Authentication Guide,似乎所有引用的机制都产生了某种形式的交互性。

此外,我们在 Azure DevOps 组织中实施了条件访问策略。其中一项政策是对 MFA 的要求。如果我们使用 PAT,它将如何工作?根据这个link,听起来访问可能被阻止了。

【问题讨论】:

  • 是的,拥有 AAD“服务帐户”并对该帐户使用 PAT 或 OAuth 是很常见的。 PAT 不受 MFA 约束。

标签: azure azure-devops


【解决方案1】:

个人访问令牌 (PAT) 用于个人身份验证。它们是可用于向 Azure DevOps 进行身份验证的备用密码。

Really don't want the jobs to be tied to a specific user identity and Azure DevOps does not support service principles.

是的,正如您所指出的。它不支持在 Azure DevOps Service 中使用服务帐户创建 PAT 令牌。

使用公共虚假 MFA 帐户登录 Azure DevOps 服务是可以的。然后使用该帐户生成 PAT 令牌。当请求 API 时,其他人只需使用生成的 PAT 令牌进行身份验证。

启用 CAP 后,文档一目了然。对于 Web 流,CAP 得到 100% 的认可。这意味着在大多数情况下,Rest API 不会受到影响。

限制是第三方客户端流量。有些实际上是由于第三方的配置。在 Azure DevOps 中我们无能为力。您必须遵循该链接中提到的政策。如果用户不符合IP范围,它将被阻止。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-28
    • 2020-04-28
    • 1970-01-01
    • 1970-01-01
    • 2019-07-09
    • 1970-01-01
    相关资源
    最近更新 更多