1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS CloudTrailのJSON確認とEventBridgeを活用した詳細なイベントキャプチャ手法

Last updated at Posted at 2024-10-10

CloudTrailのJSON確認方法とEventBridgeでのイベントキャプチャ手法

EventBridgeは、AWSサービスやカスタムアプリケーションからのイベントを受け取り、指定したターゲットにルーティングするサービスです。CloudTrailと組み合わせることで、特定のイベントが発生した際に自動的に処理を行えます。
AWSリソースの変更やAPIコールをトリガーとしてEventBridgeで検出する場合、CloudTrailのJSONイベントを使用します。しかし、CloudTrailのコンソール画面での確認だけでは十分でないことがあります。
そこで、より詳細な条件でのイベントキャプチャ方法について解説します

使用するリソース

  1. CloudTrail
  2. Eventbridge
  3. Lambda
  4. CloudWatch Logs

Lambdaの作成

Lambda関数内でイベントデータをログに出力することで、どのようなイベントがキャプチャされているかを確認できます。

image.png

import json

def lambda_handler(event, context):
    print(json.dumps(event))
    return {
        'statusCode': 200,
        'body': json.dumps('Event received')
    }

EventBridgeのイベントパターンを作成する

下記の例は「AWS コンソールへのログイン(ConsoleLogin イベント)が発生したとき」にトリガーするイベントパターンです。
image.png

{
  "source": ["aws.signin"],
  "detail-type": ["AWS Console Sign In via CloudTrail"],
  "detail": {
    "eventName": ["ConsoleLogin"]
  }
}

EventbridgeとLambdaを連携させる

image.png

上記のEventbridgeの条件のイベントをトリガーにして、LambdaにJSONが出力されます。
その確認方法としてCloudWatch LogsでLambda関数のログを確認しにいくと、イベントの内容のJSONを詳細に把握できます

image.png

詳細な設定を行う場合のイベントパターンの例

出力されるJSONが確認できたら、特定のイベントが出た場合にEventbridgeのイベントパターンに引っ掛けることも可能になります
下記は、アカウントID、IPアドレスなどのを指定した場合の例

{
  "source": ["aws.signin"],
  "detail-type": ["AWS Console Sign In via CloudTrail"],
  "detail": {
    "eventName": ["ConsoleLogin"],
    "userIdentity": {
      "type": ["AssumedRole"],
      "accountId": ["123456789012"],
      "arn": ["arn:aws:iam::123456789012:role/SpecificRole"]
    },
    "sourceIPAddress": ["203.0.113.0/24"]
  }
}

まとめ

CloudTrailとEventBridgeを組み合わせることで、AWS環境内のさまざまなイベントを効果的に監視・処理することができます。CloudTrailのJSONイベントを確認し、EventBridgeで広範なイベントをキャプチャする方法から、詳細な条件で特定のイベントのみをキャプチャする方法までを解説しました。これらの手法を活用して、AWSリソースの監視や自動化ができます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?