MariaDB 审计插件支持 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

MariaDB 审计插件支持

Amazon RDS 支持在 MySQL 数据库实例上使用 MariaDB 审计插件。MariaDB 审计插件可记录数据库活动,如用户登录数据库、针对数据库运行查询等。数据库活动记录存储在日志文件中。

注意

目前,仅以下 RDS for MySQL 版本支持 MariaDB 审计插件:

  • 所有 5.6 版本

  • MySQL 5.7.16 和更高的 5.7 版本

审计插件选项设置

Amazon RDS 支持 MariaDB 审计插件选项的以下设置。

选项设置 有效值 默认值 描述

SERVER_AUDIT_FILE_PATH

/rdsdbdata/log/audit/

/rdsdbdata/log/audit/

日志文件的位置。日志文件包含 SERVER_AUDIT_EVENTS 中指定的活动记录。有关更多信息,请参阅 查看和列出数据库日志文件访问 MySQL 数据库日志文件

SERVER_AUDIT_FILE_ROTATE_SIZE

1–1000000000

1000000

达到该字节大小时,会导致文件轮换。有关更多信息,请参阅 MySQL 数据库日志概览

SERVER_AUDIT_FILE_ROTATIONS

0–100

9

要保存的日志轮换数量。有关更多信息,请参阅 MySQL 数据库日志概览下载数据库日志文件

SERVER_AUDIT_EVENTS

CONNECTQUERYQUERY_DDLQUERY_DMLQUERY_DCL

CONNECTQUERY

要在日志中记录的活动类型。安装 MariaDB 审核插件可自行登录。

  • CONNECT:记录成功和失败的数据库连接以及数据库断开连接。

  • QUERY:记录针对数据库运行的所有查询文本。

  • QUERY_DDL:类似于 QUERY 事件,不过仅返回数据定义语言 (DDL) 查询(CREATEALTER 等)。

  • QUERY_DML:类似于 QUERY 事件,不过仅返回数据操作语言 (DML) 查询(INSERTUPDATE 等,以及 SELECT)。

  • QUERY_DCL:类似于 QUERY 事件,不过仅返回数据控制语言 (DCL) 查询 (GRANTREVOKE 等)。

MySQL 不支持 TABLE

SERVER_AUDIT_INCL_USERS

多个逗号分隔值

仅包括指定用户的活动。默认情况下,系统会记录所有用户的活动。SERVER_AUDIT_INCL_USERSSERVER_AUDIT_EXCL_USERS 相互排斥。如果将值添加到 SERVER_AUDIT_INCL_USERS,请确保未向 SERVER_AUDIT_EXCL_USERS 中添加任何值。

SERVER_AUDIT_EXCL_USERS

多个逗号分隔值

排除指定用户的活动。默认情况下,系统会记录所有用户的活动。SERVER_AUDIT_INCL_USERSSERVER_AUDIT_EXCL_USERS 相互排斥。如果将值添加到 SERVER_AUDIT_EXCL_USERS,请确保未向 SERVER_AUDIT_INCL_USERS 中添加任何值。

rdsadmin 用户会每秒查询一次数据库,以检查数据库的运行状况。根据您的其他设置,此活动可能导致您的日志文件大小非常快速地增长。如果您不需要记录此活动,请将 rdsadmin 用户添加到 SERVER_AUDIT_EXCL_USERS 列表。

注意

会始终为所有用户记录 CONNECT 活动,即使是该选项设置指定的用户。

SERVER_AUDIT_LOGGING

ON

ON

日志记录处于活动状态。唯一有效的值为 ON。Amazon RDS 不支持停用日志记录。如果您要停用日志记录,请删除 MariaDB 审核插件。有关更多信息,请参阅 删除 MariaDB 审核插件

SERVER_AUDIT_QUERY_LOG_LIMIT

0–2147483647

1024

记录中查询字符串的长度限制。

添加 MariaDB 审核插件

向数据库实例添加 MariaDB 审核插件的一般过程如下:

  • 创建新的选项组,或者复制或修改现有选项组

  • 向选项组添加选项

  • 将选项组与数据库实例相关联

添加 MariaDB 审核插件后,您无需重新启动数据库实例。一旦选项组处于活动状态,审计便会立即开始。

重要

将 MariaDB 审计插件添加到数据库实例可能会导致中断。我们建议在维护时段或数据库工作负载较低时添加 MariaDB 审计插件。

添加 MariaDB 审计插件

  1. 确定您想要使用的选项组。您可以创建新的选项组,或使用现有选项组。如果您想使用现有选项组,请跳到下一步。否则,请创建自定义数据库选项组。为引擎选择 mysql,并为主引擎版本选择 5.65.7。有关更多信息,请参阅创建选项组

  2. MARIADB_AUDIT_PLUGIN 选项添加到选项组中,然后配置选项设置。有关添加选项的更多信息,请参阅 将选项添加到选项组。有关各项设置的更多信息,请参阅审计插件选项设置

  3. 将选项组应用到新的或现有的数据库实例。

查看和下载 MariaDB 审计插件日志

启用 MariaDB 审计插件后,您将以访问其他任何基于文本的日志文件的相同方式来访问日志文件中的结果。审计日志文件位于 /rdsdbdata/log/audit/。有关在控制台中查看日志文件的信息,请参阅 查看和列出数据库日志文件。有关下载日志文件的信息,请参阅 下载数据库日志文件

修改 MariaDB 审计插件设置

启用 MariaDB 审计插件后,您可以修改各项设置。有关如何修改选项设置的更多信息,请参阅 修改选项设置。有关各项设置的更多信息,请参阅审计插件选项设置

删除 MariaDB 审核插件

Amazon RDS 不支持关闭 MariaDB 审核插件中的日志记录。不过,您可以从数据库实例删除插件。在删除 MariaDB 审核插件时,将自动重新启动数据库实例以停止审核。

要从数据库实例中删除 MariaDB 审核插件,请执行以下操作之一:

  • 从 MariaDB 审核插件选项所属的选项组中删除 MariaDB 审核插件选项。此更改会影响使用该选项组的所有数据库实例。有关更多信息,请参阅 从选项组中删除选项

  • 修改数据库实例,并指定不包含插件的其他选项组。此更改会影响单个数据库实例。您可以指定默认 (空) 选项组,或指定其他自定义选项组。有关更多信息,请参阅 修改 Amazon RDS 数据库实例