Gitlab使用者許可權管理(原始碼修改)

2021-09-28 10:42:18 字數 1889 閱讀 1384

這個是在建立專案時就需要選定的,主要用於決定哪些人可以訪問此專案,包含3種

在滿足行為許可權之前,必須具備訪問許可權(如果沒有訪問許可權,那就無所謂行為許可權了),行為許可權是指對該專案進行某些操作,比如提交、建立問題、建立新分支、刪除分支、建立標籤、刪除標籤等.

gitlab定義了以下幾個角色:

不同角色,擁有不同許可權,下面列出gitlab各角色許可權

行為guest

reporter

developer

master

owner

建立issue✓✓

✓✓✓✓

✓✓✓✓

更新**✓✓

✓✓✓✓

✓✓建立**片段✓✓

✓✓建立合併請求✓✓

✓建立新分支✓✓

✓提交**到非保護分支✓✓

✓強制提交到非保護分支✓✓

✓移除非保護分支✓✓

✓新增tag✓✓

✓建立wiki✓✓

✓管理issue處理者✓✓

✓管理labels✓✓

✓建立里程碑✓✓

新增專案成員✓✓

提交保護分支✓✓

使能分支保護✓✓

修改/移除tag✓✓

編輯工程✓✓

新增deploy keys✓✓

配置hooks✓✓

切換visibility level

✓切換工程namespace

✓移除工程

✓強制提交保護分支

✓移除保護分支

✓更多許可權請檢視:

ps: 關於保護分支的設定,可以進入settings->protected branches進行管理

在專案中,我想去限制developer的許可權,比如不能讓developer管理merge請求。

有乙個辦法就是直接修改gitlab的原始碼,上述的行為許可權都會定義在project_policy.rb檔案中,我們只需要新增或刪除相應的許可權

rule .policy do

enable :admin_board

# 管理merge請求行為

# enable :admin_merge_request

enable :admin_milestone

# 更新merge請求行為

# enable :update_merge_request

enable :reopen_merge_request

enable :create_commit_status

enable :update_commit_status

enable :create_build

enable :update_build

enable :create_pipeline

enable :update_pipeline

enable :read_pipeline_schedule

enable :create_pipeline_schedule

enable :create_merge_request_from

enable :create_wiki

enable :push_code

enable :resolve_note

enable :create_container_image

enable :update_container_image

enable :destroy_container_image

enable :create_environment

enable :create_deployment

enable :create_release

enable :update_release

end

ps: gitlab版本號為12.3

GitLab使用者許可權管理

一 gitlab使用者許可權管理 gitlab使用者在組中有五種許可權 guest reporter developer master owner 2.reporter 可以轉殖 不能提交,qa pm可以賦予這個許可權 3.developer 可以轉殖 開發 提交 push rd可以賦予這個許可權 ...

GitLab使用者許可權管理

一 gitlab使用者許可權管理 gitlab使用者在組中有五種許可權 guest reporter developer master owner 2.reporter 可以轉殖 不能提交,qa pm可以賦予這個許可權 3.developer 可以轉殖 開發 提交 push rd可以賦予這個許可權 ...

Gitlab 之 使用者許可權管理

gitlab 使用者在 group 中有五種許可權,我將通過下邊的 對這些許可權進行總結 許可權名可執行的操作 適用的人 guest 純訪客reporter 可以轉殖 不能提交 測試人員 專案管理人員 developer 可以轉殖 pull push 開發人員 maintainer master 可...