AWS CLI を使用した証跡の CloudTrail Insights イベントの表示 - AWS CloudTrail

AWS CLI を使用した証跡の CloudTrail Insights イベントの表示

aws cloudtrail lookup-events コマンドを実行して、過去 90 日間の CloudTrail Insights イベントを参照できます。lookup-events コマンドには以下のオプションがあります。

  • --end-time

  • --event-category

  • --max-results

  • --start-time

  • --lookup-attributes

  • --next-token

  • --generate-cli-skeleton

  • --cli-input-json

AWS Command Line Interface の使用方法の一般情報については、「AWS Command Line Interface ユーザーガイド」を参照してください。

前提条件

  • AWS CLI コマンドを実行するには、AWS CLI をインストールする必要があります。詳細については、「AWS CLI の使用を開始する」を参照してください。

  • AWS CLI バージョンが 1.6.6 以上であることを確認します。CLI のバージョンを確認するには、コマンドラインで aws --version を実行します。

  • AWS CLI セッションのアカウント、リージョン、およびデフォルトの出力形式を設定するには、aws configure コマンドを使用します。詳細については、「AWS コマンドラインインターフェイスの設定」を参照してください。

  • API 呼び出し量に関する Insights イベントを記録するには、証跡が write 管理イベントを記録している必要があります。API エラー率に関する Insights イベントを記録するには、証跡が read または write 管理イベントを記録している必要があります。

注記

CloudTrail の AWS CLI コマンドでは、大文字と小文字が区別されます。

コマンドラインのヘルプを取得する

lookup-events のコマンドライン ヘルプを表示するには、次のコマンドを入力します。

aws cloudtrail lookup-events help

Insights イベントを参照する

最新 10 件の Insights イベントを表示するには、次のコマンドを入力します。

aws cloudtrail lookup-events --event-category insight

返されるイベントは、次の例のようになります。

{ "NextToken": "kbOt5LlZe++mErCebpy2TgaMgmDvF1kYGFcH64JSjIbZFjsuvrSqg66b5YGssKutDYIyII4lrP4IDbeQdiObkp9YAlju3oXd12juEXAMPLE=", "Events": [ { "eventVersion": "1.07", "eventTime": "2019-10-15T21:13:00Z", "awsRegion": "us-east-1", "eventID": "EXAMPLE-9b6f-45f8-bc6b-9b41c052ebc7", "eventType": "AwsCloudTrailInsight", "recipientAccountId": "123456789012", "sharedEventID": "EXAMPLE8-02b2-4e93-9aab-08ed47ea5fd3", "insightDetails": { "state": "Start", "eventSource": "autoscaling.amazonaws.com", "eventName": "CompleteLifecycleAction", "insightType": "ApiCallRateInsight", "insightContext": { "statistics": { "baseline": { "average": 0.0000882145 }, "insight": { "average": 0.6 }, "insightDuration": 5, "baselineDuration": 11336 }, "attributions": [ { "attribute": "userIdentityArn", "insight": [ { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole1", "average": 0.2 }, { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole2", "average": 0.2 }, { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole3", "average": 0.2 } ], "baseline": [ { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole1", "average": 0.0000882145 } ] }, { "attribute": "userAgent", "insight": [ { "value": "codedeploy.amazonaws.com", "average": 0.6 } ], "baseline": [ { "value": "codedeploy.amazonaws.com", "average": 0.0000882145 } ] }, { "attribute": "errorCode", "insight": [ { "value": "null", "average": 0.6 } ], "baseline": [ { "value": "null", "average": 0.0000882145 } ] } ] } }, "eventCategory": "Insight" }, { "eventVersion": "1.07", "eventTime": "2019-10-15T21:14:00Z", "awsRegion": "us-east-1", "eventID": "EXAMPLEc-9eac-4af6-8e07-26a5ae8786a5", "eventType": "AwsCloudTrailInsight", "recipientAccountId": "123456789012", "sharedEventID": "EXAMPLE8-02b2-4e93-9aab-08ed47ea5fd3", "insightDetails": { "state": "End", "eventSource": "autoscaling.amazonaws.com", "eventName": "CompleteLifecycleAction", "insightType": "ApiCallRateInsight", "insightContext": { "statistics": { "baseline": { "average": 0.0000882145 }, "insight": { "average": 0.6 }, "insightDuration": 5, "baselineDuration": 11336 }, "attributions": [ { "attribute": "userIdentityArn", "insight": [ { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole1", "average": 0.2 }, { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole2", "average": 0.2 }, { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole3", "average": 0.2 } ], "baseline": [ { "value": "arn:aws:sts::012345678901:assumed-role/CodeDeployRole1", "average": 0.0000882145 } ] }, { "attribute": "userAgent", "insight": [ { "value": "codedeploy.amazonaws.com", "average": 0.6 } ], "baseline": [ { "value": "codedeploy.amazonaws.com", "average": 0.0000882145 } ] }, { "attribute": "errorCode", "insight": [ { "value": "null", "average": 0.6 } ], "baseline": [ { "value": "null", "average": 0.0000882145 } ] } ] } }, "eventCategory": "Insight" } ] }

出力内の参照関連フィールドの説明については、このトピックの「参照の出力フィールド」を参照してください。Insights イベント内のフィールドの説明については、「CloudTrail レコードの内容」を参照してください。

返す Insights イベント数を指定する

返されるイベントの数を指定するには、次のコマンドを入力します。

aws cloudtrail lookup-events --event-category insight --max-results <integer>

<integer> のデフォルト値 (指定されていない場合) は 10 です。有効な値は 1 から 50 です。次の例では、1 件の結果が返されています。

aws cloudtrail lookup-events --event-category insight --max-results 1

時間範囲により Insights イベントを参照する

Insights イベントは過去 90 日間の記録から参照できます。時間範囲を指定するには、次のコマンドを入力します。

aws cloudtrail lookup-events --event-category insight --start-time <timestamp> --end-time <timestamp>

--start-time <timestamp> を UTC で指定すると、指定された時刻かその後に発生した Insights イベントのみが返されます。指定された開始時刻が指定された終了時刻よりも後である場合は、エラーが返されます。

--end-time <timestamp> を UTC で指定すると、指定された時刻かその前に発生した Insights イベントのみが返されます。指定された終了時刻が指定された開始時刻よりも前である場合は、エラーが返されます。

デフォルトの開始時刻は、過去 90 日間のうち、データが利用できる最も早い日付です。デフォルトの終了時刻は、現在の時刻に最も近いイベント発生時刻です。

すべてのタイムスタンプは UTC で表示されます。

属性により Insights イベントを参照する

属性でフィルタリングするには、次のコマンドを入力します。

aws cloudtrail lookup-events --event-category insight --lookup-attributes AttributeKey=<attribute>,AttributeValue=<string>

lookup-events コマンドに対し、属性キーと値のペアを 1 つだけ指定できます。以下に、AttributeKey の有効な Insights イベント値を示します。値名では大文字と小文字が区別されます。

  • EventId

  • EventName

  • EventSource

AttributeValue の最大長は 2,000 文字です。次の文字 (「_」、「 」、「,」、「\\n」) は、2,000 文字の制限のうちの 2 文字としてカウントされます。

属性参照の例

次のコマンド例では、EventName の値が PutRule である Insights イベントが返されます。

aws cloudtrail lookup-events --event-category insight --lookup-attributes AttributeKey=EventName, AttributeValue=PutRule

次のコマンド例では、EventId の値が b5cc8c40-12ba-4d08-a8d9-2bceb9a3e002 である Insights イベントが返されます。

aws cloudtrail lookup-events --event-category insight --lookup-attributes AttributeKey=EventId, AttributeValue=b5cc8c40-12ba-4d08-a8d9-2bceb9a3e002

次のコマンド例では、EventSource の値が iam.amazonaws.com である Insights イベントが返されます。

aws cloudtrail lookup-events --event-category insight --lookup-attributes AttributeKey=EventSource, AttributeValue=iam.amazonaws.com

次の結果ページを指定する

lookup-events コマンドの次の結果ページを取得するには、次のコマンドを入力します。

aws cloudtrail lookup-events --event-category insight <same parameters as previous command> --next-token=<token>

このコマンドでは、<token> の値は、前のコマンドの出力の最初のフィールドから取得されます。

コマンド内で --next-token を使用する場合は、前のコマンドと同じパラメータを使用する必要があります。たとえば、次のコマンドを実行したとします。

aws cloudtrail lookup-events --event-category insight --lookup-attributes AttributeKey=EventName, AttributeValue=PutRule

次の結果ページを取得する場合、コマンドは次のようになります。

aws cloudtrail lookup-events --event-category insight --lookup-attributes AttributeKey=EventName,AttributeValue=PutRule --next-token=EXAMPLEZe++mErCebpy2TgaMgmDvF1kYGFcH64JSjIbZFjsuvrSqg66b5YGssKutDYIyII4lrP4IDbeQdiObkp9YAlju3oXd12juEXAMPLE=

JSON 入力をファイルから取得する

一部の AWS サービスの AWS CLI には、--generate-cli-skeleton および --cli-input-json という 2 つのパラメータがあります。ユーザーは、これらを使用して JSON テンプレートを生成し、そのテンプレートを変更して、--cli-input-json パラメータへの入力として使用することができます。このセクションでは、これらのパラメータを aws cloudtrail lookup-events で使用する方法について説明します。詳細については、「AWS CLI スケルトンと入力ファイル」を参照してください。

JSON 入力をファイルから取得して Insights イベントを参照するには
  1. 次の例のように、lookup-events の出力をファイルにリダイレクトして、--generate-cli-skeleton で使用するための入力テンプレートを作成します。

    aws cloudtrail lookup-events --event-category insight --generate-cli-skeleton > LookupEvents.txt

    生成されるテンプレートファイル (この場合、LookupEvents.txt) は次のようになります。

    { "LookupAttributes": [ { "AttributeKey": "", "AttributeValue": "" } ], "StartTime": null, "EndTime": null, "MaxResults": 0, "NextToken": "" }
  2. テキストエディタを使用し、必要に応じて JSON を変更します。JSON 入力には、指定された値のみが含まれている必要があります。

    重要

    空の値や Null 値は、使用する前にテンプレートからすべて削除する必要があります。

    次の例では、時間範囲と、返される結果の最大数を指定しています。

    { "StartTime": "2023-11-01", "EndTime": "2023-12-12", "MaxResults": 10 }
  3. 編集したファイルを入力として使用するには、次の例のように、構文 --cli-input-json file://<filename> を使用します。

    aws cloudtrail lookup-events --event-category insight --cli-input-json file://LookupEvents.txt
注記

--cli-input-json と同じコマンドラインで、他の引数を使用することもできます。

参照の出力フィールド

イベント

指定された参照属性と時間範囲に基づく参照イベントのリストです。イベントリストは時刻でソートされ、最新のイベントが最初に表示されます。各エントリには、参照リクエストに関する情報と、取得された CloudTrail イベントの文字列表現が含まれます。

以下のエントリは、各参照イベント内のフィールドです。

CloudTrailEvent

返されたイベントのオブジェクト表現を含んだ JSON 文字列です。返される各要素については、「 Record Body Contents」を参照してください。

EventId

返されたイベントの GUID を含んだ文字列です。

EventName

返されたイベントの名前を含んだ文字列です。

EventSource

リクエストの宛先となった AWS サービスです。

EventTime

イベントの日時です (UNIX 時刻形式)。

リソース

返されたイベントによって参照されるリソースのリストです。各リソースエントリは、リソースタイプとリソース名を指定します。

ResourceName

イベントによって参照されるリソースの名前を含んだ文字列です。

ResourceType

イベントによって参照されるリソースのタイプを含んだ文字列です。リソースタイプを特定できない場合は、null が返されます。

ユーザー名

返されたイベントに対するアカウントのユーザー名を含んだ文字列です。

NextToken

前の lookup-events コマンドから次の結果ページを取得するための文字列です。トークンを使用するには、パラメータが元のコマンドと同じである必要があります。NextToken エントリが出力に表示されない場合、返す結果はそれ以上存在しません。

CloudTrail Insights イベントの詳細については、このガイドの「Insights イベントのログ記録」を参照してください。