Azure DevOps Server 權限概述
在Azure DevOps Server (之前名稱為TFS)中,權限是一個比較復雜的概念。從權限層級上來說,包括服務器級別、團隊項目集合級別、團隊項目級別和對象級別。
其中的對象級別,是指對TFS系統中具體的每種類型的數據、或者每個具體的數據,對於不同的成員(或組)可以設置不同的權限。
Git權限概述
對於Git庫這個特定的數據對象,在Azure DevOps Server 中又分為代碼庫級別權限、庫級別和分支級別的權限設置。就是說,可以針對不同的人員在不同的數據級別上設置不同的權限。
下面我們就對每種不同的權限和權限的作用級別,做一個表格說明:
權限名稱 (英文) |
權限名稱 (中文) |
說明 |
存儲庫 |
庫 |
分支 |
Bypass policies when completing pull requests |
完成拉取請求時繞過策略 |
可以通過選中覆蓋分支策略來選擇覆蓋分支策略,並在完成PR時啟用合並。 |
√ |
√ |
√ |
Read |
讀取 |
可以克隆、提取、拉取、和瀏覽庫中的內容。 |
√ |
√ |
|
Remove others' locks |
刪除其他用戶的鎖定 |
可以刪除其他用戶設置的分支鎖。鎖定分支會阻止其他人向分支添加任何新提交,並阻止其他用戶更改現有提交歷史記錄。 |
√ |
√ |
√ |
Rename repository |
修改庫名 |
可以修改庫名 |
√ |
√ |
|
Manage permissions |
管理權限 |
可以修改庫或分支的權限 |
√ |
√ |
√ |
Manage notes |
管理說明 |
可以修改說明(notes),注意notes不是commits |
√ |
√ |
|
Force push (rewrite history, delete branches and tags) |
強制推送(重寫歷史記錄、刪除分支和標記) |
可以強制更新分支、刪除分支和修改分支的提交歷史記錄。可以刪除標簽和注釋。 |
√ |
√ |
√ |
Exempt From policy enforcement |
免除策略 |
可以繞過分支策略並執行以下兩個操作: |
√ |
√ |
√ |
Edit policies |
編輯策略 |
可以編輯存儲庫及其分支的策略。 |
√ |
√ |
√ |
Delete repository |
刪除庫 |
可刪除庫;默認用戶可以刪除自己創建的庫 |
√ |
√ |
|
Create tag |
創建標記 |
可以新建、推送標記 |
√ |
√ |
|
Create repository |
創建庫 |
可以創建新庫、分叉庫;創建者自動用於新庫的全部權限。 |
√ |
||
Create branch |
創建分支 |
1. 創建或發布新分支;缺少這個權限不影響用戶在本地創建分支 |
√ |
√ |
|
Contribute to pull requests |
參與拉取請求 |
可以創建、評論和投票請求。 |
√ |
√ |
|
Contribute |
參與 |
1. 在存儲庫級別上, 這個權限沒有什么意義 |
√ |
√ |
√ |
Bypass policies when pushing |
推送時繞過策略 |
可以推送到啟用了分支策略的分支。請注意,當具有此權限的用戶進行將覆蓋分支策略的推送時,推送會自動繞過分支策略,而不會出現任何選擇加入步驟或警告。完成拉請求時繞過策略,推送替換時繞過策略免除策略實施。適用於Azure DevOps服務和Azure DevOps服務器2019。 |
√ |
√ |
√ |
設置權限
您可以從Web門戶、tf命令行工具或使用tfsssecurity命令行工具管理每個git存儲庫或分支的安全性。在默認配置中,項目管理員被授予這些權限中的大部分(這些權限只出現在配置了Git存儲庫的項目中)。您可以管理所有git存儲庫或特定git repo的這些權限。下面的截圖介紹了如何在Web瀏覽器中設置Git權限。
- 在項目導航中,查詢到需要配置Git庫權限的團隊項目;
- 選項項目設置按鈕,也可以使用鍵盤快捷方式Ctrl+S
- 選擇存儲庫
- 在存儲庫中選擇任意一個節點的數據對象(上圖選擇了分支)
- 添加或者選擇現有用戶組
- 根據需要配置權限后,點擊“保存更改”,就可以為用戶/組配置好所需要的權限。
微軟DevOps MVP 張洪君 http://www.cnblogs.com/danzhang
--End--