本文为您介绍云数据库 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 则会进行审计。
特别说明
包含、不包含只能写一个值;如果写多个会被当成一个串,造成匹配不对。
本页内容是否解决了您的问题?