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

AWS CLI を使用して証跡を管理する

AWS CLI には、証跡の管理に役立つ他のコマンドがいくつか含まれています。これらのコマンドは、証跡へのタグの追加、証跡ステータスの取得、証跡に対するログ記録の開始と停止、および証跡の削除を行います。証跡が作成されたのと同じ AWS リージョン (そのホームリージョン) からこれらのコマンドを実行する必要があります。AWS CLI を使用するときは、コマンドは自分のプロファイル用に設定された AWS リージョンで実行されることを忘れないようにしてください。別のリージョンでコマンドを実行する場合は、プロファイルのデフォルトのリージョンを変更するか、コマンドに --region パラメータを使用します。

証跡に 1 つ以上のタグを追加します。

既存の証跡に 1 つ以上のタグを追加するには、add-tags コマンドを使用します。

次の例では、米国東部 (オハイオ) リージョンの arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail の ARN を持つ証跡に、Owner という名前と Mary の値を持つタグを追加します。

aws cloudtrail add-tags --resource-id arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail --tags-list Key=Owner,Value=Mary --region us-east-2

成功すると、このコマンドは何も返しません。

1 つ以上の証跡のリストのタグ

1 つ以上の既存の証跡に関連付けられているタグを表示するには、list-tags コマンドを使用します。

次の例では、Trail1Trail2のタグを一覧表示します。

aws cloudtrail list-tags --resource-id-list arn:aws:cloudtrail:us-east-2:123456789012:trail/Trail1 arn:aws:cloudtrail:us-east-2:123456789012:trail/Trail2

成功すると、このコマンドは以下のような出力を返します。

{ "ResourceTagList": [ { "ResourceId": "arn:aws:cloudtrail:us-east-2:123456789012:trail/Trail1", "TagsList": [ { "Value": "Alice", "Key": "Name" }, { "Value": "Ohio", "Key": "Location" } ] }, { "ResourceId": "arn:aws:cloudtrail:us-east-2:123456789012:trail/Trail2", "TagsList": [ { "Value": "Bob", "Key": "Name" } ] } ] }

証跡から 1 つ以上のタグを削除します。

既存の証跡から 1 つ以上のタグを削除するには、remove-tags コマンドを使用します。

次の例では、米国東部 (オハイオ) リージョンの arn:aws:cloudtrail:us-east-2:123456789012:trail/Trail1の ARN を持つ証跡から、Location および Name という名前のタグを削除します。

aws cloudtrail remove-tags --resource-id arn:aws:cloudtrail:us-east-2:123456789012:trail/Trail1 --tags-list Key=Name Key=Location --region us-east-2

成功すると、このコマンドは何も返しません。

証跡の設定と証跡のステータスの取得

AWS リージョンの証跡に関する情報を取得するには、describe-trails コマンドを使用します。次の例では、米国東部 (オハイオ) リージョンに設定された証跡に関する情報を返します。

aws cloudtrail describe-trails --region us-east-2

コマンドが正常に完了した場合は、次のような出力が表示されます。

{ "trailList": [ { "Name": "my-trail", "S3BucketName": "my-bucket", "S3KeyPrefix": "my-prefix", "IncludeGlobalServiceEvents": true, "IsMultiRegionTrail": true, "HomeRegion": "us-east-2" "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail", "LogFileValidationEnabled": false, "HasCustomEventSelectors": false, "SnsTopicName": "my-topic", "IsOrganizationTrail": false, }, { "Name": "my-special-trail", "S3BucketName": "another-bucket", "S3KeyPrefix": "example-prefix", "IncludeGlobalServiceEvents": false, "IsMultiRegionTrail": false, "HomeRegion": "us-east-2", "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-special-trail", "LogFileValidationEnabled": false, "HasCustomEventSelectors": true, "IsOrganizationTrail": false }, { "Name": "my-org-trail", "S3BucketName": "my-bucket", "S3KeyPrefix": "my-prefix", "IncludeGlobalServiceEvents": true, "IsMultiRegionTrail": true, "HomeRegion": "us-east-1" "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-org-trail", "LogFileValidationEnabled": false, "HasCustomEventSelectors": false, "SnsTopicName": "my-topic", "IsOrganizationTrail": true } ] }

特定の証跡に関する設定情報を取得するには、get-trail コマンドを使用します。次の使用例は、my-trail という名前の証跡の設定情報を返します。

aws cloudtrail get-trail - -name my-trail

成功すると、このコマンドは以下のような出力を返します。

{ "Trail": { "Name": "my-trail", "S3BucketName": "my-bucket", "S3KeyPrefix": "my-prefix", "IncludeGlobalServiceEvents": true, "IsMultiRegionTrail": true, "HomeRegion": "us-east-2" "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/my-trail", "LogFileValidationEnabled": false, "HasCustomEventSelectors": false, "SnsTopicName": "my-topic", "IsOrganizationTrail": false, } }

証跡のステータスを取得するには get-trail-status コマンドを実行します。このコマンドを作成された AWS リージョン (ホームリージョン) から実行するか、--region パラメータを使用してそのリージョンを指定する必要があります。

注記

証跡が組織の証跡であり、お客様が AWS Organizations の組織のメンバーアカウントである場合は、名前だけでなく、その証跡の完全な ARN を提供する必要があります。

aws cloudtrail get-trail-status --name my-trail

コマンドが正常に完了した場合は、次のような出力が表示されます。

{ "LatestDeliveryTime": 1441139757.497, "LatestDeliveryAttemptTime": "2015-09-01T20:35:57Z", "LatestNotificationAttemptSucceeded": "2015-09-01T20:35:57Z", "LatestDeliveryAttemptSucceeded": "2015-09-01T20:35:57Z", "IsLogging": true, "TimeLoggingStarted": "2015-09-01T00:54:02Z", "StartLoggingTime": 1441068842.76, "LatestDigestDeliveryTime": 1441140723.629, "LatestNotificationAttemptTime": "2015-09-01T20:35:57Z", "TimeLoggingStopped": "" }

前述の JSON コードに表示されているフィールドに加えて、Amazon SNS または Amazon S3 エラーがある場合はステータスに以下のフィールドが含まれます。

  • LatestNotificationError。トピックのサブスクリプションに失敗した場合に、Amazon SNS によって出力されたエラーが含まれています。

  • LatestDeliveryError。CloudTrail がバケットにログファイルを配信できない場合に、Amazon S3 によって出力されたエラーが含まれています。

イベントセレクタの設定

証跡のイベントセレクタの設定を表示するには、get-event-selectors コマンドを実行します。このコマンドを作成された AWS リージョン (ホームリージョン) から実行するか、--region パラメータを使用してそのリージョンを指定する必要があります。

aws cloudtrail get-event-selectors --trail-name TrailName

注記

証跡が組織の証跡であり、お客様が AWS Organizations の組織のメンバーアカウントである場合は、名前だけでなく、その証跡の完全な ARN を提供する必要があります。

次の例は、証跡のイベントセレクタのデフォルト設定を返します。

{ "EventSelectors": [ { "IncludeManagementEvents": true, "DataResources": [], "ReadWriteType": "All" } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName" }

イベントセレクタを作成するには、put-event-selectors コマンドを実行します。アカウントでイベントが発生すると、CloudTrail によって証跡の設定が評価されます。イベントが証跡のいずれかのイベントセレクタと一致する場合は、証跡がイベントを処理し、ログに記録します。証跡あたり最大 5 つのイベントセレクタと、証跡あたり最大 250 の データリソースを設定できます。詳細については、「証跡のデータイベントと管理イベントのログ記録」を参照してください。

例: 特定のイベントセレクタを使用した証跡

以下の例では、読み取り専用管理イベントと書き込み専用管理イベント、2 つの Amazon S3 バケット/プレフィックスの組み合わせのデータイベント、AWS Lambda 関数 (hello-world-python-function) のデータイベントを含めるように、TrailName という名前の証跡を作成します。

aws cloudtrail put-event-selectors --trail-name TrailName --event-selectors '[{"ReadWriteType": "All","IncludeManagementEvents": true,"DataResources": [{"Type":"AWS::S3::Object", "Values": ["arn:aws:s3:::mybucket/prefix","arn:aws:s3:::mybucket2/prefix2"]},{"Type": "AWS::Lambda::Function","Values": ["arn:aws:lambda:us-west-2:999999999999:function:hello-world-python-function"]}]}]'

例では、証跡に対して設定されているイベントセレクタを返します。

{ "EventSelectors": [ { "IncludeManagementEvents": true, "DataResources": [ { "Values": [ "arn:aws:s3:::mybucket/prefix", "arn:aws:s3:::mybucket2/prefix2" ], "Type": "AWS::S3::Object" }, { "Values": [ "arn:aws:lambda:us-west-2:123456789012:function:hello-world-python-function" ], "Type": "AWS::Lambda::Function" }, ], "ReadWriteType": "All" } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName" }

例: すべてのイベントをログに記録する証跡

次の例では、すべてのイベントを含む、TrailName2 という名前の証跡のイベントセレクタを作成します。これには、読み取り専用および書き込み専用の管理イベント、およびAWS アカウント内のすべての Amazon S3 バケットおよび AWS Lambda 関数のすべてのデータイベントが含まれます。

注記

証跡が 1 つのリージョンにのみ適用される場合、イベントセレクタのパラメータですべての Amazon S3 バケットと Lambda 関数が指定されていても、そのリージョン内のイベントのみがログに記録されます。イベントセレクタは、証跡が作成されたリージョンにのみ適用されます。

aws cloudtrail put-event-selectors --trail-name TrailName2 --event-selectors '[{"ReadWriteType": "All","IncludeManagementEvents": true,"DataResources": [{"Type":"AWS::S3::Object", "Values": ["arn:aws:s3:::"]},{"Type": "AWS::Lambda::Function","Values": ["arn:aws:lambda"]}]}]'

例では、証跡に対して設定されているイベントセレクタを返します。

{ "EventSelectors": [ { "IncludeManagementEvents": true, "DataResources": [ { "Values": [ "arn:aws:s3:::" ], "Type": "AWS::S3::Object" }, { "Values": [ "arn:aws:lambda" ], "Type": "AWS::Lambda::Function" }, ], "ReadWriteType": "All" } ], "TrailARN": "arn:aws:cloudtrail:us-east-2:123456789012:trail/TrailName2" }

証跡のログ記録の停止と開始

次のコマンドは、CloudTrail のログ記録を開始および停止します。

aws cloudtrail start-logging --name awscloudtrail-example
aws cloudtrail stop-logging --name awscloudtrail-example

注記

バケットを削除する前に、stop-logging コマンドを実行してバケットへのイベントの配信を停止します。ログ記録を停止しない場合、CloudTrail は限られた期間、同じ名前のバケットにログファイルを配信しようとします。

証跡の削除

次のコマンドを使用して証跡を削除することができます。証跡は、それが作成されたリージョン (ホームリージョン) でのみ削除できます。

aws cloudtrail delete-trail --name awscloudtrail-example

証跡を削除しても、Amazon S3 バケットまたはそれに関連付けられている Amazon SNS トピックは削除されません。AWS マネジメントコンソール、AWS CLI、またはサービス API を使用して、これらのリソースを個別に削除します。