# 用户权限[](#用户权限 "Permalink")

不同的用户具有不同的权限，权限取决于他们在特定组或项目中具有的访问级别。 如果用户既属于项目组又属于项目本身，则使用最高权限级别。

在公共项目上，不启用Guest角色， 所有用户都能够：

*   新建 Issue
*   留言
*   克隆或下载项目代码

当成员离开团队的项目时，所有分配给他的" [Issue"](/docs/user/project/issues)及" [合并请求"](/docs/user/project/merge-request)将自动取消分配。

要添加或导入用户，可以遵循[项目成员文档](/docs/user/project/member)。

## 项目成员权限[](#project-members-permissions "Permalink")

虽然 Maintainer 是项目级别的最高角色，但是某些操作只能由拥有命名空间所有权限的用户或组的 Owner执行。 有关更多信息，请参阅[项目成员文档](/docs/user/project/member) 。

下表描述了项目中的各种用户权限级别：

| 操作 | Guest | Reporter | Developer | Maintainer | Owner* |
| --- | --- | --- | --- | --- | --- |
| 下载专案 | ✓ (*1*) | ✓ | ✓ | ✓ | ✓ |
| 留言 | ✓ (*1*) | ✓ | ✓ | ✓ | ✓ |
| 查看允许和拒绝的许可证 | ✓ (*1*) | ✓ | ✓ | ✓ | ✓ |
| 查看许可证合规性报告 | ✓ (*1*) | ✓ | ✓ | ✓ | ✓ |
| 查看安全报告 | ✓ (*3*) | ✓ | ✓ | ✓ | ✓ |
| 查看相关性列表 | ✓ (*1*) | ✓ | ✓ | ✓ | ✓ |
| 查看许可证列表 | ✓ (*1*) | ✓ | ✓ | ✓ | ✓ |
| 在相关性列表中查看许可证 | ✓ (*1*) | ✓ | ✓ | ✓ | ✓ |
| 查看项目代码 | ✓ (*1*) | ✓ | ✓ | ✓ | ✓ |
| 拉项目代码 | ✓ (*1*) | ✓ | ✓ | ✓ | ✓ |
| 查看受访问控制保护的页面 | ✓ | ✓ | ✓ | ✓ | ✓ |
| 查看 wiki | ✓ | ✓ | ✓ | ✓ | ✓ |
| 查看工作清单 | ✓ (*3*) | ✓ | ✓ | ✓ | ✓ |
| 查看工作日志 | ✓ (*3*) | ✓ | ✓ | ✓ | ✓ |
| 下载和浏览工作工件 | ✓ (*3*) | ✓ | ✓ | ✓ | ✓ |
| 新建 Issue | ✓ (*1*) | ✓ | ✓ | ✓ | ✓ |
| 查看相关 Issue | ✓ | ✓ | ✓ | ✓ | ✓ |
| 创建机密 Issue | ✓ (*1*) | ✓ | ✓ | ✓ | ✓ |
| 查看机密 Issue | (*2*) | ✓ | ✓ | ✓ | ✓ |
| 查看 Release | ✓ (*6*) | ✓ | ✓ | ✓ | ✓ |
| 管理用户加星标的指标仪表板（ *7* ） | ✓ | ✓ | ✓ | ✓ | ✓ |
| 分配 Issue |   | ✓ | ✓ | ✓ | ✓ |
| 标签 Issue |   | ✓ | ✓ | ✓ | ✓ |
| 设定 Issue 权重 |   | ✓ | ✓ | ✓ | ✓ |
| 锁定 Issue 讨论 |   | ✓ | ✓ | ✓ | ✓ |
| 管理问题追踪器 |   | ✓ | ✓ | ✓ | ✓ |
| 管理标签 |   | ✓ | ✓ | ✓ | ✓ |
| 创建代码段 |   | ✓ | ✓ | ✓ | ✓ |
| 查看提交状态 |   | ✓ | ✓ | ✓ | ✓ |
| 查看容器注册表 |   | ✓ | ✓ | ✓ | ✓ |
| 查看环境 |   | ✓ | ✓ | ✓ | ✓ |
| 查看合并请求列表 |   | ✓ | ✓ | ✓ | ✓ |
| 查看项目统计 |   |   | ✓ | ✓ | ✓ |
| 查看错误跟踪列表 |   | ✓ | ✓ | ✓ | ✓ |
| 创建新的合并请求 |   | ✓ | ✓ | ✓ | ✓ |
| 查看指标仪表板注释 |   | ✓ | ✓ | ✓ | ✓ |
| Pull packages |   | ✓ | ✓ | ✓ | ✓ |
| Publish packages |   |   | ✓ | ✓ | ✓ |
| Upload Design Management files |   |   | ✓ | ✓ | ✓ |
| Create/edit/delete [Releases](/docs/user/project/releases) |   |   | ✓ | ✓ | ✓ |
| 创建新分支 |   |   | ✓ | ✓ | ✓ |
| 推送到不受保护的分支 |   |   | ✓ | ✓ | ✓ |
| 强制推送到不受保护的分支 |   |   | ✓ | ✓ | ✓ |
| 删除不受保护的分支 |   |   | ✓ | ✓ | ✓ |
| 分配合并请求 |   |   | ✓ | ✓ | ✓ |
| 标签合并请求 |   |   | ✓ | ✓ | ✓ |
| 锁定合并请求线程 |   |   | ✓ | ✓ | ✓ |
| 批准合并请求（ *9* ） |   |   | ✓ | ✓ | ✓ |
| 管理/接受合并请求 |   |   | ✓ | ✓ | ✓ |
| 停止环境 |   |   | ✓ | ✓ | ✓ |
| 启用评论应用 |   |   | ✓ | ✓ | ✓ |
| 添加 Tag |   |   | ✓ | ✓ | ✓ |
| 创建或更新提交状态 |   |   | ✓ (*5*) | ✓ | ✓ |
| 更新容器注册表 |   |   | ✓ | ✓ | ✓ |
| 删除容器注册表映像 |   |   | ✓ | ✓ | ✓ |
| 创建/编辑/删除项目里程碑 |   |   | ✓ | ✓ | ✓ |
| 应用代码更改建议 |   |   | ✓ | ✓ | ✓ |
| 创建和编辑 Wiki 页面 |   |   | ✓ | ✓ | ✓ |
| 重写/删除 Git 标签 |   |   | ✓ | ✓ | ✓ |
| 创建/编辑/删除指标仪表板注释 |   |   | ✓ | ✓ | ✓ |
| 针对受保护的分支运行 CI / CD 管道 |   |   | ✓ (*5*) | ✓ | ✓ |
| 使用环境终端 |   |   |   | ✓ | ✓ |
| 添加新的团队成员 |   |   |   | ✓ | ✓ |
| 启用/禁用分支保护 |   |   |   | ✓ | ✓ |
| 推送到受保护的分支 |   |   |   | ✓ | ✓ |
| 为开发人员打开/关闭受保护的分支推送 |   |   |   | ✓ | ✓ |
| 启用/禁用标签保护 |   |   |   | ✓ | ✓ |
| 编辑专案 |   |   |   | ✓ | ✓ |
| 编辑项目徽章 |   |   |   | ✓ | ✓ |
| 与小组共享（邀请）项目 |   |   |   | ✓ (*8*) | ✓ (*8*) |
| 将部署密钥添加到项目 |   |   |   | ✓ | ✓ |
| 配置项目挂钩 |   |   |   | ✓ | ✓ |
| 管理跑步者 |   |   |   | ✓ | ✓ |
| 管理工作触发器 |   |   |   | ✓ | ✓ |
| 管理 CI / CD 变量 |   |   |   | ✓ | ✓ |
| 管理 Pages |   |   |   | ✓ | ✓ |
| 管理 Pages 域和证书 |   |   |   | ✓ | ✓ |
| 删除 Pages 页面 |   |   |   | ✓ | ✓ |
| 管理集群 |   |   |   | ✓ | ✓ |
| 管理项目运作 |   |   |   | ✓ | ✓ |
| 查看 Pod 日志 |   |   |   | ✓ | ✓ |
| 编辑评论（由任何用户发布） |   |   |   | ✓ | ✓ |
| 管理错误跟踪 |   |   |   | ✓ | ✓ |
| 删除维基页面 |   |   |   | ✓ | ✓ |
| 查看项目审核事件 |   |   |   | ✓ | ✓ |
| Manage push rules |   |   |   | ✓ | ✓ |
| 更改项目可见性 |   |   |   |   | ✓ |
| 将项目转移到另一个名称空间 |   |   |   |   | ✓ |
| 重命名项目 |   |   |   |   | ✓ |
| 删除分叉关系 |   |   |   |   | ✓ |
| 移除专案 |   |   |   |   | ✓ |
| 存档项目 |   |   |   |   | ✓ |
| 删除问题 |   |   |   |   | ✓ |
| 删除管道 |   |   |   |   | ✓ |
| 删除合并请求 |   |   |   |   | ✓ |
| 禁用通知电子邮件 |   |   |   |   | ✓ |
| 用力推动到受保护的分支（ *4* ） |   |   |   |   |   |
| 卸下受保护的分支（ *4* ） |   |   |   |   |   |
| 查看 CI \ CD 分析 |   | ✓ | ✓ | ✓ | ✓ |
| 查看代码审查分析 |   | ✓ | ✓ | ✓ | ✓ |
| 查看见解 | ✓ | ✓ | ✓ | ✓ | ✓ |
| 查看问题分析 | ✓ | ✓ | ✓ | ✓ | ✓ |
| 查看存储库分析 |   | ✓ | ✓ | ✓ | ✓ |
| 查看价值流分析 | ✓ | ✓ | ✓ | ✓ | ✓ |

*所有者权限仅在组或个人名称空间级别（例如，管理员）可用，并由其项目继承。

1.  Guest 用户能够对公共项目执行此操作，但不能对私有项目执行此操作
2.  Guest 用户只能查看他们自己创建的机密问题
3.  不允许 Guest，Reporter，Developer，Maintainer 或 Owner 使用，请参阅受保护的分支
4.  如果分支收到保护 ，则取决于授予开发人员和维护人员的权限
5.  Guest 用户可以访问 项目的 [**Release**](/docs/user/project/releases)来下载资源，但不能下载源代码，也不能查看代码仓库信息（例如标签和提交）
6.  操作仅限于用户拥有（引用）的记录​​
7.  启用" [共享组锁定"后](/docs/user/org#锁定与组织共享功能) ，该项目将无法与其他组共享，它不影响具有组共享的组

## 项目功能权限[](#project-features-permissions "Permalink")

### Wiki 和 issues[](#wiki-and-issues "Permalink")

可以根据项目设置上选择的可见性级别对用户隐藏 Wiki 和 Issue 等项目功能：

*   禁用：所有人禁用
*   仅团队成员：即使您的项目是公开的或内部的，也只有团队成员才能看到
*   有访问权限的所有人：每个人都可以看到，具体取决于您的项目可见性级别
*   每个人：为所有人启用

### 保护分支权限[](#protected-branches "Permalink")

可以在每个分支的受保护分支上应用其他限制，此外，您可以自定义权限，以允许或阻止项目维护者和开发者推送到受保护的分支。 

### 锁定文件权限[](#file-locking-permissions-premium "Permalink")

锁定文件或目录的用户是唯一可以编辑并将其更改推回锁定对象所在代码仓库的用户。

### 机密 Issue 权限[](#confidential-issues-permissions "Permalink")

报告者和更高的权限级别以及创建机密问题的来宾用户都可以访问机密问题. 要了解更多信息，请通读有关[权限和访问机密问题](/docs/user/project/issues/confidential#机密-issue-的访问权限)的文档.

## 组织成员权限[](#group-members-permissions "Permalink")

任何用户都可以将自己从组中删除，除非他们是该组的最后一个所有者。下表描述了组中的各种用户权限级别：

| 操作 | Guest | Reporter | Developer | Maintainer | Owner |
| --- | --- | --- | --- | --- | --- |
| 浏览组 | ✓ | ✓ | ✓ | ✓ | ✓ |
| 管理群组标记 |   | ✓ | ✓ | ✓ | ✓ |
| 管理群组里程碑 |   | ✓ | ✓ | ✓ | ✓ |
| Pull packages |   | ✓ | ✓ | ✓ | ✓ |
| Publish packages |   |   | ✓ | ✓ | ✓ |
| 查看指标仪表板注释 |   | ✓ | ✓ | ✓ | ✓ |
| 分组创建项目 |   |   | ✓ (3) | ✓ (3) | ✓ (3) |
| 与群组分享（邀请）群组 |   |   |   |   | ✓ |
| 创建/编辑/删除组里程碑 |   |   | ✓ | ✓ | ✓ |
| 创建/编辑/删除迭代 |   |   | ✓ | ✓ | ✓ |
| 启用/禁用依赖项代理 |   |   | ✓ | ✓ | ✓ |
| 使用安全仪表板 |   |   | ✓ | ✓ | ✓ |
| 创建/编辑/删除指标仪表板注释 |   |   | ✓ | ✓ | ✓ |
| 查看/管理组级别的 Kubernetes 集群 |   |   |   | ✓ | ✓ |
| 创建子组 |   |   |   | ✓ (1) | ✓ |
| 编辑史诗般的评论（由任何用户发布） |   |   |   | ✓ (2) | ✓ (2) |
| 编辑群组设定 |   |   |   |   | ✓ |
| 管理组级 CI / CD 变量 |   |   |   |   | ✓ |
| 列出组部署令牌 |   |   |   | ✓ | ✓ |
| 创建/删除组部署令牌 |   |   |   |   | ✓ |
| 管理小组成员 |   |   |   |   | ✓ |
| 删除群组 |   |   |   |   | ✓ |
| 删除组史诗 |   |   |   |   | ✓ |
| 编辑 SAML SSO 帐单 | ✓ | ✓ | ✓ | ✓ | ✓ (4) |
| 查看组审核事件 |   |   |   |   | ✓ |
| 禁用通知电子邮件 |   |   |   |   | ✓ |
| 查看贡献分析 | ✓ | ✓ | ✓ | ✓ | ✓ |
| 查看见解 | ✓ | ✓ | ✓ | ✓ | ✓ |
| 查看问题分析 | ✓ | ✓ | ✓ | ✓ | ✓ |
| 查看生产力分析 |   | ✓ | ✓ | ✓ | ✓ |
| 查看价值流分析 | ✓ | ✓ | ✓ | ✓ | ✓ |

### 子组织权限[](#subgroup-permissions "Permalink")

将成员添加到子组时，它们将从父组继承成员资格和权限级别。如果您是其父级成员之一，则允许访问嵌套组。

## 项目功能[](#project-features "Permalink")

可以根据用户在项目设置上选择的可见性级别对用户隐藏 Wiki 和问题等项目功能.

*   禁用：所有人禁用
*   仅团队成员：即使您的项目是公开的或内部的，也只有团队成员才能看到
*   有访问权限的所有人：每个人都可以看到，具体取决于您的项目可见性级别
*   每个人：为所有人启用（仅适用于 GitLab 页面）

## CI/CD 权限[](#gitlab-cicd-permissions "Permalink")

CI / CD 权限取决于用户在项目中的角色. 共有三个权限级别：

*   maintainer
*   developer
*   guest/reporter

| Action | 来宾，记者 | Developer | Maintainer  |
| --- | --- | --- | --- | 
| 查看提交和工作 | ✓ | ✓ | ✓ |
| 重试或取消作业 |   | ✓ | ✓ | 
| 擦除作业工件和跟踪 |   | ✓ (*1*) | ✓ |
| 删除项目 |   |   | ✓ |
| 建立项目 |   |   | ✓ |
| 更改项目配置 |   |   | ✓ |
| 添加特定Runner |   |   | ✓ |
| 添加共享Runner |   |   |   |
| 查看系统中的事件 |   |   |   |
