云数据库RDS for MySQL SQL审计功能
SQL审计日志简介
RDS for MySQL默认关闭SQL审计功能,打开可能会有一定的性能影响,本章节指导您如何打开、修改或关闭SQL审计日志。
说明
1.当您开通SQL审计功能,系统会将所有的SQL操作记录下来,并半小时或累积到100M上传存入日志。
2.开启SQL审计,日志文件会占用您的备份空间。
3.审计日志为了保证性能,使用UTC时间,不受时区配置的影响。
4.审计日志开通后,生成的审计日志会保存在备份存储空间,不会占用数据盘空间。如果审计日志的大小超过了备份空间容量,就会按照超出的部分进行计费。
SQL审计功能约束限制
RDS for MySQL高可用只读如果出现异常,在备只读顶替期间的审计日志不可见。
仅如下版本支持SQL审计功能。如果您的数据库引擎版本较低,请参考升级内核小版本升级到最新版本。
RDS for MySQL云盘实例支持5.6.43及其以上版本。
RDS for MySQL本地盘实例支持5.6.47.3及其以上版本。
RDS for MySQL云盘实例支持5.7.23及其以上版本。
RDS for MySQL本地盘实例支持5.7.29.3及其以上版本。
云数据库RDS for MySQL开启SQL审计日志
开启SQL审计日志
步骤 1登录管理控制台。
步骤 2单击管理控制台左上角的,选择区域和项目。
步骤 3选择“数据库 > 云数据库 RDS”,进入RDS信息页面。
步骤 4在“实例管理”页面,选择目标实例,单击实例名称,进入实例的“基本信息”页签。
步骤 5在左侧导航栏单击“SQL审计”,单击“设置SQL审计”,在弹出框中设置SQL审计日志保留策略,单击“确定”,保存设置策略。
开启或修改SQL审计:
将单击设置为,开启SQL审计日志保留策略。
保留天数默认为7天,可设置范围为1~732天。
操作类型对应的具体权限类型如下表。如需使用该功能请联系客服开通权限。
MySQL客户端使用PrepareStatement和定时任务执行的SQL语句分别属于PREPARED_STATEMENT和CREATE大类,JDBC使用PrepareStatement产生的SQL语句无法过滤。
表1-1 DDL操作类型的权限
类型
|
具体权限
|
---|---|
CREATE |
create_db, create_event, create_function, create_index, create_procedure, create_table, create_trigger, create_udf, create_view |
ALTER |
alter_db, alter_db_upgrade, alter_event, alter_function, alter_instance, alter_procedure, alter_table, alter_tablespace, alter_user |
DROP |
drop_db, drop_event, drop_function, drop_index, drop_procedure, drop_table, drop_trigger, drop_view |
RENAME |
rename_table |
TRUNCATE |
truncate |
表1-2 DML操作类型的权限
类型
|
具体权限
|
---|---|
INSERT |
insert, insert_select |
DELETE |
delete, delete_multi |
UPDATE |
update |
REPLACE |
replace, replace_select |
SELECT |
select |
表1-3 DCL操作类型的权限
类型
|
具体权限
|
---|---|
CREATE_USER |
create_user |
DROP_USER |
drop_user |
RENAME_USER |
rename_user |
GRANT |
grant |
REVOKE |
revoke, revoke_all |
表1-4 其他操作类型的权限
类型
|
具体权限
|
---|---|
BEGIN/COMMIT/ROLLBACK |
begin, commit, release_savepoint, rollback, rollback_to_savepoint, savepoint |
PREPARED_STATEMENT |
execute_sql,prepare_sql |
关闭SQL审计
单击设置为,关闭该SQL审计。
勾选“确认关闭审计日志后,所有审计日志文件将立即删除。”复选框,表示同意删除审计日志。
须知:SQL审计关闭后,所有审计日志都会被立即删除,不可恢复,请您谨慎操作。
----结束
云数据库RDS for MySQL SQL下载SQL审计日志
下载SQL审计日志操作步骤
步骤 1登录管理控制台。
步骤 2单击管理控制台左上角的,选择区域和项目。
步骤 3单击页面左上角的,选择“数据库 > 云数据库 RDS”,进入RDS信息页面。
步骤 4在“实例管理”页面,选择目标实例,单击实例名称,进入实例的“基本信息”页签。
步骤 5在左侧导航栏单击“SQL审计”。
步骤 6在审计日志列表右上方选择时间范围,勾选目标日志,并单击列表左上方的“下载”,批量下载SQL审计日志。
您还可以选择单个审计日志,单击操作列中的“下载”,下载目标SQL审计日志。
步骤 7SQL审计日志内容如下图所示。
表1-5审计日志字段说明
参数
|
说明
|
---|---|
record_id |
审计日志单条记录的记录ID,记录审计日志的每条SQL的唯一global id。 |
connection_id |
该条记录执行的会话ID,与show processlist中的ID一致。 |
connection_status |
会话状态,常见为执行语句的错误返回码,普通执行成功返回0。 |
name |
记录类型名称,通常情况下dml,ddl操作均为QUERY, 连接断开为CONNECT和QUIT。 |
timestamp |
记录的UTC时间。 |
command_class |
执行的SQL命令类型,内部为解析得到的SQL类型,例如select,update(连接断开不存在该项)。 |
sqltext |
执行的SQL具体内容(连接断开审计不存在该项)。 |
user |
登录的帐户。 |
host |
登录的host,当本地登录时为localhost,远程登录为空。 |
external_user |
代理用户名称。 |
ip |
通过远程连接的客户端IP,本地连接为空。 |
default_db |
执行SQL时默认的数据库。 |
云数据库RDS for MySQL常见问题
云数据库RDS for MySQL常见问题
专题内容推荐
活动对象:华为云电销客户及渠道伙伴客户可参与消费满送活动,其他客户参与前请咨询客户经理
活动时间: 2020年8月12日-2020年9月11日
活动期间,华为云用户通过活动页面购买云服务,或使用上云礼包优惠券在华为云官网新购云服务,累计新购实付付费金额达到一定额度,可兑换相应的实物礼品。活动优惠券可在本活动页面中“上云礼包”等方式获取,在华为云官网直接购买(未使用年中云钜惠活动优惠券)或参与其他活动的订单付费金额不计入统计范围内;