Gitlab权限概念
用户具有不同的能力,具体取决于他们在特定组或项目中的访问级别。如果用户同时在组的项目和项目本身中,则使用最高权限级别。
在公共和内部项目中,不会强制实施Guest角色。所有用户都可以创建问题,发表评论,克隆或下载项目代码。
当成员离开团队时, 将自动取消分配所有分配的问题和合并请求。
GitLab 管理员获得所有权限。
Gitlab权限列表
这里要列一下权限分类,因为gitlab的成员权限不单单只有一种。
- 项目成员角色
- Guest - 客人
- Reporter - 记者
- Developer - 开发者
- Master (11.0版本中已重命名为 Maintainer) - 维护者
- Owner - 所有者
- 组成员角色
- Guest - 客人
- Reporter - 记者
- Developer - 开发者
- Master (11.0版本中已重命名为 Maintainer) - 维护者
- Owner - 维护者
- GitLab CI-CD 角色
- Guest, Reporter - 客人,记者
- Developer - 开发者
- Maintainer - 维护者
- Admin - 管理员
- 工作角色
- Guest, Reporter - 客人,记者
- Developer - 开发者
- Maintainer - 维护者
- Admin - 管理员
一般管理员邀请用户加入到项目里都需要分配权限,如下:

项目成员权限
注意:在GitLab 11.0中,Master已重命名为Maintainer。
| Action | Guest | Reporter | Developer | Maintainer | Owner |
|---|---|---|---|---|---|
| 创建新问题 | ✓ | ✓ | ✓ | ✓ | ✓ |
| 创建机密问题 | ✓ | ✓ | ✓ | ✓ | ✓ |
| 查看机密问题 | ✓ | ✓ | ✓ | ✓ | ✓ |
| 留言 | ✓ | ✓ | ✓ | ✓ | ✓ |
| 查看相关问题 | ✓ | ✓ | ✓ | ✓ | ✓ |
| 查看工作列表 | ✓ | ✓ | ✓ | ✓ | ✓ |
| 查看工作日志 | ✓ | ✓ | ✓ | ✓ | ✓ |
| 下载并浏览作业工件 | ✓ | ✓ | ✓ | ✓ | ✓ |
| 查看维基页面 | ✓ | ✓ | ✓ | ✓ | ✓ |
| 查看许可证管理报告 | ✓ | ✓ | ✓ | ✓ | ✓ |
| 查看安全报告 | ✓ | ✓ | ✓ | ✓ | ✓ |
| 查看项目代码 | ✓ | ✓ | ✓ | ✓ | |
| 拉项目代码 | ✓ | ✓ | ✓ | ✓ | |
| 下载项目 | ✓ | ✓ | ✓ | ✓ | |
| 分配问题 | ✓ | ✓ | ✓ | ✓ | |
| 分配合并请求 | ✓ | ✓ | ✓ | ||
| 标签问题 | ✓ | ✓ | ✓ | ✓ | |
| 标签合并请求 | ✓ | ✓ | ✓ | ||
| 创建代码段 | ✓ | ✓ | ✓ | ✓ | |
| 管理问题跟踪器 | ✓ | ✓ | ✓ | ✓ | |
| 管理标签 | ✓ | ✓ | ✓ | ✓ | |
| 查看提交状态 | ✓ | ✓ | ✓ | ✓ | |
| 查看容器注册表 | ✓ | ✓ | ✓ | ✓ | |
| 查看环境 | ✓ | ✓ | ✓ | ✓ | |
| 查看合并请求列表 | ✓ | ✓ | ✓ | ✓ | |
| 管理相关问题 | ✓ | ✓ | ✓ | ✓ | |
| 锁定问题讨论 | ✓ | ✓ | ✓ | ✓ | |
| 从漏洞创建问题 | ✓ | ✓ | ✓ | ✓ | |
| 查看错误跟踪列表 | ✓ | ✓ | ✓ | ✓ | |
| 锁定合并请求讨论 | ✓ | ✓ | ✓ | ||
| 创建新环境 | ✓ | ✓ | ✓ | ||
| 停止环境 | ✓ | ✓ | ✓ | ||
| 管理/接受合并请求 | ✓ | ✓ | ✓ | ||
| 创建新的合并请求 | ✓ | ✓ | ✓ | ||
| 创建新分支 | ✓ | ✓ | ✓ | ||
| 推送到未受保护的分支机构 | ✓ | ✓ | ✓ | ||
| 强制推送到不受保护的分支机构 | ✓ | ✓ | ✓ | ||
| 删除未受保护的分支 | ✓ | ✓ | ✓ | ||
| 添加标签 | ✓ | ✓ | ✓ | ||
| 写一个维基 | ✓ | ✓ | ✓ | ||
| 取消并重试作业 | ✓ | ✓ | ✓ | ||
| 创建或更新提交状态 | ✓ | ✓ | ✓ | ||
| 更新容器注册表 | ✓ | ✓ | ✓ | ||
| 删除容器注册表图像 | ✓ | ✓ | ✓ | ||
| 创建/编辑/删除项目里程碑 | ✓ | ✓ | ✓ | ||
| 查看已批准/列入黑名单的许可 | ✓ | ✓ | ✓ | ||
| 使用安全仪表板 | ✓ | ✓ | ✓ | ||
| 解除漏洞 | ✓ | ✓ | ✓ | ||
| 应用代码更改建议 | ✓ | ✓ | ✓ | ||
| 使用环境终端 | ✓ | ✓ | |||
| 运行Web IDE的交互式Web终端 | ✓ | ✓ | |||
| 添加新的团队成员 | ✓ | ✓ | |||
| 推送到受保护的分支 | ✓ | ✓ | |||
| 启用/禁用分支保护 | ✓ | ✓ | |||
| 为开发人员打开/关闭受保护的分支推送 | ✓ | ✓ | |||
| 启用/禁用标签保护 | ✓ | ✓ | |||
| 重写/删除Git标签 | ✓ | ✓ | |||
| 将部署密钥添加到项目中 | ✓ | ✓ | |||
| 配置项目挂钩 | ✓ | ✓ | |||
| 管理跑步者 | ✓ | ✓ | |||
| 管理工作触发器 | ✓ | ✓ | |||
| 管理变量 | ✓ | ✓ | |||
| 管理GitLab页面 | ✓ | ✓ | |||
| 管理GitLab Pages域和证书 | ✓ | ✓ | |||
| 删除GitLab页面 | ✓ | ||||
| 查看受访问控制保护的GitLab页面 | ✓ | ✓ | ✓ | ✓ | ✓ |
| 管理集群 | ✓ | ✓ | |||
| 管理许可证政策 | ✓ | ✓ | |||
| 编辑评论(由任何用户发布) | ✓ | ✓ | |||
| 管理错误跟踪 | ✓ | ✓ | |||
| 切换可见性级别 | ✓ | ||||
| 将项目转移到另一个名称空 | ✓ | ||||
| 删除项目 | ✓ | ||||
| 删除问题 | ✓ | ||||
| 删除页面 | ✓ | ||||
| 强行推动受保护的分支机构 | |||||
| 删除受保护的分支 | |||||
| 查看项目审核事件 | ✓ | ✓ |
组成员权限
| Action | Guest | Reporter | Developer | Maintainer | Owner |
|---|---|---|---|---|---|
| 浏览组 | ✓ | ✓ | ✓ | ✓ | ✓ |
| 编辑组 | ✓ | ||||
| 创建子组 | ✓ | ||||
| 在组中创建项目 | ✓ | ✓ | ✓ | ||
| 管理小组成员 | ✓ | ||||
| 删除组 | ✓ | ||||
| 管理组标签 | ✓ | ✓ | ✓ | ✓ | |
| 创建/编辑/删除组里程碑 | ✓ | ✓ | ✓ | ||
| 查看组史诗 | ✓ | ✓ | ✓ | ✓ | ✓ |
| 创建/编辑组史诗 | ✓ | ✓ | ✓ | ✓ | |
| 删除组史诗 | ✓ | ||||
| 查看组审核事件 | ✓ |
GitLab CI / CD权限
| Action | Guest, Reporter | Developer | Maintainer | Admin |
|---|---|---|---|---|
| 查看提交和工作 | ✓ | ✓ | ✓ | ✓ |
| 重试或取消工作 | ✓ | ✓ | ✓ | |
| 擦除作业工件和跟踪 | ✓ | ✓ | ✓ | |
| 删除项目 | ✓ | ✓ | ||
| 创建项目 | ✓ | ✓ | ||
| 更改项目配置 | ✓ | ✓ | ||
| 添加特定的跑步者 | ✓ | ✓ | ||
| 添加共享的运行者 | ✓ | |||
| 查看系统中的事件 | ✓ | |||
| 管理界面 | ✓ |
工作权限
| Action | Guest, Reporter | Developer | Maintainer | Admin |
|---|---|---|---|---|
| 运行CI作业 | ✓ | ✓ | ✓ | |
| 从当前项目克隆源和LFS | ✓ | ✓ | ✓ | |
| 从公共项目克隆源和LFS | ✓ | ✓ | ✓ | |
| 从内部项目克隆源和LFS | ✓ | ✓ | ✓ | |
| 私有项目的克隆源和LFS | ✓ | ✓ | ✓ | |
| 推送源和LFS | ||||
| 从当前项目中提取容器图像 | ✓ | ✓ | ✓ | |
| 从公共项目中提取容器图像 | ✓ | ✓ | ✓ | |
| 从内部项目中提取容器图像 | ✓ | ✓ | ✓ | |
| 从私人项目中提取容器图像 | ✓ | ✓ | ✓ | |
| 将容器图像推送到当前项目 | ✓ | ✓ | ✓ | |
| 将容器图像推送到其他项目 | ✓ |
以上是权限明细列表,在给成员分配权限时需要合理分配。