如何启用 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 审计插件
- 创建自定义选项组或修改现有自定义选项组。
- 将 MariaDB 审计插件选项添加到选项组,并配置选项设置。
- 将选项组应用到数据库实例。
要将选项应用于新数据库实例,请在启动数据库实例时将实例配置为使用新创建的选项组。要将选项应用于现有数据库实例,请修改数据库实例并附加新选项组。有关更多信息,请参阅修改运行 MySQL 数据库引擎的数据库实例或修改运行 MariaDB 数据库引擎的数据库实例。
使用 MariaDB 审计插件配置数据库实例后,无需重新启动数据库实例。选项组处于活动状态时,审计便会立即开始。
注意:Amazon RDS 不支持关闭 MariaDB 审计插件中的日志记录。要禁用审计日志记录,请从关联的选项组中删除插件。此操作会自动重启实例。要限制记录中的查询字符串的长度,请使用 SERVER_AUDIT_QUERY_LOG_LIMIT 选项。
将审计日志发布到 CloudWatch
- 打开 Amazon RDS 控制台。
- 从导航窗格中选择 Databases(数据库)。
- 选择您要使用的数据库实例,将日志数据导出到 CloudWatch。
- 选择 Modify(修改)。
- 在 Log exports(日志导出)部分,选择 Audit log(审计日志)。
- 选择 Continue(继续)。
- 查看 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 中监控日志事件。
相关信息
MariaDB 审计插件的 MariaDB 文档