分享方式:


關於安全性、驗證與授權

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Azure DevOps 採用各種安全性概念,以確保只有授權的使用者才能存取功能、功能和數據。 用戶可透過驗證其安全性認證和其帳戶權利授權來存取 Azure DevOps,以存取特定功能或功能。

本文以開始使用許可權、存取權和安全組提供的資訊為基礎。 系統管理員可以從瞭解用來保護 Azure DevOps 的帳戶類型、驗證方法、授權方法和原則中獲益。


帳戶類型

  • 使用者
  • 組織擁有者
  • 服務帳戶
  • 服務主體或受控識別
  • 作業代理程式

驗證

  • 使用者認證
  • Windows 驗證
  • 雙因素驗證 (2FA)
  • SSH 金鑰驗證
  • 個人存取權杖
  • Oauth 組態
  • Active Directory 驗證連結庫

授權

  • 安全性群組成員資格
  • 角色型存取控制
  • 存取層級
  • 功能旗幟
  • 安全性命名空間和許可權

原則

  • 隱私權原則 URL
  • 應用程式連線和安全性策略
  • 用戶原則
  • Git 存放庫和分支原則


帳戶類型

  • 使用者
  • 服務帳戶
  • 服務主體或受控識別
  • 作業代理程式

驗證

  • 使用者認證
  • Windows 驗證
  • 雙因素驗證 (2FA)
  • SSH 金鑰驗證
  • 個人存取權杖
  • Oauth 組態
  • Active Directory 驗證連結庫

授權

  • 安全性群組成員資格
  • 角色型權限
  • 存取層級
  • 功能旗幟
  • 安全性命名空間和許可權

原則

  • Git 存放庫和分支原則

重要

Azure DevOps 不支援替代認證驗證。 如果您仍在使用替代認證,強烈建議您切換到更安全的驗證方法。

Azure DevOps Services(雲端)和 Azure DevOps Server(內部部署)都支援從規劃到部署的軟體開發。 他們利用Microsoft Azure 的平臺即服務基礎結構和服務,包括 Azure SQL 資料庫,為您的專案提供可靠的全域可用服務。

如需如何Microsoft確保 Azure DevOps Services 專案安全、可用、安全及私人的詳細資訊,請參閱 Azure DevOps Services 數據保護概觀

帳戶

雖然人類用戶帳戶是主要焦點,但 Azure DevOps 也支援不同作業的各種其他帳戶類型。 其中包括下列帳戶類型:

  • 組織擁有者:Azure DevOps Services 組織或指派擁有者的建立者。 若要尋找貴組織的擁有者,請參閱 查閱組織擁有者
  • 服務帳戶:用來支援特定服務的內部 Azure DevOps 組織,例如 Agent 集區服務、PipelinesSDK。 如需服務帳戶的描述,請參閱 安全組、服務帳戶和許可權
  • 服務主體或受控識別Microsoft新增至貴組織的 Entra 應用程式或受控識別 ,代表第三方應用程式執行動作。 某些服務主體是指內部 Azure DevOps 組織,以支援內部作業。
  • 作業代理程式:用來定期執行特定作業的內部帳戶。
  • 第三方帳戶:需要存取以支援 Web 攔截、服務連線或其他第三方應用程式的帳戶

在我們的安全性相關文章中,「使用者」是指新增至用戶中樞的所有身分識別,其中包括人類使用者和服務主體。

  • 服務帳戶:用來支援特定服務的內部 Azure DevOps 組織,例如 Agent 集區服務、PipelinesSDK。 如需服務帳戶的描述,請參閱 安全組、服務帳戶和許可權
  • 服務主體或受控識別:Microsoft新增至貴組織的 Entra 應用程式或受控識別,代表第三方應用程式執行動作。 某些服務主體是指內部 Azure DevOps 組織,以支援內部作業。
  • 作業代理程式:用來定期執行特定作業的內部帳戶。
  • 第三方帳戶:需要存取以支援 Web 攔截、服務連線或其他第三方應用程式的帳戶

管理帳戶的最有效方式是將它們 新增至安全組

注意

專案集合系統管理員群組的組織擁有者和成員會獲得幾乎所有功能的完整存取權。

驗證

驗證會根據登入 Azure DevOps 期間提供的認證來驗證帳戶的身分識別。 這些系統會與下列其他系統的安全性功能整合並依賴:

  • Microsoft Entra ID
  • Microsoft 帳戶 (MSA)
  • Active Directory (AD)

Microsoft Entra ID 和 MSA 支援雲端驗證。 建議您使用 Microsoft Entra ID 來管理大量使用者。 對於存取 Azure DevOps 組織的小型使用者,Microsoft帳戶就已足夠。 如需詳細資訊,請參閱 關於使用 Microsoft Entra ID 存取 Azure DevOps。

針對內部部署,建議使用AD來管理大量使用者群組。 如需詳細資訊,請參閱 設定群組以用於內部部署

驗證方法 (與其他服務和應用程式整合)

其他應用程式和服務可以與 Azure DevOps 整合。 若要在不重複要求使用者認證的情況下存取您的帳戶,應用程式可以使用下列驗證方法:

根據預設,您的帳戶或集合會允許存取所有驗證方法。 您可以藉由特別限制每個方法來限制存取。 當您拒絕存取驗證方法時,就沒有任何應用程式可以使用該方法來存取您的帳戶。 任何先前具有存取權的應用程式都會收到驗證錯誤,且無法存取您的帳戶。

如需詳細資訊,請參閱下列文章:

授權

授權會驗證嘗試連線的身分識別具有存取服務、功能、函數、物件或方法的必要權限。 只有在成功驗證之後,才會發生授權。 如果連線未通過驗證,則會在執行任何授權檢查之前失敗。 即使驗證成功,如果使用者或群組缺少授權,仍可能會不允許特定動作。

授權取決於指派給使用者的許可權,無論是直接或透過安全組或安全性角色的成員資格。 存取層級和功能旗標也可以管理特定功能的存取。 如需這些授權方法的詳細資訊,請參閱 開始使用許可權、存取權和安全組

安全性命名空間和許可權

安全性命名空間會決定資源上特定動作的使用者存取層級。

  • 每個資源系列,例如工作專案或 Git 存放庫,都有唯一的命名空間。
  • 每個命名空間都包含零個或多個訪問控制清單(ACL)。
    • 每個 ACL 都包含令牌、繼承旗標和存取控制專案(ACE)。
    • 每個 ACE 都有身分識別描述元、允許的許可權位掩碼,以及拒絕的許可權位掩碼。

如需詳細資訊,請參閱 安全性命名空間和許可權參考

安全性原則

若要保護您的組織和程序代碼,您可以設定各種原則。 具體而言,您可以啟用或停用下列原則:

一般

  • 隱私策略 URL:指定連結至自定義檔的 URL,描述您如何處理內部和外部來賓數據隱私權。 如需詳細資訊,請參閱 為您的組織新增隱私策略 URL。

應用程式連線和安全性策略

使用 Microsoft Entra 租用戶原則,將建立新組織限所需的使用者。 此原則預設為關閉,且只有在組織連線到 Microsoft Entra 識別符時才有效。 如需詳細資訊,請參閱 限制組織建立

下列原則會決定授與組織內使用者和應用程式的存取權:

用戶原則

  • 外部來賓存取 權 (只有在組織連線到 Microsoft Entra ID 時有效:啟用時,可以透過 [使用者 ] 頁面,將邀請傳送給非租使用者Microsoft Entra ID 成員的使用者的電子郵件帳戶。 如需詳細資訊,請參閱 將外部使用者新增至您的組織
  • 允許小組和專案管理員邀請新使用者:只有在組織連線到Microsoft Entra識別符時才有效。 啟用時,小組和專案管理員可以透過 [使用者] 頁面新增使用者 。 如需詳細資訊,請參閱 限制來自 Project 和 Team Administrators 的新用戶邀請。
  • 要求存取:只有在組織連線到Microsoft Entra ID 時才有效。 啟用時,使用者可以要求存取資源。 要求會視需要向系統管理員傳送電子郵件通知,要求檢閱和存取權。 如需詳細資訊,請參閱 將外部使用者新增至您的組織
  • 邀請 GitHub 使用者:只有在組織未連線到 Microsoft Entra 識別碼時才有效。 啟用時,系統管理員可以根據其 GitHub 使用者帳戶,從 [使用者] 頁面新增使用者 。 如需詳細資訊,請參閱 連線到 GitHub/常見問題

專案範圍使用者群組

根據預設,新增至組織的使用者可以檢視所有組織和專案資訊和設定,包括使用者清單、專案清單、帳單詳細數據、使用量數據等等。

重要

  • 本節所述的有限可見度功能僅適用於透過入口網站進行互動。 使用 REST API 或 azure devops CLI 命令,項目成員可以存取受限制的數據。
  • 在Microsoft Entra ID 中具有預設存取權之有限群組中的來賓用戶,無法搜尋具有人員選擇器的使用者。 當組織的預覽功能關閉,或來賓使用者不是有限群組的成員時,來賓使用者可以如預期般搜尋所有Microsoft Entra 使用者。

若要限制特定使用者,例如項目關係人、Microsoft Entra 來賓使用者或特定安全組的成員,您可以啟用 限制使用者可見性和共同作業給組織的特定專案 預覽功能。 啟用之後,任何新增至 Project-Scoped Users 群組的使用者或群組,會以下列方式加以限制:

  • 只能存取 [組織設定] 的 [概觀] 和 [專案] 頁面。
  • 只能連線並檢視已明確新增至的專案
  • 只能選取明確新增至其所連線專案的使用者和群組身分識別。

如需詳細資訊,請參閱 管理您的組織、限制專案的用戶可見度等等 ,以及 管理預覽功能

警告

當為組織啟用特定項目預覽功能的 [限制用戶可見度和共同作業] 時,專案範圍用戶無法搜尋透過 Microsoft Entra 群組成員資格新增至組織的使用者,而不是透過明確的用戶邀請。 這是非預期的行為,且正在處理解決方案。 若要自行解決此問題,請停用將 用戶可見性和共同作業限製為組織的特定專案 預覽功能。

Git 存放庫和分支原則

若要保護您的程式代碼,您可以設定各種 Git 存放庫和分支原則。 如需詳細資訊,請參閱下列文章。

Azure Repos 和 Azure Pipelines 安全性

由於存放庫和建置和發行管線會帶來獨特的安全性挑戰,因此會採用本文所討論功能以外的其他功能。 如需詳細資訊,請參閱下列文章。

下一步