Authentication guidance for Azure DevOps

Azure DevOps 服務 |Azure DevOps Server |Azure DevOps Server 2022

請參考本文,選擇組織層級 Azure DevOps 的認證方法。 它涵蓋了常見方法的安全態勢、治理與可維護性,並附有以實作為重點的指引連結。

關於應用層級的實作細節,請參見 Azure DevOps 的認證方法。

服務與伺服器差異

Azure DevOps Services 同 Azure DevOps Server 之間嘅認證選項有差異。

平台 建議預設 註釋
Azure DevOps Services Microsoft Entra 基礎認證 使用者使用Microsoft Entra登入,自動化則使用Microsoft Entra應用程式識別碼。
Azure DevOps Server 支援 Windows 驗證、.NET 用戶端函式庫或 PAT Service principal and managed identity patterns for Azure DevOps authentication apply to the Azure DevOps Services,而唔係 Azure DevOps Server。

比較常見的認證選擇

請參考下表,比較使用者、應用程式、腳本與管線的常見選擇。

方法 最適合用於 安全態勢 認證管理 合作對象 避免
Microsoft Entra 用戶登入 互動式使用者存取 Azure DevOps 組織 強選項,具備集中式身份治理、條件存取及多重驗證 由 Microsoft Entra 管理的生命週期與租戶政策 Azure DevOps Services 你正在實作無人值守的應用程式對應用程式自動化
受管理的識別 Azure 託管自動化,例如 Azure Functions 或 App Service 這是 Azure 託管自動化中最強的選擇,因為 token 壽命短,而 Azure 管理身份生命週期 沒有客戶機密要儲存或輪替 Azure DevOps Services 工作負載不會在 Azure 上執行,或者你需要跨環境的可攜身份
服務主體 Azure 外部或跨多個環境與 CI/CD 系統的自動化 當你使用最小權限和現代憑證模式時,這是強力選擇 你管理應用程式的身份和憑證,除非聯邦流程移除秘密 Azure DevOps Services 管理身份在 Azure 託管工作負載上也能符合相同需求
Azure DevOps 服務連接 Azure Pipelines access to Azure DevOps resources 作為管線自動化的強力選擇,因為它使用工作負載身份聯盟,避免管線中的 PAT 蔓延 透過 Azure DevOps 服務連接設定管理 Azure DevOps Services pipelines 這個情境不會透過 Azure Pipelines 執行
個人存取權杖 (PAT) 短暫的個人腳本、一次性測試或舊有相容情境 風險最高,因為 PAT 是與使用者帳號綁定的長壽承載秘密 手動建立、儲存、輪替與撤銷 Azure DevOps Services 和 Azure DevOps Server 生產自動化,當服務主體、管理身份或服務連線可用時

Important

考慮使用較安全的 Microsoft Entra 憑證 ,而非風險較高的 個人存取憑證。 欲了解更多資訊,請參閱 減少PAT使用。 請參考 認證指引 ,選擇最適合您需求的認證機制。

  • 使用 Microsoft Entra 用戶登入功能來存取 Azure DevOps 服務組織。
  • Azure 託管自動化優先使用管理身份。
  • 非 Azure 或跨環境自動化則使用 Service Principal。
  • 當 Azure Pipelines 需要 Azure DevOps 資源存取時,請使用 Azure DevOps 服務連線。
  • PATs只用於臨時、個人、舊有或Azure DevOps Server情境,因為這些情況下沒有更安全的選項。

何時使用 PAT

在有限情境下使用 PATs,例如:

  • 個人臨時腳本
  • 一次性 API 故障排除
  • 無法使用 Microsoft Entra 認證的舊有工具
  • Azure DevOps Server scenario where where modern cloud identity flows is not available

使用PAT時:

  • 將它們的權限範圍限制在最低要求的範圍內。
  • 使用最短的實用壽命。
  • 將它們儲存並輪替為秘密。
  • 如果可能,請用 Microsoft Entra 的選項來取代它們。

關於 PAT 生命週期的指引,請參見 使用個人存取權杖 與 管理 PAT 政策。

政策與治理控制

利用組織與租戶控制來強制驗證態勢:

決策檢查清單

在選擇認證方式前,請確認:

  • 這是使用者互動式存取還是無人值守自動化?
  • 工作負載是在 Azure 裡託管還是外部 Azure?
  • 目標平台係 Azure DevOps Services 定係 Azure DevOps Server?
  • 這種情況能否避免長期的資格?
  • 組織政策與審計要求是否已達成?

實作指南