配置 Amazon SNS 通知 CloudTrail - Amazon CloudTrail
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

配置 Amazon SNS 通知 CloudTrail

当您向 Amazon S3 存储桶 CloudTrail 发布新的日志文件时,您会收到通知。您可以使用 Amazon Simple Notification Service (Amazon SNS) 管理通知。

通知是可选的。如果您需要通知,则可以配置 CloudTrail 为在发送新日志文件时向 Amazon SNS 主题发送更新信息。要接收这些通知,可使用 Amazon SNS 订阅该主题。作为订阅者,您可将更新发送到 Amazon Simple Queue Service (Amazon SQS) 队列,这使您能够以编程方式处理这些通知。

配置 CloudTrail 为发送通知

您可以配置跟踪以使用 Amazon SNS 主题。您可以使用 CloudTrail 控制台或 aws cloudtrail create-trailCLI 命令来创建主题。 CloudTrail 为您创建 Amazon SNS 主题并附加相应的策略,以便 CloudTrail 有权发布该主题。

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

  • 介于 1 到 256 个字符之间

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

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

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

注意

CloudTrail 当日志文件写入 Amazon S3 存储桶时会发送通知。有效账户可以生成大量通知。如果您使用电子邮件或 SMS 进行订阅,可能会收到大量消息。建议您使用 Amazon Simple Queue Service (Amazon SQS) 进行订阅,以便能以编程方式处理通知。有关更多信息,请参阅 Amazon Simple Queue Service 开发人员指南中的将 Amazon SQS 队列订阅到 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 结构的信息,请参阅《亚马逊简单通知服务开发者指南》中的 Fanout to Amazon SQS 队列。只有该Message字段显示 CloudTrail 信息。其他字段包含来自 Amazon SNS 服务的信息。

如果您使用 CloudTrail API 创建跟踪,则可以通过CreateTrailUpdateTrail操作指定要 CloudTrail 向其发送通知的现有 Amazon SNS 主题。您必须确保该主题存在,并且该主题具有允许 CloudTrail 向其发送通知的权限。请参阅 Amazon SNS 主题政策 CloudTrail

其他 资源

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