我想审计数据库 (DB) 活动,以满足运行 MySQL 或 MariaDB 的 Amazon Relational Database Service (Amazon RDS) 数据库实例的要求。然后,我想将日志发布到 Amazon CloudWatch。
简短描述
要捕获连接、断开连接、查询或其他服务器活动等事件,请添加和配置 MariaDB 审计插件。然后,将数据库实例与自定义选项组进行关联。然后,将日志发布到 CloudWatch。
Amazon RDS 支持以下版本的 MySQL 和 MariaDB 审计插件选项设置:
- 所有 MySQL 5.7 版本
- MySQL 8.0.25 及更高的 8.0 版本
- MariaDB 10.3 及更高版本
如果您使用 Amazon Aurora MySQL 兼容版,请参阅如何为我的 Amazon Aurora MySQL 数据库集群启用审计日志记录并将日志发布到 CloudWatch?
解决方法
**注意:**如果您在运行 AWS 命令行界面 (AWS CLI) 命令时收到错误,请参阅 AWS CLI 错误故障排除。此外,请确保您使用的是最新版本的 AWS CLI。
添加和配置 MariaDB 审计插件,然后将数据库实例与自定义选项组进行关联
完成以下步骤:
- 创建自定义选项组,或修改现有的自定义选项组。
- 将 MariaDB 审计插件选项添加到选项组,然后配置选项设置。
- 要将选项组应用于数据库实例,请执行以下操作之一:
对于新的数据库实例,将该实例配置为在启动数据库实例时使用新创建的选项组。
对于现有数据库实例,修改数据库实例,然后附加新的选项组。
使用 MariaDB 审计插件配置数据库实例后,无需重启数据库实例。当选项组处于活动状态时,审计立即开始。
**注意:**Amazon RDS 不支持在 MariaDB 审计插件中关闭日志记录。要关闭审计日志记录,请将该插件从关联的选项组中移除,以自动重启实例。要限制记录中查询字符串的长度,请使用 SERVER_AUDIT_QUERY_LOG_LIMIT 选项。
将审计日志发布到 CloudWatch
您可以使用 Amazon RDS 控制台或 AWS CLI 启用 CloudWatch 日志导出。
要使用 Amazon RDS 控制台,完成以下步骤:
- 打开 Amazon RDS 控制台。
- 在导航窗格中,选择 Databases(数据库)。
- 选择要用于将日志数据导出到 CloudWatch 的数据库实例。
- 选择 Modify(修改)。
- 在 Additional monitoring settings(其他监控设置)部分中,对于 Log exports(日志导出),选择 Audit log(审计日志)。
- 选择 Continue(继续)。
- 查看 Summary of modifications(修改摘要),然后选择 Modify DB instance(修改数据库实例)。
**注意:**当您选择 Apply immediately(立即应用)时,可能会出现停机。
要使用 AWS CLI,请运行 modify-db-instance 命令以启用 CloudWatch 日志导出:
aws rds modify-db-instance --db-instance-identifier db_instance --cloudwatch-logs-export-configuration '{"EnableLogTypes":["audit"]}'
**注意:**将 db_instance 替换为您的数据库实例的名称。
启用审计日志记录并修改实例以导出日志后,记录在审计日志中的事件将发送到 CloudWatch。然后,您可以在 CloudWatch 中监控日志事件。
相关信息
适用于 MariaDB 数据库引擎的选项
连接到 MariaDB 数据库实例