共用方式為


使用 Microsoft Entra 向 Azure DevOps 進行驗證

Microsoft Entra ID 是個別的 Microsoft 產品,擁有自己的平臺。 身為領先的身分識別和存取管理(IAM)提供者,Microsoft Entra ID 著重於需要管理小組成員並保護公司資源的公司需求。 我們提供將 Azure DevOps 組織連線至 Microsoft Entra ID 租使用者的能力,而且公司 這樣做可能會 許多好處。

連接之後,Microsoft Entra ID 上層的 Microsoft 身分識別應用程式平台提供幾個優點,對應用程式開發人員和組織系統管理員具有吸引力。 在 Microsoft Entra 上,您可以註冊應用程式來存取 Azure 租使用者,並定義 Azure 資源所需的許可權,其中 Azure DevOps 會被視為其中一個。 Azure DevOps 存在於 Azure 租使用者的建構之外。

Microsoft Entra 應用程式和 Azure DevOps 應用程式是個別的實體,彼此都不知道。 驗證應用程式的方法與 Microsoft Entra OAuth 與 Azure DevOps OAuth 不同。 首先,Microsoft Entra ID OAuth 應用程式 會發行 Microsoft Entra 令牌,而不是 Azure DevOps 存取令牌。 這些令牌在到期前有標準一小時的持續時間。

在 Microsoft Entra 上開發 Azure DevOps 應用程式

建議您徹底閱讀 Microsoft Entra 檔,以瞭解透過 Microsoft Entra 取得的新功能,以及您在安裝期間 的不同期望。

我們有指引可支援您的應用程式開發:

以 Microsoft Entra 令牌取代 PAT

個人存取令牌 (PAT) 仍然是 Azure DevOps 使用者最常用驗證形式之一,以便輕鬆建立和使用。 不過,不良的 PAT 管理和記憶體可能會導致未經授權存取您的 Azure DevOps 組織。 讓 PAT 有效期過長或分配過大的權限範圍,可能增加外洩後所造成損害的風險。

Microsoft Entra 令牌提供吸引人的替代方案,因為它們只持續一個小時才能重新整理。 產生 Entra 令牌的驗證通訊協定更強固且安全。 安全性措施,例如 條件式存取原則, 防止令牌竊取和重新執行攻擊。 我們希望鼓勵更多使用者在目前普遍使用 PAT 的地方探索使用 Microsoft Entra 令牌。 我們分享一些最熱門的 PAT 使用案例,以及可能在此工作流程中以 Entra 令牌取代 PAT 的方式。

Azure DevOps REST API 的臨時性請求

您也可以使用 Azure CLI 來取得 Microsoft Entra ID 存取令牌,讓使用者呼叫 Azure DevOps REST APIs。 由於 Entra 存取令牌僅存留一小時,因此非常適合用於快速一次性作業,例如不需要持續性令牌的 API 呼叫。

在 Azure CLI 中取得使用者令牌

這些指示的歸功於 Databricks 文件

  1. 使用 az login 命令登入 Azure CLI,並遵循畫面上的指示。
  2. 使用這些bash命令,為登入的用戶設定正確的訂用帳戶。 請確認 Azure 訂閱識別碼與您嘗試存取的 Azure DevOps 組織所連線的租戶相關聯。 如果您不知道訂用帳戶標識碼,您可以在 azure 入口網站 中找到該標識碼bash az account set -s <subscription-id>
  3. 使用 Azure DevOps 資源識別碼 az account get-access-token 產生Microsoft Entra ID 存取令牌:499b84ac-1321-427f-aa17-267ca6975798bash az account get-access-token \ --resource 499b84ac-1321-427f-aa17-267ca6975798 \ --query "accessToken" \ -o tsv

在 Azure CLI 中取得服務主體令牌

服務主體也可以使用 Microsoft Entra ID 的臨機操作存取權杖來執行臨時操作。 說明如何執行這項操作的指示已在 服務主體和受控識別指南的本節中提供。

使用「Git 認證管理員」進行 Git 作業

Microsoft Entra 令牌也可用來執行 Git 作業。 對於定期推送至 Git 存放庫的人員,使用 Git 認證管理員 提供簡單的方式來要求及管理一個Microsoft Entra OAuth 令牌認證,只要 oauth 設定為預設 credential.azReposCredentialType