无论是用户本人回顾自己的历史操作记录,还是管理员监督用户的高风险行为,大家都希望在使用审计功能的时候既能万无一失地保存所需地记录,又能实现高效检索查询。精准配置审计开关是实现这一目标必不可少的步骤,虽然开关种类繁多,但我们可得仔细研究配置。在实际生产中,可能会存在某些用户的权限和风险和其他用户不一样,针对这些用户的审计要求相较于其他用户也要更为严格。如果为了这类用户而打开所有的审计开关,虽然保证了完整性,但是其他低风险用户的日志又被记录了下来,增加了审计线程的负担。为了更好的满足客户诉求,我们需要在一个全新的维度——用户维度增加审计开关。
本期就为大家带来关于openGauss 5.0.0版本新增的审计模块GUC参数——全量审计开关 full_audit_users的介绍与操作分享,支持用户级别审计,用于解决针对数据库中的高风险用户进行针对性的全量审计的问题。
用户级全量审计开关 full_audit_users介绍
原本的审计开关是以SQL语法为维度,分为DDL,DML,DCL三个大类,进一步细分操作对象与指令设置对应的开关。新增的参数full_audit_users弥补了其在用户维度的缺失,支持针对个别高风险用户进行全量审计的同时不影响其他用户的审计开关设置。full_audit_users属于SIGHUP类型参数,取值范围是字符串,默认为空,多个用户名需使用逗号分隔。用于配置全量审计用户列表,列表中的用户的所有类别的审计开关都会被打开,其执行的所有可被审计的操作都会记录审计日志。
例如,通过gs_guc工具设置full_audit_users全量审计用户为u_audit1和zhoutl。
[zhoutl@localhost server]$ gs_guc reload -Z datanode -D data/ -c "full_audit_users='u_audit1, zhoutl'"
登录数据库后,查询full_audit_users参数设置结果如下:
openGauss=# show full_audit_users;full_audit_users ------------------ u_audit1, zhoutl (1 row)
参数设置生效后,u_audit1和zhoutl用户执行的所有可被审计的操作都会记录审计日志。
总结
通过以上对审计模块参数full_audit_users 的介绍,我们可以依据实际使用场景,针对性地将某些高风险用户设置为全量审计用户,更精准地记录高风险用户操作,同时减轻审计线程的负担,提升审计查询效率,真正发挥审计模块记录高危操作的功能。后续我们也会更细粒度地分析审计的不同维度,匹配用户的差异化需求,全面提升openGauss安全审计功能的核心竞争力。