【KingbaseES】R6数据库审计:开启审计
【KingbaseES】R6数据库审计:开启审计第一步:打开审计功能修改 kingbase.conf 文件中 shared_preload_libraries 参数。打开data下kingbase.conf文件找到shared_preload_libraries = 这行如图:在后面加上sysaudit,并追加sysaudit.enable=on如图:保存并关闭后重启数据库。参数说明sysaudi
【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();
第三步:创建审计规则
语句级别审计
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_id | bigint | 审计策略编号 |
audit_target | smallint | 审计目标(事件、语句、对象) |
audit_type | text | 审计类型 |
audit_users | text | 审计用户 |
audit_schema | text | 审计对象所在模式 |
audit_objnames | text | 审计对象名称 |
audit_objoid | oid | 审计对象id |
creator_name | text | 策略设置者名 |
取消审计规则
sysaudit.remove_audit (rule_id bigint)
rule_id
rule_id为上面查审计策略编号(audit_id)
更多推荐
所有评论(0)