适用于 Azure DevOps 的跨平台 CLI 身份验证

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

本文介绍跨平台 CLI(tfx-cli)和 Azure DevOps 的身份验证方法。

重要

建议使用 Microsoft Entra ID 身份验证 作为身份验证的主要方法。 仅当Microsoft Entra ID 身份验证不可用时,才应使用个人访问令牌(PAT)。 基本身份验证已弃用,不建议这样做。

先决条件

在开始之前,请确保具备:

  • Node.js (建议的最新 LTS 版本)

  • tfx-cli 全局安装。

    npm install -g tfx-cli
    

有关 tfx-cli 的详细信息,请参阅 GitHub 上的 Azure DevOps 的 Node CLI

身份验证方法

根据环境选择适当的身份验证方法:

方法 建议用于
Microsoft Entra ID Azure DevOps Services
PAT Azure DevOps Server,自动化脚本
基本身份验证 仅适用于 Azure DevOps Server

对于 Azure DevOps Services,请使用 Microsoft Entra ID 身份验证获得最佳安全性:

tfx login

出现提示时:

  1. 输入服务 URL,例如 https://dev.azure.com/Your_Organization
  2. 遵循基于浏览器的身份验证流。
  3. 在浏览器中完成登录过程。

有关 Microsoft Entra ID 身份验证的详细指南,请参阅 Microsoft Entra 基于身份验证

PAT 身份验证

当 Microsoft Entra ID 无法进行身份验证时(例如在使用 Azure DevOps Server 的情况下),可以使用 PAT。

创建和使用 PAT

  1. 创建 PAT,具有所需权限范围。

  2. 使用 PAT 登录:

    tfx login
    
  3. 出现提示时,请提供:

    • 服务 URL:Azure DevOps 实例 URL。
    • 个人访问令牌:你创建的 PAT。

示例 URL:

  • Azure DevOps Services: https://dev.azure.com/Your_Organization
  • Azure DevOps Server:https://yourserver/tfs/DefaultCollection
  • Visual Studio Marketplace: https://marketplace.visualstudio.com

示例会话:

~$ tfx login
Copyright Microsoft Corporation

> Service URL: https://dev.azure.com/Your_Organization
> Personal access token: **********************
Logged in successfully

基本身份验证(已弃用)

警告

基本身份验证已弃用,不建议这样做。 请改用Microsoft Entra ID。 基本身份验证:

  • 以纯文本形式发送凭据
  • 可能会导致 Git 命令行作出现问题
  • 构成安全风险

配置基本身份验证(仅限 Azure DevOps Server)

如果必须在 Azure DevOps Server 安装中使用基本身份验证:

  1. 启用 IIS 基本身份验证:

    • 打开服务器管理器。
    • 安装 IIS 的基本身份验证功能。
    • 在 IIS 管理器中,转到 Azure DevOps Server 网站。
    • 在“功能”视图中双击 “身份验证 ”。
    • 启用基本身份验证。
    • 保留域和领域设置为空。
  2. 使用基本身份验证登录:

    tfx login --auth-type basic
    
  3. 出现提示时,请提供:

    • 服务 URL:本地服务器 URL(例如 http://yourserver:8080/tfs/DefaultCollection)。
    • 用户名:使用 domain\username 格式(例如 fabrikam\john
    • 密码:域密码。

小窍门

考虑在使用基本身份验证时 配置 SSL 以确保安全通信。

后续步骤