更新时间:2024-11-01 GMT+08:00
分享

数据库审计

背景信息

数据库安全对数据库系统来说至关重要。GaussDB将用户对数据库的所有操作写入审计日志。数据库审计管理员可以利用这些日志信息,重现导致数据库现状的一系列事件,找出非法操作的用户、时间和内容等。

关于审计功能,用户需要了解以下几点内容:

  • 审计总开关audit_enabled支持动态加载。在数据库运行期间修改该配置项的值会立即生效,无需重启数据库。默认值为on,表示开启审计功能。
  • 除了审计总开关,各个审计项也有对应的开关。只有开关开启,对应的审计功能才能生效。
  • 各审计项的开关支持动态加载。在数据库运行期间修改审计开关的值,不需要重启数据库便可生效。

目前,GaussDB支持以下审计项如表1所示。

表1 配置审计项

配置项

描述

用户登录、注销审计

参数:audit_login_logout

默认值为7,表示开启用户登录、退出的审计功能。设置为0表示关闭用户登录、退出的审计功能。不推荐设置除0和7之外的值。

数据库启动、停止、恢复和切换审计

参数:audit_database_process

默认值为1,表示开启数据库启动、停止、恢复和切换的审计功能。

用户锁定和解锁审计

参数:audit_user_locked

默认值为1,表示开启审计用户锁定和解锁功能。

用户访问越权审计

参数:audit_user_violation

默认值为0,表示关闭用户越权操作审计功能。

授权和回收权限审计

参数:audit_grant_revoke

默认值为1,表示开启审计用户权限授予和回收功能。

数据库对象的CREATE,ALTER,DROP操作审计

参数:audit_system_object

默认值为67121159,表示只对DATABASE、SCHEMA、USER、SQL Patch这四类数据库对象的CREATE、ALTER、DROP操作进行审计。

具体表的INSERT、UPDATE和DELETE操作审计

参数:audit_dml_state

默认值为0,表示关闭具体表的DML操作(SELECT除外)审计功能。

SELECT操作审计

参数:audit_dml_state_select

默认值为0,表示关闭SELECT操作审计功能。

COPY审计

参数:audit_copy_exec

默认值为1,表示开启copy操作审计功能。

存储过程和自定义函数的执行审计

参数:audit_function_exec

默认值为0,表示不记录存储过程和自定义函数的执行审计日志。

SET审计

参数:audit_set_parameter

默认值为0,表示不记录set操作审计日志

事务ID记录

参数:audit_xid_info

默认值为0,表示关闭审计日志记录事务ID功能。

参数类型及取值范围等详细信息,请参见《管理员指南》中“配置运行参数>GUC参数说明>审计”章节。

相关文档