VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

ALTER AUDIT POLICY

功能描述

修改统一审计策略。

注意事项

  • 开启审计开关(audit_enabled=on)时,根据具体的审计策略决定需要记录的审计日志。

  • 开启安全策略开关(enable_security_policy=on)时,审计策略才能生效。

  • 未开启三权分立,只有安全策略管理员(poladmin)、系统管理员(sysadmin)或初始用户能进行此操作。

  • 开启三权分立(enable_separation_of_duty=on)后,只有安全管理员才能进行此操作。

语法格式

  • 修改审计策略设计的数据库操作。

    ALTER AUDIT POLICY [ IF EXISTS ] policy_name { ADD | REMOVE } { [ privilege_audit_clause ] [ access_audit_clause ] };
    

    其中权限审计子句privilege_audit_clause:

    PRIVILEGES { DDL | ALL }
    

    其中访问审计子句access_audit_clause:

    ACCESS { DML | ALL }
    
  • 修改审计策略的过滤信息。

    ALTER AUDIT POLICY [ IF EXISTS ] policy_name MODIFY ( filter_group_clause );
    

    filter_group_clause:

    FILTER ON { ( FILTER_TYPE ( filter_value [, ... ] ) ) [, ... ] }
    
  • 删除审计策略的过滤器。

    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 };
    
  • 向语句序列审计策略中追加SQL。

    ALTER AUDIT POLICY [ IF EXISTS ] policy_name ADD SEQUENCE BY sequence_audit_clause;
    

    其中,审计语句序列的子句sequence_audit_clause可以是:

    [ 'SQL' ]
    

参数说明

  • IF EXISTS

    如果指定的审计策略不存在,则发出一个notice而不是error。

  • policy_name

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

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

  • ADD | MOVE

    给审计策略新增或移除数据库的操作。

  • DDL

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

  • DML

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

  • ALL

    指的是上述DDL或DML支持的所有对数据库的操作。

  • FILTER_TYPE

    指定审计策略的过滤类型,包括IP、APP、ROLES、TIME_PERIOD,分别表示将IP、访问的应用名、数据库系统用户以及重要时间段作为审计的过滤条件。

  • filter_value

    指具体过滤信息内容。

  • policy_comments

    用于记录策略相关的描述信息。

  • ENABLE|DISABLE

    可以打开或关闭统一审计策略。若不指定ENABLE|DISABLE,语句默认为ENABLE。

  • ['SQL']

    需要向审计策略中追加的SQL。根据预先建立的语句序列审计规则,如果数据库中某个会话依次执行了序列中的 SQL 语句,就会触发审计。给出的SQL会追加到原SQL之后。不支持SQL转换的场景。

    • 每次仅能向审计策略中添加一条SQL;SQL语句应被单引号及方括号包围。

    • 一条SQL可以被多个审计策略包含;不能出现两个语句序列完全相同的审计策略。

    • 被审计的SQL不能存在语法错误。

    在MySQL兼容模式下,执行的会话SQL必须于策略中定义的SQL大小写完全一致时,才会触发审计。

示例

对CREATE AUDIT POLICY示例中创建的统一审计策略进行修改。

  • 修改审计策略adt1,为审计策略新增所有的DML访问:

    ALTER AUDIT POLICY adt1 ADD ACCESS(ALL);
    
  • 修改审计策略adt2的描述信息:

    ALTER AUDIT POLICY adt2 COMMENTS 'It was created to audit the select sql of the database';
    
  • 删除审计策略aud3的过滤器:

    ALTER AUDIT POLICY adt3 drop filter;
    
  • 禁用审计策略adt4:

    ALTER AUDIT POLICY adt4 DISABLE;
    
  • 修改审计策略adt5,向策略中追加SQL:

    ALTER AUDIT POLICY adt5 add sequence by ['create table tb_123(id int);'];
    

相关链接

CREATE AUDIT POLICYDROP AUDIT POLICY