# Permissions
> 原文:[https://docs.gitlab.com/ee/user/permissions.html](https://docs.gitlab.com/ee/user/permissions.html)
* [Principles behind permissions](#principles-behind-permissions)
* [Instance-wide user permissions](#instance-wide-user-permissions)
* [Project members permissions](#project-members-permissions)
* [Project features permissions](#project-features-permissions)
* [Wiki and issues](#wiki-and-issues)
* [Protected branches](#protected-branches)
* [Value Stream Analytics permissions](#value-stream-analytics-permissions)
* [Issue Board permissions](#issue-board-permissions)
* [File Locking permissions](#file-locking-permissions-premium)
* [Confidential Issues permissions](#confidential-issues-permissions)
* [Group members permissions](#group-members-permissions)
* [Subgroup permissions](#subgroup-permissions)
* [External users](#external-users-core-only)
* [Setting new users to external](#setting-new-users-to-external)
* [Free Guest users](#free-guest-users-ultimate)
* [Auditor users](#auditor-users-premium-only)
* [Project features](#project-features)
* [GitLab CI/CD permissions](#gitlab-cicd-permissions)
* [Job permissions](#job-permissions)
* [New CI job permissions model](#new-ci-job-permissions-model)
* [Running pipelines on protected branches](#running-pipelines-on-protected-branches)
* [LDAP users permissions](#ldap-users-permissions)
* [Project aliases](#project-aliases)
# Permissions[](#permissions "Permalink")
用戶具有不同的能力,具體取決于他們在特定組或項目中具有的訪問級別. 如果用戶既屬于項目組又屬于項目本身,則使用最高權限級別.
在公共和內部項目上,不執行來賓角色. 所有用戶將能夠:
* 創造問題.
* 留言.
* 克隆或下載項目代碼.
當成員離開團隊的項目時,所有分配的" [問題"](project/issues/index.html)和" [合并請求"](project/merge_requests/index.html)將自動取消分配.
GitLab [管理員擁有](../administration/index.html)所有權限.
要添加或導入用戶,可以遵循[項目成員文檔](project/members/index.html) .
## Principles behind permissions[](#principles-behind-permissions "Permalink")
有關[權限的信息,](https://about.gitlab.com/handbook/product/gitlab-the-product/#permissions-in-gitlab)請參見我們的[產品手冊](https://about.gitlab.com/handbook/product/gitlab-the-product/#permissions-in-gitlab) .
## Instance-wide user permissions[](#instance-wide-user-permissions "Permalink")
默認情況下,用戶可以創建頂級組并更改其用戶名. GitLab 管理員可以配置 GitLab 實例來[修改此行為](../administration/user_settings.html) .
## Project members permissions[](#project-members-permissions "Permalink")
**注意:**在 GitLab 11.0 中,"主"角色已重命名為"維護者".
雖然維護者是項目級別的最高角色,但是某些操作只能由擁有所有權限的個人名稱空間或組所有者或實例管理員執行. 有關更多信息,請參閱[項目成員文檔](project/members/index.html) .
下表描述了項目中的各種用戶權限級別.
| Action | Guest | Reporter | Developer | Maintainer | Owner* |
| --- | --- | --- | --- | --- | --- |
| 下載專案 | ? (*1*) | ? | ? | ? | ? |
| 留言 | ? (*1*) | ? | ? | ? | ? |
| 查看允許和拒絕的許可證 | ? (*1*) | ? | ? | ? | ? |
| 查看許可證合規性報告 | ? (*1*) | ? | ? | ? | ? |
| 查看安全報告 | ? (*3*) | ? | ? | ? | ? |
| 查看相關性列表 | ? (*1*) | ? | ? | ? | ? |
| 查看許可證列表 | ? (*1*) | ? | ? | ? | ? |
| 在相關性列表中查看許可證 | ? (*1*) | ? | ? | ? | ? |
| View [Design Management](project/issues/design_management.html) pages | ? | ? | ? | ? | ? |
| 查看項目代碼 | ? (*1*) | ? | ? | ? | ? |
| 拉項目代碼 | ? (*1*) | ? | ? | ? | ? |
| 查看受[訪問控制](project/pages/introduction.html#gitlab-pages-access-control-core)保護的 GitLab 頁面 | ? | ? | ? | ? | ? |
| 查看維基頁面 | ? | ? | ? | ? | ? |
| 查看工作清單 | ? (*3*) | ? | ? | ? | ? |
| 查看工作日志 | ? (*3*) | ? | ? | ? | ? |
| 下載和瀏覽工作工件 | ? (*3*) | ? | ? | ? | ? |
| 創刊號 | ? (*1*) | ? | ? | ? | ? |
| 查看相關問題 | ? | ? | ? | ? | ? |
| 創建機密問題 | ? (*1*) | ? | ? | ? | ? |
| 查看機密問題 | (*2*) | ? | ? | ? | ? |
| View [Releases](project/releases/index.html) | ? (*6*) | ? | ? | ? | ? |
| 查看要求 | ? | ? | ? | ? | ? |
| 管理用戶加星標的指標儀表板( *7* ) | ? | ? | ? | ? | ? |
| 分配問題 | ? | ? | ? | ? | ? |
| 標簽問題 | ? | ? | ? | ? | ? |
| 設定發行權重 | ? | ? | ? | ? | ? |
| 鎖定問題線程 | ? | ? | ? | ? | ? |
| 管理問題追蹤器 | ? | ? | ? | ? | ? |
| 管理相關問題 | ? | ? | ? | ? | ? |
| 管理標簽 | ? | ? | ? | ? | ? |
| 創建代碼段 | ? | ? | ? | ? | ? |
| 查看提交狀態 | ? | ? | ? | ? | ? |
| 查看容器注冊表 | ? | ? | ? | ? | ? |
| 查看環境 | ? | ? | ? | ? | ? |
| 查看合并請求列表 | ? | ? | ? | ? | ? |
| 查看項目統計 | ? | ? | ? | ? | ? |
| 查看錯誤跟蹤列表 | ? | ? | ? | ? | ? |
| 創建新的合并請求 | ? | ? | ? | ? | ? |
| 查看指標儀表板注釋 | ? | ? | ? | ? | ? |
| 創建/編輯需求 | ? | ? | ? | ? | ? |
| Pull [packages](packages/index.html) | ? | ? | ? | ? | ? |
| Publish [packages](packages/index.html) | ? | ? | ? | ? | ? |
| Upload [Design Management](project/issues/design_management.html) files | ? | ? | ? | ? | ? |
| Create/edit/delete [Releases](project/releases/index.html) | ? | ? | ? | ? | ? |
| 創建新分支 | ? | ? | ? | ? | ? |
| 推送到不受保護的分支 | ? | ? | ? | ? | ? |
| 強制推送到不受保護的分支 | ? | ? | ? | ? | ? |
| 刪除不受保護的分支 | ? | ? | ? | ? | ? |
| 分配合并請求 | ? | ? | ? | ? | ? |
| 標簽合并請求 | ? | ? | ? | ? | ? |
| 鎖定合并請求線程 | ? | ? | ? | ? | ? |
| 批準合并請求( *9* ) | ? | ? | ? | ? | ? |
| 管理/接受合并請求 | ? | ? | ? | ? | ? |
| 創建新環境 | ? | ? | ? | ? | ? |
| 停止環境 | ? | ? | ? | ? | ? |
| 啟用評論應用 | ? | ? | ? | ? | ? |
| 添加標簽 | ? | ? | ? | ? | ? |
| 取消并重試作業 | ? | ? | ? | ? | ? |
| 創建或更新提交狀態 | ? | ? | ? (*5*) | ? | ? |
| 更新容器注冊表 | ? | ? | ? | ? | ? |
| 刪除容器注冊表映像 | ? | ? | ? | ? | ? |
| 創建/編輯/刪除項目里程碑 | ? | ? | ? | ? | ? |
| 使用安全儀表板 | ? | ? | ? | ? | ? |
| 在"依賴關系"列表中查看漏洞發現 | ? | ? | ? | ? | ? |
| 從漏洞發現中創建問題 | ? | ? | ? | ? | ? |
| 消除漏洞發現 | ? | ? | ? | ? | ? |
| 查看漏洞 | ? | ? | ? | ? | ? |
| 通過漏洞發現創建漏洞 | ? | ? | ? | ? | ? |
| 解決漏洞 | ? | ? | ? | ? | ? |
| 消除漏洞 | ? | ? | ? | ? | ? |
| 應用代碼更改建議 | ? | ? | ? | ? | ? |
| 創建和編輯 Wiki 頁面 | ? | ? | ? | ? | ? |
| 重寫/刪除 Git 標簽 | ? | ? | ? | ? | ? |
| 管理功能標記 | ? | ? | ? | ? | ? |
| 創建/編輯/刪除指標儀表板注釋 | ? | ? | ? | ? | ? |
| 針對受保護的分支運行 CI / CD 管道 | ? | ? | ? (*5*) | ? | ? |
| 使用環境終端 | ? | ? | ? | ? | ? |
| 運行 Web IDE 的交互式 Web 終端 | ? | ? | ? | ? | ? |
| 添加新的團隊成員 | ? | ? | ? | ? | ? |
| 啟用/禁用分支保護 | ? | ? | ? | ? | ? |
| 推送到受保護的分支 | ? | ? | ? | ? | ? |
| 為開發人員打開/關閉受保護的分支推送 | ? | ? | ? | ? | ? |
| 啟用/禁用標簽保護 | ? | ? | ? | ? | ? |
| 編輯專案 | ? | ? | ? | ? | ? |
| 編輯項目徽章 | ? | ? | ? | ? | ? |
| 與小組共享(邀請)項目 | ? | ? | ? | ? (*8*) | ? (*8*) |
| 將部署密鑰添加到項目 | ? | ? | ? | ? | ? |
| 配置項目掛鉤 | ? | ? | ? | ? | ? |
| 管理跑步者 | ? | ? | ? | ? | ? |
| 管理工作觸發器 | ? | ? | ? | ? | ? |
| 管理 CI / CD 變量 | ? | ? | ? | ? | ? |
| 管理 GitLab 頁面 | ? | ? | ? | ? | ? |
| 管理 GitLab Pages 域和證書 | ? | ? | ? | ? | ? |
| 刪除 GitLab 頁面 | ? | ? | ? | ? | ? |
| 管理集群 | ? | ? | ? | ? | ? |
| 管理項目運作 | ? | ? | ? | ? | ? |
| 查看 Pod 日志 | ? | ? | ? | ? | ? |
| 管理許可政策 | ? | ? | ? | ? | ? |
| 編輯評論(由任何用戶發布) | ? | ? | ? | ? | ? |
| 管理錯誤跟蹤 | ? | ? | ? | ? | ? |
| 刪除維基頁面 | ? | ? | ? | ? | ? |
| 查看項目審核事件 | ? | ? | ? | ? | ? |
| Manage [push rules](../push_rules/push_rules.html) | ? | ? | ? | ? | ? |
| Manage [project access tokens](./project/settings/project_access_tokens.html) | ? | ? | ? | ? | ? |
| Switch visibility level | ? | ? | ? | ? | ? |
| 將項目轉移到另一個名稱空間 | ? | ? | ? | ? | ? |
| 重命名項目 | ? | ? | ? | ? | ? |
| 刪除分叉關系 | ? | ? | ? | ? | ? |
| 移除專案 | ? | ? | ? | ? | ? |
| 存檔項目 | ? | ? | ? | ? | ? |
| 刪除問題 | ? | ? | ? | ? | ? |
| 刪除管道 | ? | ? | ? | ? | ? |
| 刪除合并請求 | ? | ? | ? | ? | ? |
| 禁用通知電子郵件 | ? | ? | ? | ? | ? |
| 用力推動到受保護的分支( *4* ) | ? | ? | ? | ? | ? |
| 卸下受保護的分支( *4* ) | ? | ? | ? | ? | ? |
| 查看 CI \ CD 分析 | ? | ? | ? | ? | ? |
| 查看代碼審查分析 | ? | ? | ? | ? | ? |
| 查看見解 | ? | ? | ? | ? | ? |
| 查看問題分析 | ? | ? | ? | ? | ? |
| 查看存儲庫分析 | ? | ? | ? | ? | ? |
| 查看價值流分析 | ? | ? | ? | ? | ? |
*所有者權限僅在組或個人名稱空間級別(例如,管理員)可用,并由其項目繼承.
1. 來賓用戶能夠對公共和內部項目執行此操作,但不能對私有項目執行此操作.
2. 來賓用戶只能查看他們自己創建的機密問題.
3. 如果在**項目設置> CI / CD 中**啟用了**公共管道** .
4. 不允許訪客,記者,開發人員,維護人員或所有者使用. 請參閱[受保護的分支](./project/protected_branches.html) .
5. 如果[分支受保護](./project/protected_branches.html#using-the-allowed-to-merge-and-allowed-to-push-settings) ,則取決于授予開發人員和維護人員的權限.
6. 來賓用戶可以訪問 GitLab [**版本**](project/releases/index.html)來下載資產,但不能下載源代碼,也不能查看存儲庫信息(例如標簽和提交).
7. 操作僅限于用戶擁有(引用)的記錄??.
8. 啟用" [共享組鎖定"后](./group/index.html#share-with-group-lock) ,該項目將無法與其他組共享. 它不影響具有組共享的組.
9. 有關合并請求的[合格批準人的](project/merge_requests/merge_request_approvals.html#eligible-approvers)信息,請參閱[合格](project/merge_requests/merge_request_approvals.html#eligible-approvers)合并[人](project/merge_requests/merge_request_approvals.html#eligible-approvers) .
## Project features permissions[](#project-features-permissions "Permalink")
### Wiki and issues[](#wiki-and-issues "Permalink")
可以根據用戶在項目設置上選擇的可見性級別對用戶隱藏 Wiki 和問題等項目功能.
* 禁用:所有人禁用
* 僅團隊成員:即使您的項目是公開的或內部的,也只有團隊成員才能看到
* 有訪問權限的所有人:每個人都可以看到,具體取決于您的項目可見性級別
* 每個人:為所有人啟用(僅適用于 GitLab 頁面)
### Protected branches[](#protected-branches "Permalink")
可以在每個分支的[受保護](project/protected_branches.html)分支上應用其他限制. 此外,您可以自定義權限,以允許或阻止項目維護者和開發者推送到受保護的分支. 閱讀有關" [允許合并"和"允許推送"設置](project/protected_branches.html#using-the-allowed-to-merge-and-allowed-to-push-settings)的文檔以了解更多信息.
### Value Stream Analytics permissions[](#value-stream-analytics-permissions "Permalink")
如[相關文檔](analytics/value_stream_analytics.html#permissions)所述,在 Value Stream Analytics 儀表板上找到當前權限.
### Issue Board permissions[](#issue-board-permissions "Permalink")
具有較高權限級別的開發人員和用戶可以使用發行版的所有功能,即創建/刪除列表并拖動發行版. 通讀[有關發行板權限](project/issue_board.html#permissions)的[文檔](project/issue_board.html#permissions)以了解更多信息.
### File Locking permissions[](#file-locking-permissions-premium "Permalink")
鎖定文件或目錄的用戶是唯一可以編輯并將其更改推回鎖定對象所在存儲庫的用戶.
通讀[有關文件鎖定權限的文檔](project/file_lock.html#permissions-on-file-locking)以了解更多信息.
### Confidential Issues permissions[](#confidential-issues-permissions "Permalink")
報告者和更高的權限級別以及創建機密問題的來賓用戶都可以訪問機密問題. 要了解更多信息,請通讀有關[權限和訪問機密問題](project/issues/confidential_issues.html#permissions-and-access-to-confidential-issues)的文檔.
## Group members permissions[](#group-members-permissions "Permalink")
**注意:**在 GitLab 11.0 中,"主"角色已重命名為"維護者".
任何用戶都可以將自己從組中刪除,除非他們是該組的最后一個所有者. 下表描述了組中的各種用戶權限級別.
| Action | Guest | Reporter | Developer | Maintainer | Owner |
| --- | --- | --- | --- | --- | --- |
| 瀏覽組 | ? | ? | ? | ? | ? |
| 查看見解圖表 | ? | ? | ? | ? | ? |
| 查看小組史詩 | ? | ? | ? | ? | ? |
| 創建/編輯小組史詩 | ? | ? | ? | ? | ? |
| 管理群組標簽 | ? | ? | ? | ? | ? |
| 查看容器注冊表 | ? | ? | ? | ? | ? |
| Pull [packages](packages/index.html) | ? | ? | ? | ? | ? |
| Publish [packages](packages/index.html) | ? | ? | ? | ? | ? |
| 查看指標儀表板注釋 | ? | ? | ? | ? | ? |
| 分組創建項目 | ? | ? | ? (3) | ? (3) | ? (3) |
| 與群組分享(邀請)群組 | ? | ? | ? | ? | ? |
| 創建/編輯/刪除組里程碑 | ? | ? | ? | ? | ? |
| 創建/編輯/刪除迭代 | ? | ? | ? | ? | ? |
| 啟用/禁用依賴項代理 | ? | ? | ? | ? | ? |
| 使用安全儀表板 | ? | ? | ? | ? | ? |
| 創建/編輯/刪除指標儀表板注釋 | ? | ? | ? | ? | ? |
| 查看/管理組級別的 Kubernetes 集群 | ? | ? | ? | ? | ? |
| 創建子組 | ? | ? | ? | ? (1) | ? |
| 編輯史詩般的評論(由任何用戶發布) | ? | ? | ? | ? (2) | ? (2) |
| 編輯群組設定 | ? | ? | ? | ? | ? |
| 管理組級 CI / CD 變量 | ? | ? | ? | ? | ? |
| 列出組部署令牌 | ? | ? | ? | ? | ? |
| 創建/刪除組部署令牌 | ? | ? | ? | ? | ? |
| 管理小組成員 | ? | ? | ? | ? | ? |
| 刪除群組 | ? | ? | ? | ? | ? |
| 刪除組史詩 | ? | ? | ? | ? | ? |
| 編輯 SAML SSO 帳單 | ? | ? | ? | ? | ? (4) |
| 查看組審核事件 | ? | ? | ? | ? | ? |
| 禁用通知電子郵件 | ? | ? | ? | ? | ? |
| 查看貢獻分析 | ? | ? | ? | ? | ? |
| 查看見解 | ? | ? | ? | ? | ? |
| 查看問題分析 | ? | ? | ? | ? | ? |
| 查看生產力分析 | ? | ? | ? | ? | ? |
| 查看價值流分析 | ? | ? | ? | ? | ? |
| 查看帳單 | ? | ? | ? | ? | ? (4) |
| 查看使用配額 | ? | ? | ? | ? | ? (4) |
1. 可以設置組以[允許所有者或所有者和維護者創建子組](group/subgroups/index.html#creating-a-subgroup)
2. 在 GitLab 12.2 中引入.
3. 可以在以下位置更改默認項目創建角色:
* [實例級別](admin_area/settings/visibility_and_access_controls.html#default-project-creation-protection) .
* [小組級別](group/index.html#default-project-creation-level) .
4. 不適用于子組.
### Subgroup permissions[](#subgroup-permissions "Permalink")
將成員添加到子組時,它們將從父組繼承成員資格和權限級別. 如果您是其父級成員之一,則該模型允許訪問嵌套組.
To learn more, read through the documentation on [subgroups memberships](group/subgroups/index.html#membership).
## External users[](#external-users-core-only "Permalink")
如果希望用戶只能訪問某些內部或私有項目,則可以選擇創建**外部用戶** . 例如,當承包商在給定項目上工作且僅應訪問該項目時,此功能可能很有用.
外部用戶:
* 無法創建群組,項目或個人摘要.
* 只能訪問公共項目和顯式授予其訪問權限的項目,從而對它們隱藏所有其他內部或私有項目(例如注銷).
可以通過將用戶添加為項目或組的成員來授予訪問權限. 與普通用戶一樣,他們將在項目或組中獲得角色,具有[上面權限表](#project-members-permissions)中提到的所有功能. 例如,如果將外部用戶添加為 Guest,而您的項目是私有項目,則他們將無權訪問該代碼; 如果您希望外部用戶具有訪問代碼的權限,則需要授予其外部訪問權限. 您應始終考慮[項目的可見性和權限設置](project/settings/index.html#sharing-and-permissions)以及用戶的權限級別.
**注意:**外部用戶仍然計入許可證席位.
管理員可以通過以下兩種方法之一將用戶標記為外部用戶:
* Either [through the API](../api/users.html#user-modification).
* 或通過導航到**管理區域>概述>用戶**來創建新用戶或編輯現有用戶. 在那里,您將找到將用戶標記為外部的選項.
### Setting new users to external[](#setting-new-users-to-external "Permalink")
默認情況下,新用戶未設置為外部用戶. 管理員可以在" **帳戶和限制"**下的" **管理區域">"設置">"常規"**頁面上更改此行為.
如果更改了將新用戶創建為外部用戶的默認行為,則可以選擇通過定義一組內部用戶來縮小范圍. **內部用戶**字段允許指定電子郵件地址正則表達式模式以標識默認內部用戶. 默認情況下,其電子郵件地址與正則表達式模式匹配的新用戶將設置為內部用戶,而不是外部協作者.
正則表達式模式格式為 Ruby,但需要將其轉換為 JavaScript,并將設置大小寫忽略標志( `/regex pattern/i` ). 這里有些例子:
* 使用`\.internal@domain\.com$`將以`.internal@domain.com`結尾的電子郵件地址標記為內部.
* 使用`^(?:(?!\.ext@domain\.com).)*$\r?` 使用不包含`.ext@domain.com`電子郵件地址標記用戶為內部用戶.
**警告:**請注意,此正則表達式可能導致[正則表達式拒絕服務(ReDoS)攻擊](https://en.wikipedia.org/wiki/ReDoS) .
## Free Guest users[](#free-guest-users-ultimate "Permalink")
如果為用戶授予了項目,組或組或兩者的來賓權限,并且對 GitLab 實例上的任何其他項目或組均沒有更高的權限級別,則該用戶被 GitLab 視為來賓用戶,并且不會占用許可證席位. 對于新創建的用戶,沒有其他特定的"來賓"指定.
如果在任何項目或組上為用戶分配了更高的角色,則該用戶將獲得許可席位. 如果用戶創建項目,則該用戶將成為該項目的維護者,從而導致使用許可證席位. 另外,請注意,如果您的項目是內部項目或私有項目,則來賓用戶將具有[上面](#project-members-permissions)的[權限表](#project-members-permissions)中提到的所有功能(例如,他們將無法瀏覽項目的存儲庫).
**提示:**為防止訪客用戶創建項目,請以管理員身份編輯用戶的個人資料,以將該用戶標記為[external](#external-users-core-only) . 請注意,即使用戶是外部用戶,如果他們在任何項目或組中已經具有 Reporter 或更高權限, **也不**會將其計為免費的來賓用戶.
## Auditor users[](#auditor-users-premium-only "Permalink")
[Introduced](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/998) in [GitLab Premium](https://about.gitlab.com/pricing/) 8.17.
審核員用戶被授予對 GitLab 實例上所有項目,組和其他資源的只讀訪問權限.
審核員用戶應能夠使用[審核員用戶權限](../administration/auditor_users.html#permissions-and-restrictions-of-an-auditor-user)文檔中所述的權限訪問 GitLab 實例的所有項目和組.
[Read more about Auditor users.](../administration/auditor_users.html)
## Project features[](#project-features "Permalink")
可以根據用戶在項目設置上選擇的可見性級別對用戶隱藏 Wiki 和問題等項目功能.
* 禁用:所有人禁用
* 僅團隊成員:即使您的項目是公開的或內部的,也只有團隊成員才能看到
* 有訪問權限的所有人:每個人都可以看到,具體取決于您的項目可見性級別
* 每個人:為所有人啟用(僅適用于 GitLab 頁面)
## GitLab CI/CD permissions[](#gitlab-cicd-permissions "Permalink")
**注意:**在 GitLab 11.0 中,"主"角色已重命名為"維護者".
GitLab CI / CD 權限取決于用戶在 GitLab 中的角色. 共有四個權限級別:
* admin
* maintainer
* developer
* guest/reporter
管理員用戶可以在 GitLab 實例和項目范圍內對 GitLab CI / CD 執行任何操作. 此外,所有管理員都可以使用`/admin/runners`下的管理界面.
| Action | 來賓,記者 | Developer | Maintainer | Admin |
| --- | --- | --- | --- | --- |
| 查看提交和工作 | ? | ? | ? | ? |
| 重試或取消作業 | ? | ? | ? | ? |
| 擦除工件和跟蹤 | ? | ? (*1*) | ? | ? |
| 移除專案 | ? | ? | ? | ? |
| 建立專案 | ? | ? | ? | ? |
| 更改項目配置 | ? | ? | ? | ? |
| 添加特定跑步者 | ? | ? | ? | ? |
| 添加共享的跑步者 | ? | ? | ? | ? |
| 查看系統中的事件 | ? | ? | ? | ? |
| 管理界面 | ? | ? | ? | ? |
1. 僅當工作是:
* 由用戶觸發
* [從 GitLab 13.0 開始](https://gitlab.com/gitlab-org/gitlab/-/issues/35069) ,不為受保護的分支運行
### Job permissions[](#job-permissions "Permalink")
**注意:**在 GitLab 11.0 中,"主"角色已重命名為"維護者".
> **注意:** GitLab 8.12 具有完全重新設計的作業權限系統. 閱讀有關[新模型及其含義的](project/new_ci_build_permissions_model.html)所有信息.
下表顯示了由特定類型的用戶觸發的作業的授予特權:
| Action | 來賓,記者 | Developer | Maintainer | Admin |
| --- | --- | --- | --- | --- |
| 運行 CI 作業 | ? | ? | ? | ? |
| 從當前項目克隆源和 LFS | ? | ? | ? | ? |
| 從公共項目克隆源和 LFS | ? | ? | ? | ? |
| 從內部項目克隆源和 LFS | ? | ? (*1*) | ? (*1*) | ? |
| 從私有項目克隆源和 LFS | ? | ? (*2*) | ? (*2*) | ? (*2*) |
| 從當前項目中提取容器圖像 | ? | ? | ? | ? |
| 從公共項目中提取容器圖像 | ? | ? | ? | ? |
| 從內部項目中提取容器圖像 | ? | ? (*1*) | ? (*1*) | ? |
| 從私有項目中提取容器圖像 | ? | ? (*2*) | ? (*2*) | ? (*2*) |
| 將容器圖像推送到當前項目 | ? | ? | ? | ? |
| 將容器圖像推送到其他項目 | ? | ? | ? | ? |
| 推送源和 LFS | ? | ? | ? | ? |
1. 僅當用戶不是外部用戶時
2. 僅當用戶是項目成員時
### New CI job permissions model[](#new-ci-job-permissions-model "Permalink")
GitLab 8.12 具有完全重新設計的工作權限系統. 要了解更多信息,請通讀有關[新 CI / CD 權限模型](project/new_ci_build_permissions_model.html#new-ci-job-permissions-model)的文檔.
## Running pipelines on protected branches[](#running-pipelines-on-protected-branches "Permalink")
合并或推送到受保護分支的權限用于定義用戶是否可以運行 CI / CD 管道并在與那些分支相關的作業上執行操作.
有關管道安全模型的詳細信息,請參閱[受保護分支上](../ci/pipelines/index.html#pipeline-security-on-protected-branches)的安全性.
## LDAP users permissions[](#ldap-users-permissions "Permalink")
從 GitLab 8.15 開始,LDAP 用戶權限現在可以由管理員用戶手動覆蓋. 通讀有關[LDAP 用戶權限](group/index.html#manage-group-memberships-via-ldap)的文檔以了解更多信息.
## Project aliases[](#project-aliases "Permalink")
項目別名只能由 GitLab 管理員讀取,創建和刪除. 通讀有關[項目別名](../user/project/index.html#project-aliases-premium-only)的文檔以了解更多信息.
- GitLab Docs
- Installation
- Requirements
- GitLab cloud native Helm Chart
- Install GitLab with Docker
- Installation from source
- Install GitLab on Microsoft Azure
- Installing GitLab on Google Cloud Platform
- Installing GitLab on Amazon Web Services (AWS)
- Analytics
- Code Review Analytics
- Productivity Analytics
- Value Stream Analytics
- Kubernetes clusters
- Adding and removing Kubernetes clusters
- Adding EKS clusters
- Adding GKE clusters
- Group-level Kubernetes clusters
- Instance-level Kubernetes clusters
- Canary Deployments
- Cluster Environments
- Deploy Boards
- GitLab Managed Apps
- Crossplane configuration
- Cluster management project (alpha)
- Kubernetes Logs
- Runbooks
- Serverless
- Deploying AWS Lambda function using GitLab CI/CD
- Securing your deployed applications
- Groups
- Contribution Analytics
- Custom group-level project templates
- Epics
- Manage epics
- Group Import/Export
- Insights
- Issues Analytics
- Iterations
- Public access
- SAML SSO for GitLab.com groups
- SCIM provisioning using SAML SSO for GitLab.com groups
- Subgroups
- Roadmap
- Projects
- GitLab Secure
- Security Configuration
- Container Scanning
- Dependency Scanning
- Dependency List
- Static Application Security Testing (SAST)
- Secret Detection
- Dynamic Application Security Testing (DAST)
- GitLab Security Dashboard
- Offline environments
- Standalone Vulnerability pages
- Security scanner integration
- Badges
- Bulk editing issues and merge requests at the project level
- Code Owners
- Compliance
- License Compliance
- Compliance Dashboard
- Create a project
- Description templates
- Deploy Keys
- Deploy Tokens
- File finder
- Project integrations
- Integrations
- Atlassian Bamboo CI Service
- Bugzilla Service
- Custom Issue Tracker service
- Discord Notifications service
- Enabling emails on push
- GitHub project integration
- Hangouts Chat service
- Atlassian HipChat
- Irker IRC Gateway
- GitLab Jira integration
- Mattermost Notifications Service
- Mattermost slash commands
- Microsoft Teams service
- Mock CI Service
- Prometheus integration
- Redmine Service
- Slack Notifications Service
- Slack slash commands
- GitLab Slack application
- Webhooks
- YouTrack Service
- Insights
- Issues
- Crosslinking Issues
- Design Management
- Confidential issues
- Due dates
- Issue Boards
- Issue Data and Actions
- Labels
- Managing issues
- Milestones
- Multiple Assignees for Issues
- Related issues
- Service Desk
- Sorting and ordering issue lists
- Issue weight
- Associate a Zoom meeting with an issue
- Merge requests
- Allow collaboration on merge requests across forks
- Merge Request Approvals
- Browser Performance Testing
- How to create a merge request
- Cherry-pick changes
- Code Quality
- Load Performance Testing
- Merge Request dependencies
- Fast-forward merge requests
- Merge when pipeline succeeds
- Merge request conflict resolution
- Reverting changes
- Reviewing and managing merge requests
- Squash and merge
- Merge requests versions
- Draft merge requests
- Members of a project
- Migrating projects to a GitLab instance
- Import your project from Bitbucket Cloud to GitLab
- Import your project from Bitbucket Server to GitLab
- Migrating from ClearCase
- Migrating from CVS
- Import your project from FogBugz to GitLab
- Gemnasium
- Import your project from GitHub to GitLab
- Project importing from GitLab.com to your private GitLab instance
- Import your project from Gitea to GitLab
- Import your Jira project issues to GitLab
- Migrating from Perforce Helix
- Import Phabricator tasks into a GitLab project
- Import multiple repositories by uploading a manifest file
- Import project from repo by URL
- Migrating from SVN to GitLab
- Migrating from TFVC to Git
- Push Options
- Releases
- Repository
- Branches
- Git Attributes
- File Locking
- Git file blame
- Git file history
- Repository mirroring
- Protected branches
- Protected tags
- Push Rules
- Reduce repository size
- Signing commits with GPG
- Syntax Highlighting
- GitLab Web Editor
- Web IDE
- Requirements Management
- Project settings
- Project import/export
- Project access tokens (Alpha)
- Share Projects with other Groups
- Snippets
- Static Site Editor
- Wiki
- Project operations
- Monitor metrics for your CI/CD environment
- Set up alerts for Prometheus metrics
- Embedding metric charts within GitLab-flavored Markdown
- Embedding Grafana charts
- Using the Metrics Dashboard
- Dashboard YAML properties
- Metrics dashboard settings
- Panel types for dashboards
- Using Variables
- Templating variables for metrics dashboards
- Prometheus Metrics library
- Monitoring AWS Resources
- Monitoring HAProxy
- Monitoring Kubernetes
- Monitoring NGINX
- Monitoring NGINX Ingress Controller
- Monitoring NGINX Ingress Controller with VTS metrics
- Alert Management
- Error Tracking
- Tracing
- Incident Management
- GitLab Status Page
- Feature Flags
- GitLab CI/CD
- GitLab CI/CD pipeline configuration reference
- GitLab CI/CD include examples
- Introduction to CI/CD with GitLab
- Getting started with GitLab CI/CD
- How to enable or disable GitLab CI/CD
- Using SSH keys with GitLab CI/CD
- Migrating from CircleCI
- Migrating from Jenkins
- Auto DevOps
- Getting started with Auto DevOps
- Requirements for Auto DevOps
- Customizing Auto DevOps
- Stages of Auto DevOps
- Upgrading PostgreSQL for Auto DevOps
- Cache dependencies in GitLab CI/CD
- GitLab ChatOps
- Cloud deployment
- Docker integration
- Building Docker images with GitLab CI/CD
- Using Docker images
- Building images with kaniko and GitLab CI/CD
- GitLab CI/CD environment variables
- Predefined environment variables reference
- Where variables can be used
- Deprecated GitLab CI/CD variables
- Environments and deployments
- Protected Environments
- GitLab CI/CD Examples
- Test a Clojure application with GitLab CI/CD
- Using Dpl as deployment tool
- Testing a Phoenix application with GitLab CI/CD
- End-to-end testing with GitLab CI/CD and WebdriverIO
- DevOps and Game Dev with GitLab CI/CD
- Deploy a Spring Boot application to Cloud Foundry with GitLab CI/CD
- How to deploy Maven projects to Artifactory with GitLab CI/CD
- Testing PHP projects
- Running Composer and NPM scripts with deployment via SCP in GitLab CI/CD
- Test and deploy Laravel applications with GitLab CI/CD and Envoy
- Test and deploy a Python application with GitLab CI/CD
- Test and deploy a Ruby application with GitLab CI/CD
- Test and deploy a Scala application to Heroku
- GitLab CI/CD for external repositories
- Using GitLab CI/CD with a Bitbucket Cloud repository
- Using GitLab CI/CD with a GitHub repository
- GitLab Pages
- GitLab Pages
- GitLab Pages domain names, URLs, and baseurls
- Create a GitLab Pages website from scratch
- Custom domains and SSL/TLS Certificates
- GitLab Pages integration with Let's Encrypt
- GitLab Pages Access Control
- Exploring GitLab Pages
- Incremental Rollouts with GitLab CI/CD
- Interactive Web Terminals
- Optimizing GitLab for large repositories
- Metrics Reports
- CI/CD pipelines
- Pipeline Architecture
- Directed Acyclic Graph
- Multi-project pipelines
- Parent-child pipelines
- Pipelines for Merge Requests
- Pipelines for Merged Results
- Merge Trains
- Job artifacts
- Pipeline schedules
- Pipeline settings
- Triggering pipelines through the API
- Review Apps
- Configuring GitLab Runners
- GitLab CI services examples
- Using MySQL
- Using PostgreSQL
- Using Redis
- Troubleshooting CI/CD
- GitLab Package Registry
- GitLab Container Registry
- Dependency Proxy
- GitLab Composer Repository
- GitLab Conan Repository
- GitLab Maven Repository
- GitLab NPM Registry
- GitLab NuGet Repository
- GitLab PyPi Repository
- API Docs
- API resources
- .gitignore API
- GitLab CI YMLs API
- Group and project access requests API
- Appearance API
- Applications API
- Audit Events API
- Avatar API
- Award Emoji API
- Project badges API
- Group badges API
- Branches API
- Broadcast Messages API
- Project clusters API
- Group clusters API
- Instance clusters API
- Commits API
- Container Registry API
- Custom Attributes API
- Dashboard annotations API
- Dependencies API
- Deploy Keys API
- Deployments API
- Discussions API
- Dockerfiles API
- Environments API
- Epics API
- Events
- Feature Flags API
- Feature flag user lists API
- Freeze Periods API
- Geo Nodes API
- Group Activity Analytics API
- Groups API
- Import API
- Issue Boards API
- Group Issue Boards API
- Issues API
- Epic Issues API
- Issues Statistics API
- Jobs API
- Keys API
- Labels API
- Group Labels API
- License
- Licenses API
- Issue links API
- Epic Links API
- Managed Licenses API
- Markdown API
- Group and project members API
- Merge request approvals API
- Merge requests API
- Project milestones API
- Group milestones API
- Namespaces API
- Notes API
- Notification settings API
- Packages API
- Pages domains API
- Pipeline schedules API
- Pipeline triggers API
- Pipelines API
- Project Aliases API
- Project import/export API
- Project repository storage moves API
- Project statistics API
- Project templates API
- Projects API
- Protected branches API
- Protected tags API
- Releases API
- Release links API
- Repositories API
- Repository files API
- Repository submodules API
- Resource label events API
- Resource milestone events API
- Resource weight events API
- Runners API
- SCIM API
- Search API
- Services API
- Application settings API
- Sidekiq Metrics API
- Snippets API
- Project snippets
- Application statistics API
- Suggest Changes API
- System hooks API
- Tags API
- Todos API
- Users API
- Project-level Variables API
- Group-level Variables API
- Version API
- Vulnerabilities API
- Vulnerability Findings API
- Wikis API
- GraphQL API
- Getting started with GitLab GraphQL API
- GraphQL API Resources
- API V3 to API V4
- Validate the .gitlab-ci.yml (API)
- User Docs
- Abuse reports
- User account
- Active sessions
- Deleting a User account
- Permissions
- Personal access tokens
- Profile preferences
- Threads
- GitLab and SSH keys
- GitLab integrations
- Git
- GitLab.com settings
- Infrastructure as code with Terraform and GitLab
- GitLab keyboard shortcuts
- GitLab Markdown
- AsciiDoc
- GitLab Notification Emails
- GitLab Quick Actions
- Autocomplete characters
- Reserved project and group names
- Search through GitLab
- Advanced Global Search
- Advanced Syntax Search
- Time Tracking
- GitLab To-Do List
- Administrator Docs
- Reference architectures
- Reference architecture: up to 1,000 users
- Reference architecture: up to 2,000 users
- Reference architecture: up to 3,000 users
- Reference architecture: up to 5,000 users
- Reference architecture: up to 10,000 users
- Reference architecture: up to 25,000 users
- Reference architecture: up to 50,000 users
- Troubleshooting a reference architecture set up
- Working with the bundled Consul service
- Configuring PostgreSQL for scaling
- Configuring GitLab application (Rails)
- Load Balancer for multi-node GitLab
- Configuring a Monitoring node for Scaling and High Availability
- NFS
- Working with the bundled PgBouncer service
- Configuring Redis for scaling
- Configuring Sidekiq
- Admin Area settings
- Continuous Integration and Deployment Admin settings
- Custom instance-level project templates
- Diff limits administration
- Enable and disable GitLab features deployed behind feature flags
- Geo nodes Admin Area
- GitLab Pages administration
- Health Check
- Job logs
- Labels administration
- Log system
- PlantUML & GitLab
- Repository checks
- Repository storage paths
- Repository storage types
- Account and limit settings
- Service templates
- System hooks
- Changing your time zone
- Uploads administration
- Abuse reports
- Activating and deactivating users
- Audit Events
- Blocking and unblocking users
- Broadcast Messages
- Elasticsearch integration
- Gitaly
- Gitaly Cluster
- Gitaly reference
- Monitoring GitLab
- Monitoring GitLab with Prometheus
- Performance Bar
- Usage statistics
- Object Storage
- Performing Operations in GitLab
- Cleaning up stale Redis sessions
- Fast lookup of authorized SSH keys in the database
- Filesystem Performance Benchmarking
- Moving repositories managed by GitLab
- Run multiple Sidekiq processes
- Sidekiq MemoryKiller
- Switching to Puma
- Understanding Unicorn and unicorn-worker-killer
- User lookup via OpenSSH's AuthorizedPrincipalsCommand
- GitLab Package Registry administration
- GitLab Container Registry administration
- Replication (Geo)
- Geo database replication
- Geo with external PostgreSQL instances
- Geo configuration
- Using a Geo Server
- Updating the Geo nodes
- Geo with Object storage
- Docker Registry for a secondary node
- Geo for multiple nodes
- Geo security review (Q&A)
- Location-aware Git remote URL with AWS Route53
- Tuning Geo
- Removing secondary Geo nodes
- Geo data types support
- Geo Frequently Asked Questions
- Geo Troubleshooting
- Geo validation tests
- Disaster Recovery (Geo)
- Disaster recovery for planned failover
- Bring a demoted primary node back online
- Automatic background verification
- Rake tasks
- Back up and restore GitLab
- Clean up
- Namespaces
- Maintenance Rake tasks
- Geo Rake Tasks
- GitHub import
- Import bare repositories
- Integrity check Rake task
- LDAP Rake tasks
- Listing repository directories
- Praefect Rake tasks
- Project import/export administration
- Repository storage Rake tasks
- Generate sample Prometheus data
- Uploads migrate Rake tasks
- Uploads sanitize Rake tasks
- User management
- Webhooks administration
- X.509 signatures
- Server hooks
- Static objects external storage
- Updating GitLab
- GitLab release and maintenance policy
- Security
- Password Storage
- Custom password length limits
- Restrict allowed SSH key technologies and minimum length
- Rate limits
- Webhooks and insecure internal web services
- Information exclusivity
- How to reset your root password
- How to unlock a locked user from the command line
- User File Uploads
- How we manage the TLS protocol CRIME vulnerability
- User email confirmation at sign-up
- Security of running jobs
- Proxying assets
- CI/CD Environment Variables
- Contributor and Development Docs
- Contribute to GitLab
- Community members & roles
- Implement design & UI elements
- Issues workflow
- Merge requests workflow
- Code Review Guidelines
- Style guides
- GitLab Architecture Overview
- CI/CD development documentation
- Database guides
- Database Review Guidelines
- Database Review Guidelines
- Migration Style Guide
- What requires downtime?
- Understanding EXPLAIN plans
- Rake tasks for developers
- Mass inserting Rails models
- GitLab Documentation guidelines
- Documentation Style Guide
- Documentation structure and template
- Documentation process
- Documentation site architecture
- Global navigation
- GitLab Docs monthly release process
- Telemetry Guide
- Usage Ping Guide
- Snowplow Guide
- Experiment Guide
- Feature flags in development of GitLab
- Feature flags process
- Developing with feature flags
- Feature flag controls
- Document features deployed behind feature flags
- Frontend Development Guidelines
- Accessibility & Readability
- Ajax
- Architecture
- Axios
- Design Patterns
- Frontend Development Process
- DropLab
- Emojis
- Filter
- Frontend FAQ
- GraphQL
- Icons and SVG Illustrations
- InputSetter
- Performance
- Principles
- Security
- Tooling
- Vuex
- Vue
- Geo (development)
- Geo self-service framework (alpha)
- Gitaly developers guide
- GitLab development style guides
- API style guide
- Go standards and style guidelines
- GraphQL API style guide
- Guidelines for shell commands in the GitLab codebase
- HTML style guide
- JavaScript style guide
- Migration Style Guide
- Newlines style guide
- Python Development Guidelines
- SCSS style guide
- Shell scripting standards and style guidelines
- Sidekiq debugging
- Sidekiq Style Guide
- SQL Query Guidelines
- Vue.js style guide
- Instrumenting Ruby code
- Testing standards and style guidelines
- Flaky tests
- Frontend testing standards and style guidelines
- GitLab tests in the Continuous Integration (CI) context
- Review Apps
- Smoke Tests
- Testing best practices
- Testing levels
- Testing Rails migrations at GitLab
- Testing Rake tasks
- End-to-end Testing
- Beginner's guide to writing end-to-end tests
- End-to-end testing Best Practices
- Dynamic Element Validation
- Flows in GitLab QA
- Page objects in GitLab QA
- Resource class in GitLab QA
- Style guide for writing end-to-end tests
- Testing with feature flags
- Translate GitLab to your language
- Internationalization for GitLab
- Translating GitLab
- Proofread Translations
- Merging translations from CrowdIn
- Value Stream Analytics development guide
- GitLab subscription
- Activate GitLab EE with a license