AWS のサービスの特定のイベントタイプがトリガーされた場合にカスタム SNS 通知が送信されるように、GuardDuty 用に EventBridge を設定するにはどうすればよいですか。

最終更新日: 2022 年 1 月 10 日

Amazon GuardDuty のサービスイベントタイプでトリガーする Amazon EventBridge を作成しましたが、 レスポンスが JSON 形式です。カスタム通知付きのレスポンスを E メールで受け取るにはどうすればよいですか。

簡単な説明

特定の結果タイプに一致する EventBridge ルールを持つカスタムイベントパターンを使用します。次に、レスポンスを Amazon Simple Notification Service (Amazon SNS) トピックにルーティングします。

解決方法

この例では、Amazon GuardDuty イベントタイプ UnauthorizedAccess:EC2/MaliciousIPCaller.Custom を使用します。

: ご使用の AWS のサービスに合わせ、サービス名とイベントタイプを置き換えてください。

1.    Amazon SNS トピックをまだ作成していない場合は、「Amazon SNS の開始方法」の手順に従ってください。

注: Amazon SNS トピックは、ご使用の Amazon GuardDuty サービスと同じリージョンにある必要があります。

2.    EventBridge コンソールを開きます。

3.    [Create rule] (ルールを作成) を選択します。

4.    ルールの [Name] (名前) を入力します。必要に応じて [Description] (説明) を入力できます。

5.    [Define pattern] (パターン定義) で、[Event pattern] (イベントパターン) を選択します。

6.    [Pre-defined pattern by service] (サービスごとの事前定義パターン) を選択します。

7.    [Service provider] (サービスプロバイダー) で、[AWS] を選択します。

8.    [Service name] (サービス名) で、 [GuardDuty] を選択します。

9.    [Event type] (イベントタイプ) で、 [GuardDuty Finding] を選択します。

10.    [Event pattern] (イベントパターン) のプレビューセクションで [Edit] (編集) を選択します。

11.    次のコードをコピーして [イベントパターン] のプレビューセクションに貼り付け、[Save] (保存) を選択します。

{
  "source": [
    "aws.guardduty"
  ],
  "detail": {
    "type": [
      "UnauthorizedAccess:EC2/MaliciousIPCaller.Custom"
     ]
  }
}

12.    [Select event bus] (イベントバスを選択) で、[AWS default event bus] (AWS デフォルトイベントバス) を選択します。

13.    [Select targets] (ターゲットの選択) で [SNS topic] (SNS トピック) を選択し、以前に作成した SNS トピックを選択します。

14.    [Configure input] (設定入力) を展開し、[Input Transformer] (入力トランスフォーマー) を選択します。

15.    次のコードをコピーします。それを [Input Path] (入力パス) に貼り付けます。

{
    "severity": "$.detail.severity",
    "Finding_ID": "$.detail.id",
    "instanceId": "$.detail.resource.instanceDetails.instanceId",
    "port": "$.detail.service.action.networkConnectionAction.localPortDetails.port",
    "eventFirstSeen": "$.detail.service.eventFirstSeen",
    "eventLastSeen": "$.detail.service.eventLastSeen",
    "count": "$.detail.service.count",
    "Finding_Type": "$.detail.type",
    "region": "$.region",
    "Finding_description": "$.detail.description"
}

16.    次のコードをコピーします。それを [Input Template] (入力テンプレート) に貼り付けます。

"You have a severity <severity> GuardDuty finding type <Finding_Type> for the EC2 instance <instanceId> in the region <region> as the <Finding_description> on the port <port>. The first attempt was on <eventFirstSeen> and the most recent attempt on <eventLastSeen> . The total occurrence is <count>. For more details open the GuardDuty console at https://console.aws.amazon.com/guardduty/home?region=<region>#/findings?search=id%3D<Finding_ID>"

17.    ページの一番下までスクロールして、[Create] (作成) を選択します。

18.    イベントタイプがトリガーされると、ステップ 16 で入力されたカスタム項目が記載された、次のような SNS の E メール通知を受け取ります

"You have a severity 5 GuardDuty finding type UnauthorizedAccess:EC2/MaliciousIPCaller.Custom for the EC2 instance EXAMPLEID in the region EXAMPLEREGION as the EC2 instance EXAMPLE is communicating with a disallowed IP address EXAMPLEREMOTEIP on the EXAMPLELIST on the port EXAMPLEPORT. The first attempt was on EXAMPLEDATE1 and the most recent attempt on EXAMPLEDATE2. The total occurrence is COUNTEXAMPLE. For more details open the GuardDuty console at https://console.aws.amazon.com/guardduty/home?EXAMPLEREGION"