設定 Git 存放庫權限

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

您可以授與或限制存放庫的存取權,以鎖定誰可以參與您的原始程式碼及管理其他功能。 您可以對最上層 [Git 存放庫] 項目進行變更,以設定所有 Git 存放庫的權限。 個別存放庫會繼承最上層 [Git 存放庫] 項目的權限。

注意

分支會從存放庫層級所做的指派繼承權限子集。 如需分支許可權和原則,請參閱使用分支原則設定分支許可權和改善程式碼品質。

如需誰提供更高許可權等級的指引,請參閱 使用許可權授與或限制存取權。

必要條件

若要參與原始程式碼,您必須獲授與基本存取層級或更高層級。 用戶獲授與 私人專案的項目關係人 存取權,無法存取原始程式碼。 已為公用專案授與 項目關係人 存取權的使用者具有與參與者相同的存取權,以及授與 基本 存取權的使用者。 若要深入瞭解,請參閱 關於存取層級

若要參與原始程式碼,您必須獲授與基本存取層級或更高層級。 獲得 項目關係人 存取權的用戶無法存取原始程式碼。 若要深入瞭解,請參閱 關於存取層級

預設存放庫許可權

根據預設,項目參與者群組的成員具有參與存放庫的許可權。 這包括建立分支、建立標記及管理附註的能力。 如需每個安全組和許可權等級的描述,請參閱 許可權和群組參考

權限

讀者

參與者

組建 管理員

專案 管理員


讀取 (複製、擷取及探索存放庫的內容):也可以建立、批注、投票和 參與提取要求

✔️

✔️

✔️

✔️

參與建立分支建立標記管理附註

✔️

✔️

✔️

建立存放庫刪除存放庫和重新命名存放庫

✔️

編輯原則管理許可權移除其他人的鎖定

✔️

完成提取要求時略過原則、 推送時略過原則、 強制推送 (重寫歷程記錄、刪除分支和標籤)
( 未針對任何安全組設定 )


Azure DevOps 短期衝刺 224 開始(Azure DevOps Services 和 Azure DevOps Server 2022.1 和更新版本), 編輯原則許可權將不再自動授與至分支建立者。 先前,當您建立新的分支時,已獲授與編輯該分支上原則的權限。 透過此更新,我們會將預設行為變更為不授與此許可權,即使已針對存放庫開啟 [許可權管理] 設定也一樣您必須透過安全性許可權繼承或透過群組成員資格明確授與 [編輯原則] 許可權(手動或透過 REST API)。

開啟存放庫的安全性

您可以從 Project 設定> Repositories 設定 Git 存放庫許可權

  1. 開啟入口網站,然後選擇您要新增使用者或群組的專案。 若要選擇其他專案,請參閱 切換專案、存放庫、小組

  2. 開啟 [項目設定>存放庫]。

    若要設定所有 Git 存放庫的權限,請選擇 [安全性]。

    例如,我們在這裡選擇 [1] [項目設定]、[2] [存放庫] 和 [3] [安全性]。

    顯示選擇 [項目設定存放庫>安全性] 的螢幕快照>。

  3. 否則,若要設定特定存放庫的許可權,請選擇 [1] 存放庫,然後選擇 [2] [安全性]。

    顯示選擇 [項目設定] [選擇存放庫>安全性] 的螢幕快照>。

設定存放庫的許可權

您可以將單一使用者或安全組的許可權狀態設定為 [允許] 或 [拒絕],以授與或限制存放庫的存取權。

  1. 開啟入口網站,然後選擇您要新增使用者或群組的專案。 若要選擇其他專案,請參閱 切換專案、存放庫、小組

  2. 若要設定專案的所有 Git 存放庫許可權,請選擇 [Git 存放庫 ],然後選擇您要管理其許可權的安全組。

    例如,我們在這裡選擇 [1] [專案] 設定、(2) [存放庫]、[3] Git 存放庫、[參與者] 群組,然後 [5] 建立存放庫的許可權。

    若要查看完整映像,請按兩下影像展開。 選擇要關閉的 關閉圖示 關閉圖示。

    Project 設定> Code 存放庫 Git 存放庫>>安全性>

    注意

    如果您尚未將使用者新增至安全組或專案小組,您可能無法從許可權頁面或身分識別欄位找到使用者。 此外,當使用者新增至 Microsoft Entra ID 或 Active Directory 時,在新增至專案的時間和從身分識別字段搜尋時,可能會有延遲。 延遲時間可以介於 5 分鐘到 7 天之間。

    否則,請選擇特定存放庫,然後選擇您要管理其許可權的安全組。

    注意

    如果您新增使用者或群組,而且不會變更該使用者或群組的任何許可權,則在重新整理許可權頁面時,您新增的使用者或群組就不會再出現。

  3. 完成後,選擇 [ 儲存變更]。

變更安全組的許可權

若要設定自定義安全組的許可權,您必須先前已定義該群組。 請參閱 在專案層級設定許可權。

  1. 若要設定特定群組的權限,請選擇群組。 例如,我們在這裡選擇參與者群組。

    顯示選擇參與者群組的螢幕快照。

  2. 變更一或多個許可權。 若要授與許可權,請將 [未設定] 變更[允許]。 若要限制許可權,請將 [允許] 變更[拒絕]。

    顯示參與者群組已變更三個許可權的螢幕快照。

  3. 完成後,請離開頁面。 許可權變更會自動儲存給選取的群組。

設定特定用戶的許可權

  1. 若要設定特定使用者的權限,請將使用者的名稱輸入至搜尋篩選條件,然後從出現的身分識別中選取該名稱。

    新增使用者或群組

    然後對許可權集合進行變更。

    注意

    如果您尚未將使用者新增至安全組或專案小組,您可能無法從許可權頁面或身分識別欄位找到使用者。 此外,當使用者新增至 Microsoft Entra ID 或 Active Directory 時,在新增至專案的時間和從身分識別字段搜尋時,可能會有延遲。 延遲時間可以介於 5 分鐘到 7 天之間。

  2. 完成後,請離開頁面。 許可權變更會自動儲存給選取的群組。

注意

如果您新增使用者或群組,而且不會變更該使用者或群組的任何許可權,則在重新整理許可權頁面時,您新增的使用者或群組就不會再出現。

啟用或停用特定存放庫的繼承

豁免原則強制執行和略過原則許可權

在許多情況下,您偶爾需要略過分支原則。 例如,還原造成建置中斷或在半夜套用 Hotfix 的變更時。 先前, 豁免原則強制執行 許可權可協助小組在完成提取要求時,管理哪些用戶能夠略過分支原則。 不過,該許可權也授與直接推送至分支的能力,完全略過PR程式。

為了改善此體驗,我們會分割 豁免原則強制執行 許可權,為授與略過許可權的小組提供更多控制權。 下列兩個權限會取代先前的權限:

  • 完成提取要求時略過原則。 具有此許可權的使用者將能夠使用提取要求的「覆寫」體驗。
  • 推送時略過原則。 具有此許可權的使用者將能夠直接推送至已設定必要原則的分支。

藉由授與第一個許可權並拒絕第二個許可權,用戶可以在必要時使用略過選項,但仍會有保護,避免意外推送至具有原則的分支。

注意

這項變更不會導入任何行為變更。 先前授與 [豁免原則強制執行允許] 的用戶會同時獲得 [允許] 這兩個新許可權,因此他們能夠同時覆寫 PR 的完成,並直接推送至具有原則的分支。