执行正确的设置才会触发审计,比如:为函数对象设置一个
INSERT
的审计策略将无法生效,因为数据库并
不支持
INSERT
到一个函数。
启用对象审计:
sysaudit
.
set_audit_object(audit_type text,
audit_users text,
audit_schema text,
audit_objs text)
参数说明:
audit_type
审计对象的类型,支持:
TABLE
、
VIEW
、
MATERIALIZED VIEW
、
PRO
CEDURE
、
FUNCTION
,大小写不敏感。
audit_users
审计的用户名,
null
表示审计所有用户。
audit_schema
审计对象的模式名。可以为空,表示审计所有模式下的此类对象。
audit_objs
审计对象的名称,比如为表名、视图名、存储过程名。可以为空,表示
审计指定模式下的所有此类对象。
返回值说明:
无返回值。
取消对象审计:
sysaudit
.
remove_audit (rule_id bigint)
对象审计示例:
审计
user1
用户对
public
模式下的表
t1
的任意操作。
SELECT sysaudit
.
set_audit_object(
'table'
,
'user1'
,
'public'
,
't1'
);
取消
id
为
10002
的审计设置。
CALL sysaudit
.
remove_audit (
10002
);
审计配置查询
审计策略设置可通过系统视图
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
策略设置者名