Azure DevOps 服務 |Azure DevOps Server |Azure DevOps Server 2022
在本文中,你將了解 Azure DevOps 中透過繼承、安全群組、角色等方式來調整存取等級與權限。
如需默認許可權的概觀,請參閱 默認許可權快速參考。
如需詳細資訊,請參閱安全性概觀。
關於大型組織的效能指引,請參見 權限效能建議。
小提示
你可以用 AI 來協助 Azure DevOps 任務。 請參閱 啟用 Azure DevOps MCP Server 的 AI 協助 以開始。
存取層級
所有 Azure DevOps 使用者都有 存取層級,可授與或限制特定入口網站功能的存取權。 主要有三個存取層級: 利害關係人、 基本層級,以及 基礎+測試計畫。 若要讓使用者存取 Agile 組合管理或測試案例管理功能, 請變更存取層級,而非許可權。 如需詳細資訊,請參閱 關於存取層級。
權限
Azure DevOps 中的所有用戶都屬於一或多個預設 安全組。 將權限分配給安全群組,允許或拒絕存取功能或任務。
- 成員會繼承指派給其安全組的許可權。
- 在不同層級定義權限:組織/集合、專案或物件。
- 透過 角色導向指派 管理部分權限(例如團隊管理員、擴充管理或管線資源角色)。
- 系統管理員可以定義自定義安全組,以管理不同功能區域的許可權。
在 Azure DevOps 中管理許可權牽涉到兩個主要群組:專案集合管理員和專案管理員。
專案集合管理員:
- 在組織或專案集合內擁有廣泛的管理權限。
- 管理組織的設定、原則和程式。
- 創建並管理專案。
專案管理員:
- 在專案層級進行操作。
- 從入口網站中的 [專案] 設定管理安全組和許可權。
- 處理專案中由貢獻者創建的特定物件的許可權。
權限狀態
指派許可權以授與或限制存取權:
使用者或群組具有權限:
- 允許
- 允許(繼承)
- 允許 (系統)
使用者或群組沒有權限:
- 拒絕
- 拒絕 (繼承)
- 拒絕 (系統)
- 未設定
| 許可權狀態 | 描述 |
|---|---|
| 允許 | 明確授權選定的使用者或群組在目前範圍內的權限。 |
| 允許(繼承) | 透過家長範圍或群組成員資格授予許可。 |
| 允許 (系統) | 授予由 Azure DevOps 管理的權限。 你無法編輯系統權限。 |
| 拒絕 | 明確拒絕在目前範圍內將權限授與所選的使用者或群組。 |
| 拒絕 (繼承) | 拒絕透過家長範圍或群組成員資格取得許可。 |
| 拒絕(系統) | 拒絕由 Azure DevOps 管理的權限。 你無法編輯系統權限。 |
| 未設定 | 在目前範圍內,既不授予也不拒絕該許可。 其他適用的委託決定有效許可。 |
Azure DevOps 會計算直接指派、群組成員資格及繼承指派的有效權限。 當它在相同範圍內合併指派時, 拒絕 通常優先於 允許。 在物件階層中,子物件上的明確指派可以取代其從父物件繼承而來、屬於同一識別的值。
警告
當你修改某個群組的權限時,會影響該群組中的所有使用者。 即使是單一權限變更也可能影響數百名使用者,因此在做出任何調整前,請先考慮可能的影響。
權限繼承
權限遵循階層,因此你可以繼承父節點的權限或覆蓋它們。
群組繼承:
- 使用者會獲得他們所屬群組的合併權限。
- 在同一範圍內,一個團體的 拒絕 通常優先於另一個團體的 允許 。
- 未設定 不會授予或拒絕授權,也不會覆蓋其他群組的指派。
物件層級繼承:
你可以為節點(如區域、迭代、版本控制資料夾和工作項目查詢資料夾)指派物件層級權限。 這些權限會從階層中繼承下來。
物件階層規則:
- 除非明確覆寫,否則所有子節點都會繼承在較高層級節點上設定的許可權。
- 如果未對子節點的權限進行明確允許或拒絕的設定,它會繼承自父節點的權限。
- 如果在子節點上為某個身份設定了明確的權限,該身份從父身份繼承的值則不會適用於該子節點。
- 解決物件階層後,Azure DevOps 會結合適用的直接指派與群組指派。 在結果範圍內,來自其他群組的 拒絕 仍可優先於 允許。
範例:
- 明確地 在 (父節點)拒絕
area-1。 - 明確 允許 (
area-1/sub-area-1子節點)。 - 此時,使用者會收到允許,覆蓋來自父節點的繼承
area-1/sub-area-1。
若要了解某項權限為何會繼承而來,請針對該權限選取 Why?。 要開啟 安全性 頁面,請參見 「檢視權限」。
隨即開啟新的對話框,顯示該許可權的繼承資訊。
新的視窗會顯示該許可權的繼承資訊。
安全組和成員資格
安全組將特定許可權指派給其成員。
當你建立組織、集合或專案時,Azure DevOps 會建立一組預設的安全群組,並自動為這些群組分配預設權限。 你可以透過以下動作來定義更多安全群組:
- 在以下層級建立自訂安全群組:
- 專案層級
- 組織或集合層級
- 伺服器層級 (僅限內部部署)
- 新增團隊,建立團隊安全群組
您無法建立物件層級安全組,但您可以將自定義群組指派給物件層級,並將許可權指派給該層級。 如需詳細資訊,請參閱 設定物件層級許可權。
預設安全性群組
大多數 Azure DevOps 使用者會被加入貢獻 者安全群組 ,並獲得 Basic 權限等級。 參與者群組提供存放庫、工作追蹤、管線等的讀取和寫入存取權。 基本 存取可讓您存取使用 Azure Boards、Azure Repos、Azure Pipelines 和 Azure Artifacts 的所有功能和工作。 需要存取權才能管理 Azure Test Plans 的使用者,必須具備 Basic + Test Plans 或適用的 Visual Studio 訂閱權益。
根據預設,每個專案和組織都會定義下列安全性群組。 您通常會將使用者或群組新增至 讀者、 參與者或 專案管理員 群組。
| 專案 | 組織或集合 |
|---|---|
| - 建置系統管理員 -貢獻者 - 專案管理員 - 專案有效使用者 -讀者 - 釋放系統管理員 - TeamName 小組 |
- 專案集合管理員 - 專案集合建置管理員 - 專案集合建置服務帳戶 - 專案集合 Proxy 服務帳戶 - 專案集合服務帳戶 - 專案匯集測試服務帳戶 - 專案集合合格使用者 - 專案範圍使用者 - 安全組 |
如需每個群組的描述,請參閱 安全組、服務帳戶和許可權。 如需對最常見預設安全組進行的默認許可權指派,請參閱 默認許可權和存取權。
根據預設,每個專案和專案集合都會定義下列安全組。 您通常會將使用者或群組新增至 讀者、 參與者或 專案管理員 群組。
僅將服務帳戶新增至 Azure DevOps 服務帳戶群組。 若要瞭解有效的使用者群組,請參閱 本文稍後的有效使用者群組 。
| 專案層級 | 集合層級 |
|---|---|
| - 建置系統管理員 -貢獻者 - 專案管理員 - 專案有效使用者 -讀者 - 釋放系統管理員 - TeamName 小組 |
- 專案集合管理員 - 專案集合建置管理員 - 專案集合建置服務帳戶 - 專案集合 Proxy 服務帳戶 - 專案集合服務帳戶 - 專案匯集測試服務帳戶 - 專案集合合格使用者 - 安全組 |
將管理專案層級功能的使用者加入 專案管理員 群組。 這些功能包括團隊、區域與迭代路徑、資料庫、服務鉤子及服務端點。
將管理組織或典藏層級功能的使用者加入 專案典藏管理員 群組。 這些功能包括專案、政策、流程、保留政策、代理與部署池,以及擴充功能。 如需詳細資訊,請參閱 關於使用者、小組、專案和組織層級設定。
成員資格、許可權和存取層級管理
Azure DevOps 可透過下列三個連線的功能區域控制存取:
- 成員資格管理支援將個別的使用者帳戶及群組加入預設安全性群組。 每個預設群組都與一組預設權限相關聯。 新增至任何安全組的所有用戶都會新增至有效使用者群組。 有效的使用者是指可以與專案、集合或組織連線的人。
- 權限管理會控制不同系統層級中特定功能性工作的存取權。 物件層級許可權會設定檔案、資料夾、建置管線或共用查詢的許可權。 許可權設定會對應至 允許、拒絕、繼承的允許、繼承的拒絕、系統允許、系統拒絕 和 未設定。
- 存取層級管理 可控制對入口網站功能的存取。 根據授權與使用者角色,管理員會指派利害關係人、基本、基本+測試計畫,或適用的 Visual Studio 訂閱權限等級。
每個功能性區域都會使用安全性群組來簡化跨部署管理。 您可以透過 Web 管理內容加入使用者及群組。 許可權會根據您新增使用者的安全組自動設定。 或者權限是根據你新增群組的物件、專案、集合或伺服器層級來決定的。
安全性群組成員可以是使用者、其他群組及 Microsoft Entra 群組的組合。
安全組成員可以是使用者、其他群組和 Active Directory 群組或工作組的組合。
Active Directory 和 Microsoft Entra 安全組
您可以藉由新增個別使用者來加入安全群組。 但是,為了方便管理,使用 Azure DevOps Services 和 Active Directory (AD) 或適用於 Azure DevOps Server 的 Windows 使用者群組Microsoft Entra ID 填入這些群組會更有效率。 這種方法可讓您更有效率地跨多部計算機管理群組成員資格和許可權。
如果您只需要管理一小組使用者,您可以略過此步驟。 但是,如果您預期組織可能會成長,請考慮設定 Active Directory 或 Microsoft Entra 識別符。 此外,如果您打算使用額外的服務,請務必設定 Microsoft Entra ID,以搭配 Azure DevOps 使用以支援計費。
注意
如果沒有Microsoft Entra標識符,所有 Azure DevOps 使用者都必須使用 Microsoft 帳戶登入,而且您必須由個別用戶帳戶管理帳戶存取權。 即使您使用 Microsoft 帳戶管理帳戶存取,也請設定 Azure 訂用帳戶來管理計費。
若要設定Microsoft Entra標識符以搭配 Azure DevOps Services 使用,請參閱 將組織連線到 Microsoft Entra ID。
當組織連線到 Microsoft Entra 識別符時,您可以定義和管理各種組織原則,以增強安全性並簡化應用程式的存取。 如需詳細資訊,請參閱 關於安全性、安全策略。
若要使用 Microsoft Entra 識別元管理組織存取,請參閱下列文章:
Azure DevOps 會在 Microsoft Entra ID 變更後一小時內登錄對 Microsoft Entra 群組的變更。 透過群組成員資格繼承的權限都會被更新。 若要重新整理您的Microsoft Entra 成員資格和 Azure DevOps 中繼承的許可權,請註銷然後重新登入,或 觸發重新整理以重新評估您的許可權。
若要設定 Active Directory 以搭配 Azure DevOps Server 使用,請參閱下列文章:
安裝 Azure DevOps Server 之前,請先安裝 Active Directory。
有效的使用者群組
當您直接將使用者帳號加入安全群組時,該使用者會自動成為以下有效使用者群組之一的一部分。
- 專案集合有效使用者所有成員已新增至組織層級群組。
- 專案有效使用者所有成員已新增至專案層級群組。
- Server\Azure DevOps 有效使用者:新增至伺服器層級群組的所有成員。
- ProjectCollectionName\Project 集合有效使用者:已新增至集合層級群組的所有成員。
- ProjectName\Project Valid Users:所有已加入專案層級小組的成員。
指派給這些群組的默認許可權主要提供讀取許可權,例如 檢視組建資源、 檢視專案層級資訊,以及 檢視集合層級資訊。
要存取專案資源,使用者需要 查看專案層級資訊 及該資源所需的權限。 區域路徑權限可控制專案內工作項目和測試成品的存取,但不會控制使用者是否可以存取該專案。 不要更改有效使用者群組的預設權限。 拒絕這些群組其中之一的 檢視專案層級資訊、檢視集合層級資訊 或 檢視執行個體層級資訊 權限,可能會封鎖該群組所有成員對相應範圍的存取。
專案範圍使用者群組
預設情況下,你新增到組織的使用者可以查看他們所屬專案以外的組織和專案資訊。
若要限制特定使用者,例如項目關係人、Microsoft Entra 來賓使用者,或特定安全組的成員,您可以啟用 限制用戶可見度和共同作業給組織的特定專案 預覽功能。 啟用此功能後, Project-Scoped 使用者 群組中的使用者和群組只能存取你明確新增的專案。 此功能同時限制他們在人物選擇器中存取組織設定與身份。
警告
使用此預覽功能時,請考慮下列限制:
- 本節所述的有限可見度功能僅適用於透過入口網站進行互動。 透過使用 REST API 或
az devopsCLI 指令,專案成員可以存取受限資料。 - 受限群組中的使用者只能選取明確新增至 Azure DevOps 的使用者,而不能選取可透過 Microsoft Entra 群組成員資格存取的使用者。
- 隸屬於在 Microsoft Entra ID 中具有限存取權的群組中的來賓用戶,無法使用人員選擇器搜尋其他使用者。
關於設定步驟與限制,請參見 「限制使用者可見性」。
注意
安全性群組會在組織層級進行管理,即使它們用於特定專案也一樣。 視用戶權力而定,某些群組可能會隱藏在入口網站中。 若要檢視組織內的所有群組名稱,您可以使用 Azure DevOps CLI 工具或 REST API。 如需詳細資訊,請參閱 新增和管理安全組。
注意
安全性群組會在集合層級進行管理,即使它們用於特定專案也一樣。 視用戶權力而定,某些群組可能會隱藏在入口網站中。 若要檢視集合內的所有群組名稱,您可以使用 Azure DevOps CLI 工具或 REST API。 如需詳細資訊,請參閱 新增和管理安全組。
角色型權限
透過角色權限,你可以將使用者帳號或安全群組指派到角色,每個角色擁有一個或多個權限。 以下資源支援基於角色的權限:
如需詳細資訊,請參閱 關於管線安全性角色。
下圖說明專案和集合層級定義的安全組如何將許可權指派給物件、專案和組織。
下圖說明如何在專案層級和集合層級定義的安全群組,可以分配到物件、專案和集合層級的許可權。 您只能將伺服器層級安全組定義為伺服器層級的許可權。
專案管理員或專案集合管理員群組的成員管理所有團隊工具。
預覽功能
預覽功能提供功能普及前的早期存取權。 使用者可以管理使用者層級提供的預覽功能。 Project 集合管理員群組的成員可以在 Azure DevOps Services 管理組織層級預覽功能,以及 Azure DevOps Server 中的集合層級預覽功能。 如需詳細資訊,請參閱 管理或啟用功能。