【KingbaseES】R6数据库审计:开启审计

第一步:打开审计功能

修改 kingbase.conf 文件中 shared_preload_libraries 参数。

打开data下kingbase.conf文件
找到shared_preload_libraries = 这行
如图:
在这里插入图片描述
在后面加上sysaudit,并追加sysaudit.enable=on
如图:
在这里插入图片描述
保存并关闭后重启数据库。

参数说明

sysaudit.enable

设置审计功能是否开启的总开关,有on和off两种选择,缺省为 off。
on表示打开审计功能;
off表示关闭审计功能;
打开(或关闭)审计开关的方式有如下方式:
在KingbaseES启动之前,通过修改 kingbase.conf 文件,将 sysaudit.enable设置为on(或off)
在KingbaseES启动后,以审计员用户连接数据库,利用ALTER SYSTEM命令将 sysaudit.enable 设置为on | off。打开(或关闭)审计开关,重载配置后,数据库系统中的审计功能立即生效(或失效)。

第二步:修改审计设置

审计设置参数如下:

sysaudit.serverevent

服务器事件审计开关,包括:服务器启动、关闭、重载配置,服务器启动时设置,默认true。 sysaudit.userevent
用户事件审计开关,包括:客户端登录和退出,默认true。

sysaudit.enable

设置审计功能是否开启的总开关,有on和off两种选择,缺省为 off。

sysaudit.syntaxerror

语言错误审计开关,设置是否审计发生语法错误的语句,默认off。此类错误也包括:事务块中发生错误之后,未经语法分析二直接报错的语句。

sysaudit.audit_table_hostaddr

存储审计日志的数据库的IP地址,默认是本机

sysaudit.audit_table_port

存储审计日志的数据库的端口。

sysaudit.audit_table_user

存储审计日志的数据库的用户,默认为审计管理员sao。

sysaudit.audit_table_password

存储审计日志的数据库的用户密码。

sysaudit.local_sao_password

数据库的审计管理员sao用户密码。

修改例子
alter system set sysaudit.serverevent = false;
select sys_reload_conf();
第三步:创建审计规则

【KingbaseES】R6数据库审计:审计策略与SQL命令对应表

语句级别审计
sysaudit.set_audit_stmt(audit_type text,audit_users text,audit_schema text,audit_objs text)

参数说明:
—————————————————————————————————————————————
audit_type

语句级审计策略,支持DML、DDL、TCL语句等。
可以指定审计某一种SQL命令。

audit_users

审计的用户名,null表示审计所有用户。

audit_schema

审计对象的模式名。可以为空,表示审计所有模式下的此类对象。

audit_objs

审计对象的名称,只有select table、insert table、update table、delete table、truncate
table、drop table这六种语句支持设置表名。

模式对象级别审计
sysaudit.set_audit_stmt(audit_type text,audit_users text,audit_schema text,audit_objs text)

audit_type

审计对象的类型,支持 :TABLE、VIEW、MATERIALIZED VIEW、PROCEDURE、FUNCTION,大小写不敏感。

audit_users

审计的用户名,null表示审计所有用户。

audit_schema

审计对象的模式名。可以为空,表示审计所有模式下的此类对象。

audit_objs

审计对象的名称,比如为表名、视图名、存储过程名。可以为空,表示审计指定模式下的所有此类对象。

查询审计规则

select * from sysaudit.all_audit_rules;
列名数据类型说明
audit_idbigint审计策略编号
audit_targetsmallint审计目标(事件、语句、对象)
audit_typetext审计类型
audit_userstext审计用户
audit_schematext审计对象所在模式
audit_objnamestext审计对象名称
audit_objoidoid审计对象id
creator_nametext策略设置者名

在这里插入图片描述

取消审计规则
sysaudit.remove_audit (rule_id bigint)

rule_id

rule_id为上面查审计策略编号(audit_id)

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐