审计策略维护
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);