可见性
代码库、代码组可以通过设置可见性,来约束访问权限。
代码库的可见性
-
私有:仅代码库成员可以查看该库的信息,其他用户无法访问该路径。
-
组织可见:组织内成员可以访问代码库。
代码组的可见性
-
私有:仅代码组成员可查看组下的子组/库列表。
-
组织可见:组织内成员可以查看组下子组/库列表。
代码库/组角色
用户可以通过在特定的代码组/代码库内为成员配置不同的角色,从而获得对应的权限。成员角色分3种:管理员、开发者、浏览者,具体说明如下:
代码库角色
支持为代码库成员分配三种角色:管理员、开发者、浏览者。
-
管理员:可以读取、Clone、Push 和添加成员权限到该代码库。
-
开发者:可以读取、Clone、Push 到该代码库。
-
浏览者:可以读取、Clone 该代码库。
代码组角色
支持为代码组成员分配三种角色:管理员、开发者、浏览者。
-
管理员:可以设置并拥有组下代码库的所有权限,以及添加代码组成员权限。
-
开发者:可以读取、Clone、Push 组下全部代码库。
-
浏览者:可以读取、Clone 组下全部代码库。
如果用户在代码库和代码组中同时被赋予了不同角色,则使用最高权限级别。如:用户在 a/b 库上,a 组为管理员,b 库为开发者,则在b库的最终权限为管理员。
权限
代码库权限
|
操作 |
浏览者 |
开发者 |
管理员 |
|
浏览代码库 |
✔️ |
✔️ |
✔️ |
|
克隆 / 拉取 / 下载 |
✔️ |
✔️ |
✔️ |
|
推送 (新建 / 上传 / 编辑) |
❌ |
✔️ |
✔️ |
|
查看提交 |
✔️ |
✔️ |
✔️ |
|
评论提交 |
✔️ |
✔️ |
✔️ |
|
创建分支 |
❌ |
✔️ |
✔️ |
|
查看分支 |
✔️ |
✔️ |
✔️ |
|
删除非保护分支 |
❌ |
✔️ |
✔️ |
|
删除保护分支 |
❌ |
❌ |
❌ |
|
强制推送保护分支 |
❌ |
❌ |
❌ |
|
创建 / 编辑合并请求 |
❌ |
✔️ |
✔️ |
|
查看 / 评论合并请求 |
✔️ |
✔️ |
✔️ |
|
通过合并请求 |
❌ |
✔️ |
✔️ |
|
Merge 合并请求 |
❌ |
✔️ |
✔️ |
|
关闭 / 重新打开合并请求 |
❌ |
✔️ |
✔️ |
|
创建 / 编辑 Tag |
❌ |
✔️ |
✔️ |
|
删除 Tag |
❌ |
✔️ |
✔️ |
|
查看 Tag |
✔️ |
✔️ |
✔️ |
|
查看活动 |
✔️ |
✔️ |
✔️ |
|
查看库成员 |
✔️ |
✔️ |
✔️ |
|
管理库成员 |
❌ |
❌ |
✔️ |
|
编辑库(修改库名称 / 描述 / 封面 / 可见性) |
❌ |
❌ |
✔️ |
|
代码库高危操作(修改库路径,归档 / 解除归档代码库,删除代码库,转移代码库) |
❌ |
❌ |
✔️ |
|
存储空间管理(存储库GC) |
❌ |
❌ |
✔️ |
|
分支设置(修改默认分支,编辑保护分支) |
❌ |
❌ |
✔️ |
|
合并请求设置 |
❌ |
❌ |
✔️ |
|
Webhooks设置 |
❌ |
❌ |
✔️ |
|
部署密钥设置 |
❌ |
❌ |
✔️ |
|
集成服务设置 |
❌ |
❌ |
✔️ |
代码库成员管理
添加成员
添加成员。仓库管理员可点击左侧菜单中的成员后选择添加成员,检索特定成员(用户名检索)后选择添加。在添加成员对话框中,左侧从部门树中选择目标部门,右侧勾选需要添加的成员。底部通过下拉菜单选择成员角色,可选角色包括浏览者、开发者和管理者,选择完成后单击添加。
变更成员权限
管理员在成员列表中,选择库中某个成员,点击角色列的下拉列表即可变更成员权限。
删除成员
管理员在成员列表中,选择某个成员后点击移除成员,二次确认后可删除成员。在代码库左侧导航栏单击成员,进入成员管理页面,找到目标成员,单击操作列的移除成员图标即可将该成员从仓库中移除。非管理员可主动退出代码库。
代码组权限
|
操作 |
浏览者 |
开发者 |
管理员 |
|
查看组 |
✔️ |
✔️ |
✔️ |
|
创建代码库 |
✔️ |
✔️ |
|
|
创建子代码组 |
✔️ |
✔️ |
|
|
编辑组 |
✔️ |
||
|
管理组成员 |
✔️ |
||
|
删除组 |
✔️ |
针对在代码组中创建/删除代码库、子代码组的场景,需同时考虑全局权限配置。
在全局设置中,代码库设置页面的创建代码库角色默认勾选组织管理者、组织成员和组织外部成员,而代码组设置页面的创建代码组角色仅勾选组织管理者。
-
若全局设置中限制了仅允许组织管理者创建库/组,代码组内除组织管理者外的组管理员或开发者不允许创建库/组;
-
若全局设置中允许组织管理员和组织成员创建库/组,则代码组内支持作为组织管理员或成员的组管理员和开发者创建库/组;