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
を UTC で指定すると、指定された時刻かその後に発生した Insights イベントのみが返されます。指定された開始時刻が指定された終了時刻よりも後である場合は、エラーが返されます。<timestamp>
--end-time
を UTC で指定すると、指定された時刻かその前に発生した Insights イベントのみが返されます。指定された終了時刻が指定された開始時刻よりも前である場合は、エラーが返されます。<timestamp>
デフォルトの開始時刻は、過去 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 イベントを参照するには
-
次の例のように、
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": "" }
-
テキストエディタを使用し、必要に応じて JSON を変更します。JSON 入力には、指定された値のみが含まれている必要があります。
重要
空の値や Null 値は、使用する前にテンプレートからすべて削除する必要があります。
次の例では、時間範囲と、返される結果の最大数を指定しています。
{ "StartTime": "2023-11-01", "EndTime": "2023-12-12", "MaxResults": 10 }
-
編集したファイルを入力として使用するには、次の例のように、構文
--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 イベントのログ記録」を参照してください。