有奖捉虫:云通信与企业服务文档专题,速来> HOT
本文为您介绍云数据库 MySQL 数据库审计规则相关内容。
说明
当前审计规则能力重构中,暂不支持新增,恢复时间待定,您可根据控制台功能实际恢复使用时间为准。

规则内容

支持以下类型设置: 客户端 IP、数据库账户、数据库名,支持【包含、不包含】方式匹配。
全量审计规则为特殊规则,启用后审计所有语句。

规则运算

每个规则内部不同类型为追加限制条件关系,即与(&&)关系。
规则与规则之间为或(||)关系 。 每个实例可以指定一个或多个审计规则,只要符合任意一个规则,就应该审计。如 A 规则指定只审计 user1 的执行时间 >= 1秒的操作,B 规则审计 user1 并且执行时间 < 1的语句,那么最终对 user1 所有语句都要审计。

规则详解

对于客户端 IP、数据库账户、数据库名支持【包含、不包含】运算,一次只支持一个运算符设置。

对于数据库名的说明

如果是以下的表对象类型的语句:
SQLCOM_SELECT, SQLCOM_CREATE_TABLE, SQLCOM_CREATE_INDEX, SQLCOM_ALTER_TABLE,
SQLCOM_UPDATE, SQLCOM_INSERT, SQLCOM_INSERT_SELECT, SQLCOM_DELETE, SQLCOM_TRUNCATE, SQLCOM_DROP_TABLE
对这一类型动作,数据库名以语句中实际操作的数据库名为准。例如,当前是 use db3 库,语句为:
select *from db1.test,db2.test;
那么会以 db1 和 db2 作为目标库进行规则判断,如果规则配置要审计 db1 的库则会进行审计,规则配置要审计 db3 的库则不会进行审计。 如果不是上面的表对象类型语句,以当前 use 的库作为目标库进行判断。如当前库为 use db1,执行语句为show databases,那么以当前库 db1 作为目标库进行规则判断,若规则配置审计 db1 则会进行审计。

特别说明

包含、不包含只能写一个值;如果写多个会被当成一个串,造成匹配不对。