AWS CloudTrail
用户指南 (版本 1.0)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

将 CloudTrail 配置为发送通知

您可以配置跟踪以使用 Amazon SNS 主题。You can use the CloudTrail console or the aws cloudtrail create-subscription CLI command to create the topic. CloudTrail 可为您创建 Amazon SNS 主题并附加适当的策略,因此,CloudTrail 有权发布到该主题。

您在创建 SNS 主题名称时,该名称必须满足以下要求:

  • 介于 1 到 256 个字符之间

  • 包含大写和小写 ASCII 字母、数字、下划线或连字符

当您为适用于所有区域的跟踪配置通知时,来自所有区域的通知都将发送到您指定的 Amazon SNS 主题。如果您有一个或多个区域特定的跟踪,须为每个区域分别创建一个主题,并单独订阅每个主题。

要接收通知,请订阅 Amazon SNS 主题或该 CloudTrail 使用的主题。可使用 Amazon SNS 控制台或 Amazon SNS CLI 命令完成此操作。有关更多信息,请参阅 Amazon Simple Notification Service 开发人员指南 中的订阅主题

注意

CloudTrail 会在日志文件写入 Amazon S3 存储桶时发送通知。有效账户可以生成大量通知。如果您使用电子邮件或 SMS 进行订阅,可能会收到大量消息。建议您使用 Amazon Simple Queue Service (Amazon SQS) 进行订阅,以便能以编程方式处理通知。有关更多信息,请参阅 Amazon Simple Queue Service 开发人员指南 中的为队列订阅 Amazon SNS 主题

Amazon SNS 通知包含一个 JSON 对象,该对象包括一个 Message 字段。此 Message 字段列出了日志文件的完整路径,如以下示例所示:

{ "s3Bucket": "your-bucket-name","s3ObjectKey": ["AWSLogs/123456789012/CloudTrail/us-east-2/2013/12/13/123456789012_CloudTrail_us-west-2_20131213T1920Z_LnPgDQnpkSKEsppV.json.gz"] }

如果多个日志文件都传输到了 Amazon S3 存储桶,则一条通知中可能包括多个日志,如以下示例所示:

{ "s3Bucket": "your-bucket-name", "s3ObjectKey": [ "AWSLogs/123456789012/CloudTrail/us-east-2/2016/08/11/123456789012_CloudTrail_us-east-2_20160811T2215Z_kpaMYavMQA9Ahp7L.json.gz", "AWSLogs/123456789012/CloudTrail/us-east-2/2016/08/11/123456789012_CloudTrail_us-east-2_20160811T2210Z_zqDkyQv3TK8ZdLr0.json.gz", "AWSLogs/123456789012/CloudTrail/us-east-2/2016/08/11/123456789012_CloudTrail_us-east-2_20160811T2205Z_jaMVRa6JfdLCJYHP.json.gz" ] }

如果您选择通过电子邮件接收通知,则电子邮件的正文将包含 Message 字段的内容。有关 JSON 结构的完整说明,请参阅 Amazon Simple Notification Service 开发人员指南 中的将 Amazon SNS 消息发送至 Amazon SQS 队列。仅 Message 字段显示 CloudTrail 信息。其他字段包含来自 Amazon SNS 服务的信息。

如果您使用 CloudTrail API 创建跟踪,则可以通过 CreateTrailUpdateTrail 操作指定您希望 CloudTrail 将通知发送到的现有 Amazon SNS 主题。您必须确保该主题已存在并且有权让 CloudTrail 向其发送通知。请参阅 的 主题策略

其他资源

有关 Amazon SNS 主题和订阅这些主题的更多信息,请参阅 Amazon Simple Notification Service 开发人员指南

本页内容: