ALTER AUDIT POLICY
功能描述
修改统一审计策略。
注意事项
- 审计策略的维护有权限限制,只有POLADMIN、SYSADMIN或初始用户有权限进行此操作。
- 需要打开enable_security_policy开关统一审计策略才可以生效。
语法格式
添加/删除审计策略中的操作类型。
ALTER AUDIT POLICY [ IF EXISTS ] policy_name { ADD | REMOVE } { privilege_audit_clause | access_audit_clause }; 
修改审计策略中的过滤条件。
ALTER AUDIT POLICY [ IF EXISTS ] policy_name MODIFY ( filter_group_clause );

将审计策略中的过滤条件删除。
ALTER AUDIT POLICY [ IF EXISTS ] policy_name DROP FILTER;

修改审计策略描述。
ALTER AUDIT POLICY [ IF EXISTS ] policy_name COMMENTS policy_comments;

打开或者关闭审计策略。
ALTER AUDIT POLICY [ IF EXISTS ] policy_name { ENABLE | DISABLE }; 
- privilege_audit_clause: 审计策略中具体的PRIVILEGES操作类型及目标资源标签。
1PRIVILEGES ({ PRIVILEGES | ALL } [ ON LABEL ( resource_label_name [, ... ] ) ])

- access_audit_clause:

- filter_group_clause:

- PRIVILEGES: 指的是针对数据库执行如下操作时进行审计。
1{ ( ALTER | ANALYZE | COMMENT | CREATE | DROP | GRANT | REVOKE | SET | SHOW ) }

- ACCESS: 指的是针对数据库执行如下操作时进行审计。
1{ ( COPY | DEALLOCATE | DELETE | EXECUTE | REINDEX | INSERT | PREPARE | SELECT | TRUNCATE | UPDATE ) }

参数说明
- policy_name
审计策略名称,需满足唯一约束,不可重复。
取值范围:字符串,要符合标识符命名规范。
- resource_label_name
资源标签名称。
- PRIVILEGES
当数据库执行指定的操作时进行审计,目前支持对ALTER、ANALYZE、COMMENT、CREATE、DROP、GRANT、REVOKE、SET、SHOW操作进行审计。
- ACCESS
当数据库执行指定的操作时进行审计,目前支持对COPY、DEALLOCATE、DELETE、EXECUTE、REINDEX、INSERT、PREPARE、SELECT、TRUNCATE、UPDATE。
- ALL
PRIVILEGES或ACCESS中支持的所有关于数据库的操作的审计。当形式为{ PRIVILEGES | ALL }时,ALL表示所有PRIVILEGES操作;当形式为{ ACCESS | ALL }时,ALL表示所有ACCESS操作。
- filter_type
指定审计策略的过滤信息,过滤类型包括:IP、ROLES、APP。
- filter_value
具体过滤信息内容。
- policy_comments
用于记录策略相关的描述信息。
- ENABLE | DISABLE
可以打开或关闭统一审计策略。
示例
- 添加/删除审计策略中的操作类型。
--创建一个对数据库执行CREATE的审计策略adt1。 gaussdb=# CREATE AUDIT POLICY adt1 PRIVILEGES CREATE; --添加adt1审计策略中的DROP。 gaussdb=# ALTER AUDIT POLICY adt1 ADD PRIVILEGES (DROP); --删除adt1审计策略中的DROP。 gaussdb=# ALTER AUDIT POLICY adt1 REMOVE PRIVILEGES (DROP);
- 修改审计策略的注释信息。
--修改adt1审计策略的注释信息为adt1_comments。 gaussdb=# ALTER AUDIT POLICY adt1 COMMENTS 'adt1_comments';
- 修改审计策略的过滤信息。
--创建bob_audit用户。 gaussdb=# CREATE USER bob_audit PASSWORD '********'; --修改adt1审计策略的过滤用户为bob_audit。 gaussdb=# ALTER AUDIT POLICY adt1 MODIFY (FILTER ON (ROLES(bob_audit))); --删除bob_audit用户。 gaussdb=# DROP USER bob_audit;
- 删除审计策略的过滤条件。
--删除adt1审计策略的过滤条件。 gaussdb=# ALTER AUDIT POLICY adt1 DROP FILTER; - 关闭审计策略。
--关闭adt1审计策略。 gaussdb=# ALTER AUDIT POLICY adt1 DISABLE; --删除adt1审计策略。 gaussdb=# DROP AUDIT POLICY adt1;