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?
- 這種情況能否避免長期的資格?
- 組織政策與審計要求是否已達成?