• 通用

    1. 概述

    统一代码库基于Gitlab,主要用来管理成员、权限分配、安全审计、查看日志等。

    2. 前置条件

    具有管理代码库的权限,例如项目所有者,各角色详情如下:

    3. 权限规则

    代码库权限规则 当新建应用服务、删除应用服务、修改项目角色、修改组织角色等操作时,对应的代码库权限将做相应的变更。规则如下:

    总体规则:

    具体规则:

    4. 权限分配

    1. 概述

    权限分配是指对Gitlab的成员权限进行分配的操作。权限分配对应Gitlab对成员的新增、编辑、删除功能,只有分配了权限,用户才拥有对Gitlab的操作权限(例如git pull、git push等)。当对成员进行增删改时,会将权限同步至Gitlab image

    注意:当用户手动去Gitlab修改对应的权限,将会导致两边的权限不一致

    系统提供了2个机制解决权限不一致问题

    1.通过定时任务定时审计成员的权限,并提供修复功能,具体参见权限审计页面

    2.当两边权限不一致时、或者由于网络原因导致操作失败,对成员进行权限修改可能会导致未同步状态,用户可手动使用同步按钮进行同步

    2. 添加成员

    点击添加成员,右侧弹出添加成员页面,在此可以选择多个应用服务和多个成员,并设置权限和过期日期,点击添加,可将选中的成员添加到系统中,并且关联的Gitlab项目也会添加对应的成员。

    当添加的成员在应用服务中已存在,系统会将该成员的权限进行更新

    当添加出现异常导致添加失败时,系统会将该成员设置为未同步,表示该成员权限与Gitlab不一致。

    image

    3. 权限申请

    当用户想要加入某个应用服务时,可点击权限申请按钮进行权限申请,申请类型有2种:新成员权限变更。当检测到当前申请人在选中应用服务中未分配过权限,则类型为新成员;反之,当检测到当前申请人在选中的应用服务中分配过权限,则类型为权限变更。 权限申请提交后,需等待审批,具体见权限审批页面。 image

    4. 导出权限

    点击导出权限,可将当前查询条件下的列表导出为Excel

    5. 查看

    当用户进入权限分配页面时,默认展示所有服务的成员权限情况,可通过过滤表筛选具体某个服务的权限。

    5.1 修改成员权限

    当点击具体用户名权限时,可在侧弹窗中修改当前成员的权限 image

    5.2 删除成员权限

    当点击删除时,会将该成员的权限移除 image

    5.3 同步

    当出现未同步状态时,用户将不可以对该成员进行编辑,可以点击同步按钮,将Gitlab的权限同步至当前系统。解决系统与Gitlab权限不一致的问题 image

    6. 权限到期检查

    系统中设置了每日执行的权限到期检查定时任务,该定时任务会将当日过期的代码库成员自动移除

    7. 过期权限提醒

    系统中设置了每日执行的过期权限提醒定时任务,该定时任务会查找即将过期的成员(默认3天,可通过定时任务配置),并发送站内信通知项目管理员

    权限审批

    1. 概述

    权限审批功能可以审批用户提交的权限申请。审批通过之后将会更改改成员的权限 image.png

    2. 审批

    点击审批按钮,在侧弹窗中将展示待审批的详情,可选择审批通过或拒绝

    image

    5. 权限审计

    1. 概述

    权限审计功能展示当前系统的成员权限和Gitlab的成员权限的差异数据。对比的字段为权限过期日期字段,不一致的数据,使用红色标识。表格的数据由后台定时任务进行权限比对之后生成。后台定时任务会定期审计整个组织的权限一致性情况并记录。

    权限审计定时任务设置为每月1日执行

    字段说明 审计执行日期:显示上一次审计执行的日期 差异数据总数:显示当前条件下的权限差异数据总数 image

    2. 修复

    修复功能用于将Gitlab权限修复为符合总体规则规范的权限。 image

    6. 安全审计

    1. 概述

    安全审计功能主要展示成员的已授权服务的占比,当权限占比超过50%时,将以橙色展示,为管理员提供预警

    例:A成员在所有服务均拥有Gitlab权限,占比100%,权限过高,值得留意

    image

    2. 查看成员权限

    点击具体用户名,在侧弹窗中会展示该成员在各个应用服务所拥有的权限。 image

    7. 保护分支/标记

    1.概述

    保护分支/标记功能用于对Gitlab设置保护分支和保护标记,可对分支和标记做更精确的权限控制,防止无权限人员的随意操作。该功能对应Gitlab的Protected BranchesProtected Tags权限说明:

    例如:当设置release分支的允许合并的权限为任何人均不允许,则任何人均无法合并分支到release

    image

    2. 保护分支

    添加保护分支

    添加保护分支需设置3个属性,受保护的分支、是否允许合并、是否允许推送

    image

    修改保护分支

    修改保护分支基本与添加类似,用于更改权限 image

    取消保护

    取消保护用于将该保护分支移除,移除后恢复默认的权限逻辑。

    3. 保护标记

    添加保护标记

    添加保护标记需设置2个属性,受保护的标记、是否允许创建

    image

    编辑保护标记

    修改保护标记基本与添加类似,用于更改权限 image

    取消保护

    取消保护用于将该保护标记移除,移除后恢复默认的权限逻辑。

    8. 操作日志

    1. 概述

    操作日志会记录和展示用户对权限的操作。共分为5中操作类型:添加成员、更新成员、移除成员、移除过期成员、同步成员。

    image

    9. 总览

    1. 概述

    总览界面展示当前项目各个应用服务的概况 image

    10. 管理指南

    代码库管理

    权限查看

    1. 概述

    权限查看页面展示当前组织下所有项目的代码库权限分配情况

    2. 导出权限

    点击导出权限,可将当前查询条件下的列表导出为Excel image

    权限审计

    1. 概述

    权限审计页面展示当前组织下所有项目的代码库权限审计结果

    操作日志

    1. 概述

    操作日志页面展示当前组织下所有项目的代码库权限操作日志 image