Amazon Relational Database Service
用户指南 (API Version 2014-10-31)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

使用 AWS CloudTrail 记录 Amazon RDS API 调用

AWS CloudTrail 是一项服务,可用于记录由您的 AWS 账户或代表您的 AWS 账户发出的所有 Amazon RDS API 调用。记录信息存储在 Amazon S3 存储桶中。您可以使用 CloudTrail 收集的信息来监控 Amazon RDS 数据库实例的活动。例如,您可以确定请求是否已成功完成以及由哪位用户发出。有关 CloudTrail 的更多信息,请参阅 AWS CloudTrail User Guide

如果使用 Amazon RDS 控制台或 Amazon RDS 命令行界面代表您的 AWS 账户执行操作,则 AWS CloudTrail 会将操作记录为对 Amazon RDS API 进行的调用。例如,如果使用 Amazon RDS 控制台修改数据库实例,或调用 AWS CLI modify-db-instance 命令,则 AWS CloudTrail 日志会显示对 Amazon RDS API ModifyDBInstance 操作进行的调用。有关 AWS CloudTrail 记录的 Amazon RDS API 操作的列表,请转到 Amazon RDS API 参考

注意

AWS CloudTrail 只记录 Amazon RDS API 调用的事件。如果要审核在不属于 Amazon RDS API 的数据库上执行的操作 (例如,用户连接到数据库时或更改数据库架构时),则您需要使用数据库引擎提供的监控功能。

配置 CloudTrail 事件日志记录

CloudTrail 可分别在每个区域中创建审核跟踪并将其存储在 Amazon S3 存储桶中。您可以将 CloudTrail 配置为使用 Amazon SNS 在创建了日志文件时发出通知,但这种配置是可选的。CloudTrail 会频繁发出通知,因此,建议您将 Amazon SNS 与 Amazon SQS 队列结合使用,并以编程方式来处理通知。

可以使用 AWS 管理控制台、AWS CLI 或 API 来启用 CloudTrail。启用 CloudTrail 日志记录后,可以让 CloudTrail 服务创建一个 Amazon S3 存储桶,用于存储日志文件。有关详细信息,请参阅 AWS CloudTrail User Guide 中的创建和更新跟踪AWS CloudTrail User Guide 还包含有关如何将多个区域的 CloudTrail 日志聚合到单个 Amazon S3 存储桶中的信息。

使用 CloudTrail 服务不产生任何费用。但是,如果启用相应选项,则需要支付使用 Amazon S3 的标准费用以及使用 Amazon SNS 的费用。有关定价详细信息,请参阅 Amazon S3Amazon SNS 定价页面。

CloudTrail 日志文件中的 Amazon RDS 事件条目

CloudTrail 日志文件包含使用 JSON 格式化的事件信息。一条事件记录表示一次 AWS API 调用,并包含有关请求的操作、请求操作的用户、请求日期和时间等信息。

CloudTrail 日志文件包含 AWS 账户的所有 AWS API 调用 (而不只是 Amazon RDS API 调用) 的事件。但是,您可以使用 eventName 元素读取日志文件并扫描对 Amazon RDS API 的调用。

以下示例显示了某用户的 CloudTrail 日志;该用户使用 Amazon RDS 控制台创建了数据库实例的快照并删除了该实例。控制台由 userAgent 元素标识。控制台 (CreateDBSnapshotDeleteDBInstance) 请求的 API 调用可在每条记录的 eventName 元素中找到。有关用户 (Alice) 的信息可在 userIdentity 元素中找到。

{ Records:[ { "awsRegion":"us-west-2", "eventName":"CreateDBSnapshot", "eventSource":"rds.amazonaws.com", "eventTime":"2014-01-14T16:23:49Z", "eventVersion":"1.0", "sourceIPAddress":"192.0.2.01", "userAgent":"AWS Console, aws-sdk-java\/unknown-version Linux\/2.6.18-kaos_fleet-1108-prod.2 Java_HotSpot(TM)_64-Bit_Server_VM\/24.45-b08", "userIdentity": { "accessKeyId":"AKIADQKE4SARGYLE", "accountId":"123456789012", "arn":"arn:aws-cn:iam::123456789012:user/Alice", "principalId":"AIDAI2JXM4FBZZEXAMPLE", "sessionContext": { "attributes": { "creationDate":"2014-01-14T15:55:59Z", "mfaAuthenticated":false } }, "type":"IAMUser", "userName":"Alice" } }, { "awsRegion":"us-west-2", "eventName":"DeleteDBInstance", "eventSource":"rds.amazonaws.com", "eventTime":"2014-01-14T16:28:27Z", "eventVersion":"1.0", "sourceIPAddress":"192.0.2.01", "userAgent":"AWS Console, aws-sdk-java\/unknown-version Linux\/2.6.18-kaos_fleet-1108-prod.2 Java_HotSpot(TM)_64-Bit_Server_VM\/24.45-b08", "userIdentity": { "accessKeyId":"AKIADQKE4SARGYLE", "accountId":"123456789012", "arn":"arn:aws-cn:iam::123456789012:user/Alice", "principalId":"AIDAI2JXM4FBZZEXAMPLE", "sessionContext": { "attributes": { "creationDate":"2014-01-14T15:55:59Z", "mfaAuthenticated":false } }, "type":"IAMUser", "userName":"Alice" } } ] }

有关 CloudTrail 日志文件中不同元素和值的更多信息,请参阅 AWS CloudTrail User Guide 中的 CloudTrail 事件参考

还可以利用与 CloudTrail 集成的 Amazon 合作伙伴解决方案来读取和分析 CloudTrail 日志文件。有关选项,请参阅 AWS 合作伙伴页面。