AWS CloudTrail
ユーザーガイド (Version 1.0)

Amazon SNS の CloudTrail 通知の設定

CloudTrail が、新しいログファイルを Amazon S3 バケットに発行するときに通知を受け取ることができます。Amazon Simple Notification Service (Amazon SNS) を使用して通知を管理します。

通知はオプションです。通知が必要な場合は、新しいログファイルが送信されるたびに Amazon SNS トピックに更新情報を送信するよう CloudTrail を設定します。これらの通知を受け取るには、Amazon SNS を使用してトピックを受信することができます。受信者として、アップデートを Amazon Simple Queue Service (Amazon SQS) キューに送信できます。これにより、これらの通知をプログラムで処理できます。

通知を送信するための CloudTrail の設定

Amazon SNS トピックを使用するように証跡を設定できます。トピックを作成するには、CloudTrail コンソールまたは aws cloudtrail create-trail CLI コマンドを使用できます。CloudTrail は Amazon SNS トピックを作成し、そのトピックに通知を発行するためのアクセス許可が CloudTrail に付与されるよう、適切なポリシーをアタッチします。

SNS トピック名を作成する際には、名前が次の要件を満たしている必要があります。

  • 1 ~ 256 文字

  • 大文字および小文字の ASCII 文字、数字、アンダースコア、またはハイフンが含まれている

すべてのリージョンに適用される証跡について通知を設定した場合、すべてのリージョンからの通知は、指定した Amazon SNS トピックに送信されます。リージョン固有の証跡が 1 つ以上ある場合は、リージョンごとに個別のトピックを作成し、各トピックを個別にサブスクライブする必要があります。

通知を受信するには、Amazon SNS トピックか、CloudTrail によって使用されるトピックをサブスクライブします。これを行うには、Amazon SNS コンソールまたは Amazon SNS CLI コマンドを使用します。詳細については、Amazon Simple Notification Service 開発者ガイド の「Subscribe to a Topic」を参照してください。

注記

CloudTrail は、Amazon S3 バケットにログファイルが書き込まれたときに通知を送信します。アクティブなアカウントでは、大量の通知が生成されることがあります。E メールまたは SMS を使用してサブスクライブしている場合は、大量のメッセージが受信される可能性があります。そのため、Amazon Simple Queue Service (Amazon SQS) を使用してサブスクライブすることをお勧めします。これにより、プログラムを使って通知を処理することができます。詳細については、Amazon Simple Queue Service 開発者ガイド の「Subscribing a Queue to an Amazon SNS Topic」を参照してください。

Amazon SNS 通知は、Message フィールドを含んだ JSON オブジェクトで構成されます。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" ] }

E メールで通知を受け取る場合、E メールの本文は、Message フィールドの内容で構成されます。JSON 構造の詳細については、Amazon Simple Notification Service 開発者ガイド の「Amazon SQS キューへの Amazon SNS メッセージの送信」を参照してください。CloudTrail 情報は Message フィールドにのみ表示されます。その他のフィールドには、Amazon SNS サービスからの情報が記載されます。

CloudTrail API を使用して証跡を作成する場合は、CreateTrail または UpdateTrail オペレーションを使用して、CloudTrail から通知を送信する既存の Amazon SNS トピックを指定できます。その場合は、そのトピックが存在することと、CloudTrail からの通知の送信を許可するアクセス許可がそのトピックにあることを確認する必要があります。「CloudTrail の Amazon SNS トピックポリシー」を参照してください。

その他のリソース

Amazon SNS トピックとそのサブスクライブの詳細については、「Amazon Simple Notification Service 開発者ガイド」を参照してください。