VastbaseG100

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

Menu

审计策略维护

Vastbase审计策略由两部分组成:资源池和审计约束。资源池指的是待审计的对象,审计约束则限制了可审计的操作,例如限定了用户名称、IP、操作类型等。

资源池

Vastbase提供SQL命令维护资源池,相关语法如下:

CREATE RESOURCE LABEL [IF NOT EXISTS] label_name [ADD object_type (objects)];
DROP RESOURCE LABEL [IF EXISTS] resource_labels;
ALTER RESOURCE LABEL label_name {ADD | REMOVE} resource_type (objects);

其中label_name为资源池名称,ADD子句是可选的,用来指定资源池中的对象,object_type为对象类型,目前支持的类型详见5.5.1.1可审计对象与事件类型,objects是对象名称列表,多个对象之间用逗号分隔。resource_labels是已经创建的资源池名称(若有多个资源池,则用逗号分隔)。

例如:创建一个名称为l1的资源池,该资源池中有两类对象:表和视图,其中表名称为t1、t2,视图名称为v1。

CREATE RESOURCE LABEL l1 ADD TABLE (t1, t2), VIEW (v1);

从资源池l1中删除视图v1。

ALTER RESOURCE LABEL l1 REMOVE VIEW (v1);

审计策略

Vastbase提供SQL命令维护审计策略,相关语法如下:

CREATE AUDIT POLICY [IF NOT EXISTS] name {PRIVILEGES privilege_list | ACCESS access_list} FILTER ON expression [{normally|warning|block}];
DROP AUDIT POLICY [IF EXISTS] names;
ALTER AUDIT POLICY [ IF EXISTS ] policy_name { ADD | REMOVE } { [ privilege_audit_clause ] [ access_audit_clause ] };
ALTER AUDIT POLICY [ IF EXISTS ] policy_name DROP FILTER;

其中name为策略的名称,privilege_list和access_list分别对应审计的操作类型,FILTER子句则限定了操作的发起IP、用户和客户端工具类型。

响应动作可填写normally、warning或block,对应为记录普通级别日志、记录警告级别日志或阻断会话。不填默认为记录普通级别日志,

例如:创建了一个名称为p_tbl的审计策略,该策略会审计通过gsql客户端工具或者(从127.0.0.1发起且用户为vastbase)对资源池tbl_label中的对象进行插入或者update的操作。

CREATE AUDIT POLICY p_tbl ACCESS insert ON LABEL (tbl_label), update ON LABEL (tbl_label) FILTER ON IP ('127.0.0.1') AND ROLES (vastbase) OR APP (gsql);