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

上次更新日期:2020 年 12 月 8 日

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

简短描述

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

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

解决方法

注意:如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请确保您运行的是最新版本的 AWS CLI

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. 从导航窗格中选择 Databases(数据库)。
  3. 选择您要使用的数据库实例,将日志数据导出到 CloudWatch。
  4. 选择 Modify(修改)。
  5. Log exports(日志导出)部分,选择 Audit log(审计日志)。
  6. 选择 Continue(继续)。
  7. 查看 Summary of modifications(修改摘要),然后选择 Modify instance(修改实例)。

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

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

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


这篇文章对您有帮助吗?


您是否需要账单或技术支持?