涉密应用系统 “三员” 管理的配置方法
# 三员设计
系统设计时采用了系统管理员、安全保密管理员、安全审计管理员三员分立,分别负责系统的运行、安全保密和安全审计工作。三员权限划分如下:
# 系统管理员
- 负责系统的日常运行维护工作
- 负责系统用户创建、用户删除
# 安全保密管理员
- 负责系统的日常安全保密管理工作
- 负责系统用户修改、用户密码重置、用户停启
- 负责系统用户的角色分配、角色的功能资源分配
- 负责管理与审查系统用户及安全审计管理员的操作日志
# 安全审计管理员
- 负责对系统管理员和安全保密管理员的日常操作行为进行审计跟踪分析和监督检查
- 审计管理员禁止访问管理平台安装的系统文件和直接访问数据库
- 禁止执行其它项目管理平台管理工作
# 快速开始
# 执行如下 SQL
-- 插入管理员角色
INSERT INTO js_sys_role(role_code, role_name, role_type, role_sort, is_sys, user_type, data_scope, biz_scope, status, create_by, create_date, update_by, update_date, remarks, corp_code, corp_name)
VALUES ('systemAdmin', '系统管理员', NULL, 300, '1', 'none', '0', NULL, '0', 'system', now(), 'system', now(), '', '0', 'JeeSite');
INSERT INTO js_sys_role(role_code, role_name, role_type, role_sort, is_sys, user_type, data_scope, biz_scope, status, create_by, create_date, update_by, update_date, remarks, corp_code, corp_name)
VALUES ('securityAdmin', '安全管理员', '', 330, '1', 'none', NULL, NULL, '0', 'system', now(), 'system', now(), '', '0', 'JeeSite');
INSERT INTO js_sys_role(role_code, role_name, role_type, role_sort, is_sys, user_type, data_scope, biz_scope, status, create_by, create_date, update_by, update_date, remarks, corp_code, corp_name)
VALUES ('auditAdmin', '审计管理员', '', 360, '1', 'none', NULL, NULL, '0', 'system', now(), 'system', now(), '', '0', 'JeeSite');
-- 如果角色如果没有 view_code 字典可忽略
UPDATE js_sys_role SET view_code=role_code WHERE role_code IN ('systemAdmin', 'securityAdmin', 'auditAdmin');
-- 插入管理员用户
INSERT INTO js_sys_user(user_code, login_code, user_name, password, email, mobile, phone, sex, avatar, sign, wx_openid, mobile_imei, user_type, ref_code, ref_name, mgr_type, pwd_security_level, pwd_update_date, pwd_update_record, pwd_question, pwd_question_answer, pwd_question_2, pwd_question_answer_2, pwd_question_3, pwd_question_answer_3, pwd_quest_update_date, last_login_ip, last_login_date, freeze_date, freeze_cause, user_weight, status, create_by, create_date, update_by, update_date, remarks, corp_code, corp_name)
VALUES ('systemAdmin', 'systemAdmin', '系统管理员', '8c71dbae3034d99bb85190604fbf9666b291355962da06de63ffca38', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'none', NULL, NULL, '1', 1, now(), NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '127.0.0.1', now(), NULL, NULL, 0, '0', 'system', now(), 'system', now(), '', '0', 'JeeSite');
INSERT INTO js_sys_user(user_code, login_code, user_name, password, email, mobile, phone, sex, avatar, sign, wx_openid, mobile_imei, user_type, ref_code, ref_name, mgr_type, pwd_security_level, pwd_update_date, pwd_update_record, pwd_question, pwd_question_answer, pwd_question_2, pwd_question_answer_2, pwd_question_3, pwd_question_answer_3, pwd_quest_update_date, last_login_ip, last_login_date, freeze_date, freeze_cause, user_weight, status, create_by, create_date, update_by, update_date, remarks, corp_code, corp_name)
VALUES ('securityAdmin', 'securityAdmin', '安全管理员', '8c71dbae3034d99bb85190604fbf9666b291355962da06de63ffca38', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'none', NULL, NULL, '1', 1, now(), NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '127.0.0.1', now(), NULL, NULL, 0, '0', 'system', now(), 'system', now(), '', '0', 'JeeSite');
INSERT INTO js_sys_user(user_code, login_code, user_name, password, email, mobile, phone, sex, avatar, sign, wx_openid, mobile_imei, user_type, ref_code, ref_name, mgr_type, pwd_security_level, pwd_update_date, pwd_update_record, pwd_question, pwd_question_answer, pwd_question_2, pwd_question_answer_2, pwd_question_3, pwd_question_answer_3, pwd_quest_update_date, last_login_ip, last_login_date, freeze_date, freeze_cause, user_weight, status, create_by, create_date, update_by, update_date, remarks, corp_code, corp_name)
VALUES ('auditAdmin', 'auditAdmin', '审计管理员', '8c71dbae3034d99bb85190604fbf9666b291355962da06de63ffca38', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 'none', NULL, NULL, '1', 1, now(), NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '127.0.0.1', now(), NULL, NULL, 0, '0', 'system', now(), 'system', now(), '', '0', 'JeeSite');
-- 插入管理员用户角色关系
INSERT INTO js_sys_user_role(user_code, role_code) VALUES ('systemAdmin', 'systemAdmin');
INSERT INTO js_sys_user_role(user_code, role_code) VALUES ('securityAdmin', 'securityAdmin');
INSERT INTO js_sys_user_role(user_code, role_code) VALUES ('auditAdmin', 'auditAdmin');
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# 配置角色菜单和权限
使用 system 超级管理员登录系统。进入菜单:系统管理 -> 权限管理 -> 角色管理
您可以看到刚创建的三个系统角色:systemAdmin、securityAdmin、auditAdmin,授权菜单如下:
corpAdmin(管理员默认角色)
管理员的默认角色,会被应用于所有管理员,所有全部不要打钩,无需分配任何菜单和权限
1
systemAdmin(系统管理员)
系统管理
组织管理
用户管理 /sys/empUser/index
☑ 查看 sys:empUser:view
☑ 编辑 sys:empUser:edit
机构管理 /sys/office/list
☑ 查看 sys:office:view
☑ 编辑 sys:office:edit
公司管理 /sys/company/list
☑ 查看 sys:company:view
☑ 编辑 sys:company:edit
岗位管理 /sys/post/list
☑ 查看 sys:post:view
☑ 编辑 sys:post:edit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
securityAdmin(安全管理员)
系统管理
组织管理
用户管理 /sys/empUser/index
☑ 查看 sys:empUser:view
☑ 分配数据 sys:empUser:authDataScope
☑ 分配角色 sys:empUser:authRole
☑ 停用启用 sys:empUser:updateStatus
☑ 重置密码 sys:empUser:resetpwd
系统监控
☑ 访问日志 sys:log /sys/log/list
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
auditAdmin(审计管理员)
系统管理
权限管理
☑ 安全审计 sys:audit /sys/audit/list (如果没有该选项,可进入菜单管理,将安全审计的菜单权重修改为“二级管理员”即可)
系统监控
☑ 访问日志 sys:log /sys/log/list
1
2
3
4
5
2
3
4
5
# 三员账号登录测试
系统管理员
- 登录账号:systemAdmin 密码:admin
- 可以添加用户、编辑和删除用户
- 但不能删除,分配角色和权限
安全保密管理员
- 登录账号:securityAdmin 密码:admin
- 可以查看用户,分配角色和权限,停用启用用户
- 可以查询系统管理员的操作日志
- 但不能添加、编辑和删除用户
安全审计管理员
- 登录账号:auditAdmin 密码:admin
- 仅能进行查询分析系统管理员和安全管理员的操作日志