開始使用許可權和存取權

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

在本文中,瞭解如何透過繼承、安全組、角色等方式在 Azure DevOps 中管理存取層級和許可權。 開始瞭解下列重要概念。

  • 關於權限

    • 新增至 Azure DevOps 的所有用戶都會新增至一或多個預設 安全組
    • 安全組會獲指派許可權,允許拒絕存取功能或工作。
    • 安全組 的成員會繼承指派給群組的許可權
    • 許可權定義於不同的層級:組織/集合、項目或物件。
    • 其他許可權是透過 角色型指派來管理,例如小組管理員、延伸模組管理,以及各種管線資源角色。
    • 管理員 istrators 可以定義自定義安全組來管理不同功能區域的許可權。
  • 關於存取層級

    • 新增至 Azure DevOps 的所有用戶都會指派給 存取層級,以授與或限制選取入口網站功能的存取權。
    • 有三個主要存取層級: 項目關係人基本基本 + 測試計劃
    • 項目關係人存取權可讓您免費存取一組有限的功能的使用者。 如需詳細資訊,請參閱專案關係人存取快速參考
  • 關於預覽功能
    • 隨著新功能的推出,使用者可以透過 預覽功能啟用或停用這些功能 來存取這些功能。
    • 一小部分的新功能是在組織層級進行管理,並由組織擁有者啟用或停用。

例如,大部分的 Azure DevOps 用戶都會新增至 參與者 安全組,並授與 基本 存取層級。 參與者群組提供存放庫、工作追蹤、管線等的讀取和寫入存取權。 基本 存取可讓您存取使用 Azure Boards、Azure Repos、Azure Pipelines 和 Azure Artifacts 的所有功能和工作。 需要管理 Azure Test Plans 存取權的用戶必須獲得 基本 + 測試計劃進階 存取權。

應讓系統管理員加入專案集合管理員或專案系統管理員群組。 管理員 istrators 從入口網站管理安全組和許可權,主要來自項目設定。 參與者也會管理他們從入口網站建立的物件許可權。

如需默認許可權的概觀,請參閱 默認許可權快速參考

安全組和成員資格

建立組織、集合或專案時,Azure DevOps 會建立一組預設安全性群組,這些安全性群組會自動指派預設權限。 使用下列動作來定義更多安全組:

  • 當您在下列層級建立自訂安全組時:
    • 專案層級
    • 組織或集合層級
    • 伺服器層級 (僅限內部部署)
  • 當您新增小組時,會建立小組安全組

您無法建立物件層級安全組,但您可以將自定義群組指派給物件層級,並將許可權指派給該層級。 如需詳細資訊,請參閱 設定物件層級許可權

預設安全性群組

根據預設,每個專案和組織都會定義下列安全組。 您通常會將使用者或群組新增至讀者參與者Project 管理員 istrators 群組。

Project 組織或集合
- 建置 管理員 istrators
-貢獻
- 項目 管理員 istrators
- 專案有效使用者
-讀者
- 發行 管理員 istrators
- TeamName 小組
- 專案集合 管理員 istrators
- 專案集合組建 管理員 istrators
- 專案集合建置服務帳戶
- 專案集合 Proxy 服務帳戶
- 專案集合服務帳戶
- 專案集合測試服務帳戶
- 專案集合有效使用者
- 專案範圍使用者
- 安全組

如需每個群組的描述,請參閱 安全組、服務帳戶和許可權。 如需對最常見預設安全組進行的默認許可權指派,請參閱 默認許可權和存取權。

根據預設,每個專案和專案集合都會定義下列安全組。 您通常會將使用者或群組新增至讀者參與者專案 管理員 istrators 群組。

下列清單指出針對 TFS 2017 和更新版本定義的最新群組。 針對舊版的 Azure DevOps,清單可能會有所不同。 僅將服務帳戶新增至 Azure DevOps 服務帳戶群組。 若要瞭解有效的使用者群組,請參閱 本文稍後的有效使用者群組

專案層級 集合層級
- 建置 管理員 istrators
-貢獻
- 項目 管理員
- 專案有效使用者
-讀者
- 發行 管理員 istrators
- TeamName 小組
- 專案集合 管理員 istrators
- 專案集合組建 管理員 istrators
- 專案集合建置服務帳戶
- 專案集合 Proxy 服務帳戶
- 專案集合服務帳戶
- 專案集合測試服務帳戶
- 專案集合有效使用者
- 安全組

針對負責管理專案層級功能的使用者,例如小組、區域和反覆專案路徑、存放庫、服務勾點和服務端點,將它們新增至 Project 管理員 istrators 群組。 針對負責管理組織或集合層級功能的使用者,例如,專案、原則、程式、保留原則、代理程式和部署集區,以及擴充功能,將它們新增至 Project Collection 管理員 istrators 群組。 如需詳細資訊,請參閱 關於使用者、小組、專案和組織層級設定

如需每個群組和每個許可權的描述,請參閱 許可權和群組參考、群組

成員資格、許可權和存取層級管理

Azure DevOps 可透過下列三個連線的功能區域控制存取:

  • 成員資格管理支援將個別的使用者帳戶及群組加入預設安全性群組。 每個預設群組都與一組預設權限相關聯。 新增至任何安全組的所有用戶都會新增至有效使用者群組。 有效的使用者是指可以與專案、集合或組織連線的人。

  • 權限管理會控制不同系統層級中特定功能性工作的存取權。 物件層級許可權會設定檔案、資料夾、建置管線或共用查詢的許可權。 許可權設定會對應至 [允許]、[拒絕]、[繼承的允許]、[繼承的拒絕]、[系統允許]、[系統拒絕] 和 [未設定]。 如需詳細資訊,請參閱 本文稍後的許可權繼承和安全組

  • 存取層級管理 可控制對入口網站功能的存取。 根據為使用者購買的項目,系統管理員會將使用者的存取層級設定為項目關係人基本、基本 + 測試Visual Studio Enterprise(先前為進階)。

每個功能性區域都會使用安全性群組來簡化跨部署管理。 您可以透過 Web 管理內容加入使用者及群組。 許可權會根據您新增使用者的安全組自動設定。 或許可權會根據您新增群組的物件、專案、集合或伺服器層級取得。

安全性群組成員可以是使用者、其他群組及 Microsoft Entra 群組的組合。

安全組成員可以是使用者、其他群組和 Active Directory 群組或工作組的組合。

您可以建立 本機群組或 Active Directory (AD) 群組來管理您的使用者

Active Directory 和 Microsoft Entra 安全組

您可以藉由新增個別使用者來填入安全組。 不過,為了方便管理,如果您使用適用於 Azure DevOps Services 和 Active Directory 的 Microsoft Entra ID 或適用於 Azure DevOps Server 的 Windows 使用者群組來填入這些群組,會比較容易。 此方法可讓您在多部計算機上更有效率地管理群組成員資格和許可權。

如果您只需要管理一小組使用者,則可以略過此步驟。 不過,如果您預見到您的組織可能會成長,您可能想要設定 Active Directory 或 Microsoft Entra ID。 此外,如果您計劃支付額外的服務,您必須設定 Microsoft Entra ID 以搭配 Azure DevOps 使用以支援計費。

注意

如果沒有 Microsoft Entra 識別符,所有 Azure DevOps 使用者都必須使用 Microsoft 帳戶登入,而且您必須管理個別使用者帳戶的帳戶存取權。 即使您使用 Microsoft 帳戶管理帳戶存取權,您也需要設定 Azure 訂用帳戶才能管理帳單

若要設定 Microsoft Entra ID 以搭配 Azure DevOps Services 使用,請參閱將組織 連線 至 Microsoft Entra ID

當您的組織連線到 Microsoft Entra 識別符時,有許多組織原則可讓您啟用或停用來保護組織的安全。 如需詳細資訊,請參閱 關於安全性、驗證和授權、安全策略

若要使用 Microsoft Entra 識別元管理組織存取權,請參閱下列文章:

Azure DevOps 會在 Microsoft Entra 標識碼的一小時內註冊對 Microsoft Entra 群組所做的變更。 透過群組成員資格繼承的任何許可權都會重新整理。 如果您想要在 Azure DevOps 中重新整理 Microsoft Entra 成員資格和繼承的許可權,請註銷然後重新登入,或觸發 重新整理以重新評估您的許可權

若要設定 Active Directory 以搭配 Azure DevOps Server 使用,請參閱下列文章:

安裝 Azure DevOps Server 之前,請先安裝 Active Directory。

有效的使用者群組

當您將使用者的帳戶直接新增至安全組時,這些帳戶會自動新增至其中一個有效的使用者群組。

  • 專案集合有效使用者:新增至組織層級群組的所有成員。
  • 專案有效使用者:新增至專案層級群組的所有成員。
  • Server\Azure DevOps 有效使用者:新增至伺服器層級群組的所有成員。
  • ProjectCollectionName\Project 集合有效使用者:已新增至集合層級群組的所有成員。
  • ProjectName\Project Valid Users:新增至專案層級群組的所有成員。

指派給這些群組的默認許可權主要僅限於讀取許可權,例如 檢視組建資源檢視專案層級資訊,以及 檢視集合層級資訊

您新增至某個專案的所有使用者都可以檢視集合內其他專案中的物件。 如果您需要限制檢視存取,您可以 透過區域路徑節點設定限制。

如果您移除或拒絕 其中一個有效使用者群組的 [檢視實例層級資訊 ] 許可權,則群組的成員將無法根據您設定的群組來存取專案、集合或部署。

專案範圍使用者群組

根據預設,新增至組織的使用者可以檢視所有組織和專案資訊和設定。 這些設定包括使用者清單、專案清單、帳單詳細數據、使用量數據,以及透過組織設定存取 的更多設定

重要

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

若要限制選取的使用者,例如項目關係人、Microsoft Entra 來賓使用者或特定安全組的成員,您可以啟用 限制用戶可見性和共同作業給組織的特定專案 預覽功能。 啟用之後,任何新增至專案範圍使用者群組的使用者或群組,都受限於存取 [組織設定] 頁面,但 [概觀] 和 [專案] 除外;而且只能存取他們新增至其中的那些專案。

警告

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

如需詳細資訊,請參閱 管理預覽功能

注意

安全組屬於組織層級,即使它們只存取特定專案也一樣。 根據用戶權力,某些群組可能會隱藏在入口網站中。 您可以使用 azure devops CLI 工具或我們的 REST API,在組織中找到所有組名。 如需詳細資訊,請參閱 新增和管理安全組

注意

安全組屬於集合層級,即使它們只存取特定專案也一樣。 根據用戶權力,某些群組可能會隱藏在入口網站中。 您可以使用 azure devops CLI 工具或我們的 REST API,在組織中找到所有組名。 如需詳細資訊,請參閱 新增和管理安全組

注意

安全組屬於集合層級,即使它們只存取特定專案也一樣。 根據用戶權力,某些群組可能會隱藏在入口網站中。 不過,您可以使用 REST API 探索組織中所有群組的名稱。 如需詳細資訊,請參閱 新增和管理安全組

存取層級

訪問控制入口網站中使用者可以看到哪些功能。 存取權取決於用戶授權。

如果您想要讓使用者存取 Agile 組合管理或測試案例管理功能, 請變更存取層級,而非許可權。

設定使用者或群組的存取層級不會讓他們存取專案或入口網站。 只有新增至小組或安全組的使用者或群組可以連線到專案和入口網站。 請確定您的使用者具有所需的許可權和存取層級。 若要這麼做,請確定他們已 新增至專案或小組

權限

如下圖所示,專案和集合層級定義的安全組可以指派給對象、專案和組織層級指派的許可權。

概念映像將預設安全組對應至許可權等級、雲端

如下圖所示,專案和集合層級定義的安全組可以指派給對象、專案和集合層級指派的許可權。 您只能將伺服器層級安全組定義為伺服器層級的許可權。

概念映像將預設安全組對應至內部部署許可權等級

如需每個預設安全組的描述,請參閱 安全組、服務帳戶和許可權

許可權狀態

許可權可以具有下列指派。 它們會依指示授與或限制存取權。

使用者或群組 具有 執行工作的權限:

  • 允許
  • 允許 (繼承)
  • 允許 (系統)

使用者或群組 沒有 執行工作的權限:

  • 拒絕
  • 拒絕 (繼承)
  • 拒絕 (系統)
  • 未設定
許可權狀態 描述
允許 明確授與使用者執行特定工作,且不會繼承自群組成員資格。
允許 (繼承) 授與群組成員以執行特定工作。
允許 (系統) 授與優先於使用者許可權的許可權。 無法編輯並儲存在組態資料庫中,使用者看不見。
拒絕 明確限制使用者執行特定工作,且不會繼承自群組成員資格。 針對大部分的群組和幾乎所有權限,[拒絕] 優先於 [允許]。 如果使用者屬於兩個群組,且其中一個群組具有特定的許可權設定為 Deny,該使用者就無法執行需要該許可權的工作,即使他們屬於該許可權設定為 Allow 的群組也一樣。
拒絕 (繼承) 限制群組成員執行特定工作。 覆寫明確的 Allow
拒絕 (系統) 限制優先於使用者許可權的許可權。 無法編輯並儲存在組態資料庫中,使用者看不見。
未設定 隱含地拒絕使用者執行需要該許可權的工作,但允許具有該許可權的群組成員資格優先,也稱為 Allow (inherited)Deny (inherited)

在某些情況下,Project Collection 管理員 istratorsTeam Foundation 管理員 istrators 群組的成員可能一律會獲得許可權,即使他們在不同的群組中遭到拒絕該許可權也一樣。 在其他情況下,例如工作專案刪除或管線,作為 Project Collection 管理員 istrators 群組的成員不會略過其他地方設定的拒絕許可權。

警告

當您變更群組的許可權時,它會變更屬於該群組成員之所有用戶的許可權。 視群組大小而定,您可以只變更一個許可權,影響數百位使用者執行其工作的能力。 因此,請務必先瞭解潛在的影響,再進行變更。

許可權繼承和安全組

某些許可權是透過階層來管理。 在此階層中,許可權可以繼承自父系或覆寫。 安全組會將一組許可權指派給群組的成員。 例如,參與者群組或 Project 管理員 istrators 群組的成員會獲指派為 [允許] 許可權給這些群組。

如果使用者未直接允許或拒絕許可權,則可能會以下列方式繼承該許可權。

  • 用戶會繼承其所屬群組的許可權。 當使用者具有直接或群組成員資格 允許 許可權時,直接成員資格或群組成員資格 拒絕 許可權會覆寫它。

    Project Collection 管理員 istrators 或 Team Foundation 管理員 istrators 的成員會保留大部分允許的許可權,即使它們屬於拒絕這些許可權的其他群組也一樣。 工作專案作業許可權是此規則的例外狀況。

  • 針對階層節點指派的物件層級許可權 - 區域、反覆專案、版本控制資料夾、工作專案查詢資料夾 - 會繼承至階層。 也就是說,如果使用者的許可權在 取得繼承時area-1area-1/sub-area-1設定,則如果未明確允許或拒絕相同的許可權,則為 area-1/sub-area-1。 如果明確為 物件設定許可權,例如 area-1/sub-area-1,則不會繼承父節點,而不論其遭到拒絕或允許。 如果未設定,則該節點的許可權會繼承自明確設定許可權的最接近上階。 最後,在物件階層中,特定性勝過繼承。 例如,在 'area-1' 上明確將許可權設定為 Deny 但同時明確設定為允許 'area-1/sub-area-1' 的使用者會收到 'area-1/sub-area-1' 上的 Allow

若要了解為何繼承許可權,您可以暫停許可權設定,然後選擇 [為何?若要開啟 [安全性] 頁面,請參閱檢視許可權

注意

若要啟用 [ 項目許可權設定] 頁面預覽頁面 ,請參閱 啟用預覽功能

許可權對話框、預覽頁面、連結批注的原因。

隨即開啟新的對話框,顯示該許可權的繼承資訊。

[專案許可權設定] 頁面的預覽使用者介面不適用於 Azure DevOps Server 2020 和舊版。

許可權的最佳做法

建議:

  • 當您管理大量使用者時,請使用 Microsoft Entra ID、Active Directory 或 Windows 安全組。
  • 當您新增小組時,請考慮要將哪些許可權指派給小組主管、scrum 主機和其他小組成員。 請考慮誰建立和修改區域路徑、反覆專案路徑和查詢。
  • 當您新增許多小組時,請考慮建立 Team 管理員 istrators 自定義群組,您可以在其中配置 Project 管理員 istrators 可用的許可權子集。
  • 請考慮將 工作專案查詢資料夾 [參與 ] 許可權授與需要建立和共享專案工作專案查詢的使用者或群組。

請勿這麼做:

  • 請勿將使用者新增至包含不同許可權等級的多個安全組。 在某些情況下,[拒絕] 權限等級可能會覆寫 [允許] 權限等級。
  • 請勿變更對有效使用者群組所做的預設指派。 如果您將其中一個 [有效使用者] 群組的 [檢視執行個體層級資訊] 權限移除或設為 [拒絕],則該群組中的使用者無法存取專案、集合或部署,取決於您設定的群組。
  • 請勿將標註為「僅指派給服務帳戶」的權限指派給使用者帳戶。

角色型權限

使用角色型許可權時,您會將用戶帳戶或安全組指派給角色,併為每個角色指派一或多個許可權。 以下是主要角色和詳細信息的連結。

Project 管理員 istrators 或 Project Collection 管理員 istrators 群組的成員可以管理所有小組的所有小組工具。

預覽功能

功能旗標可控制對選取、新功能的存取。 Azure DevOps 會定期引進新功能,方法是將它們放在功能旗標後面。 項目成員和組織擁有者可以啟用或停用預覽功能。 如需詳細資訊,請參閱 管理或啟用功能

下一步