更新时间:2024-08-20 GMT+08:00

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:
    审计策略中具体的DDL操作类型及目标资源标签。
    1
    PRIVILEGES ({ DDL | ALL } [ ON LABEL ( resource_label_name [, ... ] ) ])
    

  • access_audit_clause:
    审计策略中具体的DML操作类型及目标资源标签。
    ACCESS ({ DML | ALL } [ ON LABEL ( resource_label_name [, ... ] ) ])

  • filter_group_clause:
    审计策略中的过滤条件。
    1
    FILTER ON { filter_type ( filter_value [, ... ] ) } [, ... ]
    

参数说明

  • policy_name

    审计策略名称,需要唯一,不可重复。

    取值范围:字符串,要符合标识符命名规范

  • resource_label_name

    资源标签名称。

  • DDL

    指的是针对数据库执行如下操作时进行审计,目前支持:CREATE、ALTER、DROP、ANALYZE、COMMENT、GRANT、REVOKE、SET、SHOW。

  • DML

    指的是针对数据库执行如下操作时进行审计,目前支持:SELECT、COPY、DEALLOCATE、DELETE、EXECUTE、INSERT、PREPARE、REINDEX、TRUNCATE、UPDATE。

  • ALL

    指的是上述DDL或DML中支持的所有对数据库的操作。当形式为{ DDL | ALL }时,ALL指所有DDL操作;当形式为{ DML | ALL }时,ALL指所有DML操作。

  • 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;