如何启用 Amazon RDS MySQL 或 MariaDB 实例的审计日志记录并将日志发布到 CloudWatch?

上次更新时间:2019 年 7 月 30 日

我想审计数据库活动,以满足运行 MySQL 或 MariaDB 的 Amazon Relational Database Service(Amazon RDS)实例的合规性要求。然后,我要将数据库日志发布到 Amazon CloudWatch。该如何操作?

简短描述

您可以使用 MariaDB 审计插件来捕获事件,例如连接、断开、查询或查询的表。首先,启用和配置 MariaDB 审计插件,并将数据库实例与自定义选项组相关联。然后,您可以将日志发布到 CloudWatch。

如果您使用 Amazon Aurora for MySQL,请参阅如何为我的 Amazon Aurora MySQL 数据库集群启用高级审计,并将日志发布到 CloudWatch?

解决方法

Amazon RDS 在以下版本的 MySQL 和 MariaDB 上支持审计插件选项设置

  • 所有 MySQL 5.6 版本
  • MySQL 5.7.16 及更高的 5.7 版本
  • MariaDB 10.0.24 及更高版本

在您的自定义选项组启用 MariaDB 审计插件

  1. 创建自定义选项组修改现有自定义选项组
  2. 将 MariaDB 审计插件选项添加到选项组,并配置选项设置。
  3. 将选项组应用到数据库实例。

要将选项应用于新数据库实例,请在启动数据库实例时将实例配置为使用新创建的选项组。要将选项应用于现有数据库实例,请修改数据库实例并附加新选项组。有关更多信息,请参阅修改运行 MySQL 数据库引擎的数据库实例修改运行 MariaDB 数据库引擎的数据库实例

使用 MariaDB 审计插件配置数据库实例后,无需重新启动数据库实例。选项组处于活动状态时,审计便会立即开始。

注意:Amazon RDS 不支持关闭 MariaDB 审计插件中的日志记录。要禁用审计日志记录,请从关联的选项组中删除插件。此操作会自动重启实例。要限制记录中的查询字符串的长度,请使用 SERVER_AUDIT_QUERY_LOG_LIMIT 选项。

将审计日志发布到 CloudWatch

  1. 打开 Amazon RDS 控制台
  2. 从导航窗格中选择数据库
  3. 选择您要使用的数据库实例,将日志数据导出到 CloudWatch。
  4. 选择修改
  5. 日志导出部分,选择审计日志
  6. 选择继续
  7. 查看修改摘要,然后选择修改实例

您也可以使用 AWS 命令行界面 (AWS CLI) 通过运行如下所示的命令来启用 CloudWatch 日志导出:

aws rds modify-db-instance --db-instance-identifier <mydbinstance> --cloudwatch-logs-export-configuration '{"EnableLogTypes":["audit"]}'

启用审计日志记录并修改实例导出日志后,审计日志中记录的事件将发送到 CloudWatch。 然后,您可以在 CloudWatch 中监控日志事件。 


这篇文章对您有帮助吗?

我们可以改进什么?


需要更多帮助?