CloudTrail のネットワークアクティビティイベントに関するログ記録が一般提供になりました
こんにちは!クラウド事業本部コンサルティング部のたかくに(@takakuni_)です。
CloudTrail のネットワークアクティビティイベントに関するログ記録が一般提供になりました。
特定の VPC Endpoint にフォーカスして、クエリ組むのはパワーが必要なため便利になりました。やったね。
VPC Endpoint のネットワークアクティビティイベント
CloudTrail のネットワークアクティビティイベントは、VPC Endpoint 経由で実行される API イベントを記録する機能です。
現状、以下の API イベントを CloudTrail, CloudTrail Lake に記録できます。プレビュー時と比較して一般提供ではイベントソースに Amazon S3 が追加されました。
- AWS CloudTrail
- Amazon EC2
- AWS KMS
- AWS Secrets Manager
- Amazon S3
その他、GA による機能アップデートは現状見当たらなさそうでした。
料金
お値段変わらず、以下のラインナップです。最新状況は Pricing ページをご覧ください。
- CloudTrail証跡
- S3に配信されるネットワークアクティビティイベント 100,000 件あたり 0.10 USD
- CloudTrail Lake イベントデータストア
- 0.75 USD/GB
やってみる
それでは CloudTrail のネットワークアクティビティを有効化してみます。バージニア北部の CloudTrail から証跡の作成を行います。
ログイベントからネットワークイベントを確認すると s3.amazonaws.com
が選択できるようになっています。
必要に応じて VPC Endpoint の ID など特定のフィルター条件を付与できます。
今回はすべてのログイベントを取得しました。
作成された証跡を確認すると意図した設定値になっていますね。
S3 のゲートウェイエンドポイントへのルートが存在するサブネット上に、 EC2 を起動し Session Manager 経由で AWS CLI を実行してみました。
sh-5.2$ aws s3 ls
2024-02-26 02:41:49 athena-result-query-editor-123456789012
2024-03-16 06:41:12 aws-athena-query-results-123456789012-ap-northeast-1
2024-04-21 07:06:00 aws-athena-query-results-123456789012-us-east-1
バケットを確認すると、ログが記録されています。
オブジェクトのプレフィックスは CloudTrail-NetworkActivity/
から始まるようでした。
ログを確認してみます。VPC Endpoint にフォーカスした S3 の ListBuckets API が記録されていますね。
{
"Records": [
{
"eventVersion": "1.11",
"userIdentity": {
"type": "AssumedRole",
"principalId": "AROAZCAS4AKSYICHW2KRT:i-016b1ee05b6e46429",
"arn": "arn:aws:sts::123456789012:assumed-role/ManagedInstanceCore/i-016b1ee05b6e46429",
"accountId": "123456789012",
"accessKeyId": "ASIAZCAS4AKS5EEAA7VH",
"sessionContext": {
"sessionIssuer": {
"type": "Role",
"principalId": "AROAZCAS4AKSYICHW2KRT",
"arn": "arn:aws:iam::123456789012:role/ManagedInstanceCore",
"accountId": "123456789012",
"userName": "ManagedInstanceCore"
},
"attributes": {
"creationDate": "2025-02-14T14:41:45Z",
"mfaAuthenticated": "false"
},
"ec2RoleDelivery": "2.0"
}
},
"eventTime": "2025-02-14T14:50:10Z",
"eventSource": "s3.amazonaws.com",
"eventName": "ListBuckets",
"awsRegion": "us-east-1",
"sourceIPAddress": "10.0.5.98",
"requestID": "DSPSP89359M3GVSS",
"eventID": "a65e08bd-168b-46c1-a60e-4727e6fda6ba",
"eventType": "AwsVpceEvent",
"recipientAccountId": "123456789012",
"sharedEventID": "b908f9d4-4f3e-4d2c-8372-d390b1059006",
"vpcEndpointId": "vpce-0cd20a790485e17d4",
"vpcEndpointAccountId": "123456789012",
"eventCategory": "NetworkActivity"
},
{
"eventVersion": "1.11",
"userIdentity": {
"type": "AssumedRole",
"principalId": "AROAZCAS4AKSYICHW2KRT:i-016b1ee05b6e46429",
"arn": "arn:aws:sts::123456789012:assumed-role/ManagedInstanceCore/i-016b1ee05b6e46429",
"accountId": "123456789012",
"accessKeyId": "ASIAZCAS4AKS5EEAA7VH",
"sessionContext": {
"sessionIssuer": {
"type": "Role",
"principalId": "AROAZCAS4AKSYICHW2KRT",
"arn": "arn:aws:iam::123456789012:role/ManagedInstanceCore",
"accountId": "123456789012",
"userName": "ManagedInstanceCore"
},
"attributes": {
"creationDate": "2025-02-14T14:41:45Z",
"mfaAuthenticated": "false"
},
"ec2RoleDelivery": "2.0"
}
},
"eventTime": "2025-02-14T14:54:08Z",
"eventSource": "s3.amazonaws.com",
"eventName": "ListBuckets",
"awsRegion": "us-east-1",
"sourceIPAddress": "10.0.5.98",
"requestID": "13PHQ14RZQHM3MQ3",
"eventID": "4392d7c7-5f69-4016-ae0a-9c3e19f5944b",
"eventType": "AwsVpceEvent",
"recipientAccountId": "123456789012",
"sharedEventID": "d408829e-3ac5-4925-bdcf-551f8084dd8b",
"vpcEndpointId": "vpce-0cd20a790485e17d4",
"vpcEndpointAccountId": "123456789012",
"eventCategory": "NetworkActivity"
},
{
"eventVersion": "1.11",
"userIdentity": {
"type": "AssumedRole",
"principalId": "AROAZCAS4AKSYICHW2KRT:i-016b1ee05b6e46429",
"arn": "arn:aws:sts::123456789012:assumed-role/ManagedInstanceCore/i-016b1ee05b6e46429",
"accountId": "123456789012",
"accessKeyId": "ASIAZCAS4AKS5EEAA7VH",
"sessionContext": {
"sessionIssuer": {
"type": "Role",
"principalId": "AROAZCAS4AKSYICHW2KRT",
"arn": "arn:aws:iam::123456789012:role/ManagedInstanceCore",
"accountId": "123456789012",
"userName": "ManagedInstanceCore"
},
"attributes": {
"creationDate": "2025-02-14T14:41:45Z",
"mfaAuthenticated": "false"
},
"ec2RoleDelivery": "2.0"
}
},
"eventTime": "2025-02-14T14:54:13Z",
"eventSource": "s3.amazonaws.com",
"eventName": "ListBuckets",
"awsRegion": "us-east-1",
"sourceIPAddress": "10.0.5.98",
"requestID": "GV0FYAE1V0M104AD",
"eventID": "8688ecfc-f494-41f4-806f-b490d606e78b",
"eventType": "AwsVpceEvent",
"recipientAccountId": "123456789012",
"sharedEventID": "4ce5a6cf-50dd-419c-b5a5-e36f6ddd1b3f",
"vpcEndpointId": "vpce-0cd20a790485e17d4",
"vpcEndpointAccountId": "123456789012",
"eventCategory": "NetworkActivity"
}
]
}
まとめ
以上、「CloudTrail のネットワークアクティビティイベントに関するログ記録が一般提供になりました。」でした。
特定 VPC に対しての操作履歴という面ではすごくフォーカスしたログが記録できそうです。現状サポートしている API がやや少なめなので今後の機能拡充に期待ですね。
クラウド事業本部コンサルティング部のたかくに(@takakuni_)でした!