一. 项目背景
当前,网络维护的专业性强,往往全权委托给一名管理人员负责。这种“超级管理员”在系统中的权限过大,可以轻易获得系统中存储、处理的大量涉密信息,一旦泄密,后果不堪设想。根据国家保密规定和标准,涉密信息系统应当配备系统管理员、安全保密管理员和安全审计员(简称“三员”),分别负责涉密信息系统运行维护、安全保密管理、安全审计工作。且“三员”应经过严格审查,定期进行审核,并保持相对稳定。为此在凯特低代码平台基础上提出进行三员改造,以符合系统安全符合三员管理规则,特此针对此需求做三员管理需求设计。
二、系统实现
2.1 三员管理定义
三员管理主要包括系统管理员、安全保密管理员、安全审计员,其中,安全审计员和安全管理员相互进行审计和监督、安全审计员对系统管理员的相关操作进行审计和监督、安全管理员对系统管理员的操作同样进行审计和监督。其图形描述如下所示:
1) 系统管理员:主要负责系统的日常运行维护工作,包括网络设备、安全保密产品、服务器和用户终端、操作系统数据库、涉密业务系统的安装、配置、升级、维护、运行管理;网络和系统的用户增加或删除;网络和系统的数据备份、运行日志审查和运行情况监控;应急条件下的安全恢复。
2) 安全保密管理员:主要负责系统的日常安全保密管理工作。包括网络和系统用户权限的授予和撤销;用户操作行为的安全设计;安全保密设备管理;系统安全事件的审计、分析和处理;应急条件下的安全恢复。
3) 安全审计员:主要负责对系统管理员和安全保密管理员的操作行为进行审计跟踪、分析和监督检查,及时发现违规行为,并定期向系统安全保密管理机构汇报情况。
2.2 三员管理需求设计
针对三员管理的需求,我们把系统整体功能进行划分与改造,主要包括菜单和功能划分改造、角色梳理改造,权限控制改造等。
2.2.1 三员管理全局设置
增加“三员管理全局设置”功能,用于管理平台三员管理功能是否开启及基础设置的配置的业务处理。如下图所示:
- 初始化三员管理:用于初始化三员角色和系统设置参数。
- 卸载三员管理:用于删除三员管理。
2.2.2 角色资源范围管理
考虑到管理员管理资源的灵活性,增加授权资源管理功能,此功能主要用来管理各角色对应的资源,以灵活配置资源授权的特性。
此功能字段主要包括:平台角色,资源菜单,是否启用,备注信息等。其中平台角色选择平台的角色树,资源菜单选择平台的菜单,备注信息对此配置进行备注描述,如下图所示:
2.2.3 资源角色授权
此功能只展示“资源范围管理”中配置的角色及其可授权资源,开发人员可根据范围限定进行特定资源的授权,在此范围的授权资源中,在常规角色授权的数据中将完全排除。如下图所示:
2.3 程序初始化
- 安装前端微应用(请联系销售获取,如已安装,请忽略)。
- rbac中配置拦截器(如已配置,请忽略),如下图所示:
2.4 日志注解使用
平台实现三员日志注解ControllerAuditLog,且平台也增加了默认的日志注解处理,如有需求,请自行调整或联系官方调整。
/**
* 审计日志注解,用于在controller层
*/
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface ControllerAuditLog {
/**
* 模块名称
*/
String moduleName();
/**
* 操作类型编码
*/
String operateTypeCode();
/**
* 操作类型名称
* @return
*/
String operateTypeName();
/**
* 日志类型编码
*/
String logTypeCode();
/**
* 日志类型编码
*/
String logTypeName();
/**
* 操作内容
* @return
*/
String content() default "";
}