开启SQL审计日志
操作场景
当您开通SQL审计功能,系统会将所有的SQL操作记录下来存入日志文件,方便用户下载并查询。
RDS for MySQL默认关闭SQL审计功能,打开会增加数据库负载(占用实例的CPU、内存、磁盘空间、磁盘IOPS),对性能的影响一般不会超过5%。本章节指导您如何打开、修改或关闭SQL审计日志。
支持的数据库版本
- 对于RDS for MySQL 5.6云盘实例,支持5.6.43及其以上版本。
- 对于RDS for MySQL 5.6本地盘实例,支持5.6.47.3及其以上版本。
- 对于RDS for MySQL 5.7云盘实例,支持5.7.23及其以上版本。
- 对于RDS for MySQL 5.7本地盘实例,支持5.7.29.3及其以上版本。
- 支持RDS for MySQL 8.0版本。
约束限制
| 审计日志类型 | 约束限制 |
|---|---|
| SQL审计日志 |
|
| LTS审计日志 |
|
操作步骤
- 登录RDS管理控制台。
- 单击管理控制台左上角的
,选择区域。 - 在“实例管理”页面,选择目标实例,单击实例名称,进入实例的“概览”页签。
- 在左侧导航栏单击“日志管理”,选择“SQL审计日志”。
- 单击“设置SQL审计”,在弹出框中设置SQL审计日志保留策略,单击“确定”,保存设置策略。 开启或修改SQL审计:
- 将单击
设置为
,开启SQL审计日志保留策略。 - 保留天数默认为7天,可设置范围为1~732天。
- 打开审计日志快速轮转开关后,服务将每五分钟轮询一次审计日志,并将新产生的审计日志上传到OBS或LTS。
图1 设置SQL审计
MySQL客户端使用PreparedStatement和定时任务执行的SQL语句分别属于PREPARED_STATEMENT和CREATE大类,JDBC使用PreparedStatement产生的SQL语句无法过滤。
开启SQL审计后,支持数据定义(DDL)、数据操作(DML)、数据控制(DCL)、以及其他操作类型的权限,具体如下:
表2 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
2024-01-26开始ALTER类型不支持alter_user权限。
DROP
drop_db, drop_event, drop_function, drop_index, drop_procedure, drop_table, drop_trigger, drop_view
-
RENAME
rename_table
-
TRUNCATE
truncate
-
REPAIR
repair
2024-01-26新增REPAIR类型。
OPTIMIZE
optimize
2024-01-26新增OPTIMIZE类型。
表3 DML操作类型的权限 类型
具体权限
备注
INSERT
insert, insert_select
-
DELETE
delete, delete_multi
-
UPDATE
update, update_multi
2024-01-26新增update_multi权限。
REPLACE
replace, replace_select
-
SELECT
select
-
表4 DCL操作类型的权限 类型
具体权限
备注
CREATE_USER
create_user
-
DROP_USER
drop_user
-
RENAME_USER
rename_user
-
GRANT
grant_roles, grant
2024-01-26新增grant_roles权限。
REVOKE
revoke, revoke_all, revoke_roles
2024-01-26新增revoke_roles权限。
ALTER_USER
alter_user
2024-01-26新增ALTER_USER类型。
ALTER_USER_DEFAULT_ROLE
alter_user_default_role
2024-01-26新增ALTER_USER_DEFAULT_ROLE类型。
表5 其他操作类型的权限 类型
具体权限
备注
BEGIN/COMMIT/ROLLBACK
begin, commit, release_savepoint, rollback, rollback_to_savepoint, savepoint
-
PREPARED_STATEMENT
execute_sql,prepare_sql, dealloc_sql
2024-01-26新增dealloc_sql权限。
CALL_PROCEDURE
call_procedure
2024-01-26新增CALL_PROCEDURE类型。
KILL
kill
2024-01-26新增KILL类型。
SET_OPTION
set_option
2024-01-26新增SET_OPTION类型。
CHANGE_DB
change_db
2024-01-26新增CHANGE_DB类型。
UNINSTALL_PLUGIN
uninstall_plugin
2024-01-26新增UNINSTALL_PLUGIN类型。
INSTALL_PLUGIN
install_plugin
2024-01-26新增INSTALL_PLUGIN类型。
SHUTDOWN
shutdown
2024-01-26新增SHUTDOWN类型。
SLAVE_START
slave_start
2024-01-26新增SLAVE_START类型。
SLAVE_STOP
slave_stop
2024-01-26新增SLAVE_STOP类型。
LOCK_TABLES
lock_tables
2024-01-26新增LOCK_TABLES类型。
UNLOCK_TABLES
unlock_tables
2024-01-26新增UNLOCK_TABLES类型。
FLUSH
flush
2024-01-26新增FLUSH类型。
XA
xa_commit,xa_end,xa_prepare,xa_recover,xa_rollback,xa_start
2024-01-26新增XA类型。
关闭SQL审计:
将
设置为单击
,关闭该SQL审计。勾选“确认关闭审计日志后,所有审计日志文件将立即删除。”复选框,表示同意删除审计日志。
SQL审计关闭后,所有审计日志都会被立即删除,不可恢复,请您谨慎操作。
- 将单击
- 登录RDS管理控制台。
- 单击管理控制台左上角的
,选择区域。 - 在“实例管理”页面,选择目标实例,单击实例名称,进入实例的“概览”页签。
- 在左侧导航栏单击。
- 选择“SQL审计日志”页签,单击页面右上方的“对接LTS配置”。
- 在右侧弹框中,勾选“日志对接LTS”,日志类型选择审计日志,在下拉框分别选择对应的日志组和日志流,单击“确定”。 图2 LTS审计日志配置
- 如果已经配置LTS审计日志,在页面右上方,支持切换成分析视图,查看更详细的日志分析。 图3 列表视图
图4 分析视图
- 在“日志搜索”页签,支持查看快速分析下方的结构化字段和索引配置字段、以及查看并下载日志内容。更多功能介绍,请参见搜索与分析日志。
关于分析视图中“原始日志”页面各字段说明,请参见表6。
表6 LTS审计日志字段说明 参数
说明
logType
日志类型,固定值audit_log。
instanceId
实例ID。
nodeId
实例下的节点ID。
_resource_id
资源ID,固定值DBS_AUDIT_LOG,用户无需关注。
_resource_name
资源名称,固定值DBS_AUDIT_LOG,用户无需关注。
_service_type
服务类型,固定值MySQL。
record_id
审计日志单条记录的记录ID,记录审计日志的每条SQL的唯一global id。
connection_id
该条记录执行的会话ID,与show processlist中的ID一致。
connection_status
会话状态,常见为执行语句的错误返回码,普通执行成功返回0。
name
记录类型名称,通常情况下dml,ddl操作均为QUERY, 连接断开为CONNECT和QUIT。
timestamp
记录SQL执行完成时的UTC时间。
command_class
执行的SQL命令类型,内部为解析得到的SQL类型,例如select,update(连接断开不存在该项)。
sqltext
执行的SQL具体内容(连接断开审计不存在该项)。
user
登录的账户。
host
登录的host,当本地登录时为localhost,远程登录为空。
external_user
代理用户名称。
ip
通过远程连接的客户端IP,本地连接为空。
default_db
执行SQL时默认的数据库。
trx_id
执行SQL时的事务ID。
execute_time
执行SQL的耗时,单位:ms。
- 在“统计图表”页签,支持使用表格、柱状图、折线图等图表类型展示不同场景数据。更多功能介绍,请参见统计图表概述。
- 在“日志分析”页签,支持对采集成功的日志数据进行搜索与分析。更多功能介绍,请参见日志搜索与分析概述。
- 在“实时日志”页签,支持查看实时上报的日志,实现对日志数据的快速检索与分析。更多功能介绍,请参见查看实时日志。
- 在“日志搜索”页签,支持查看快速分析下方的结构化字段和索引配置字段、以及查看并下载日志内容。更多功能介绍,请参见搜索与分析日志。
