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

最終更新日: 2019 年 5 月 22 日

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

簡単な説明

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

解決方法

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

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

1.    Amazon SNS トピックをまだ作成していない場合は、「Amazon SNS の開始方法」をご参照ください。

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

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

3.    ナビゲーションペインで、[Rules★]、[Create rule★] の順に選択します。

4.    [Service Name★] メニューから、[GuardDuty] を選択します。

5.    [Event Type★] メニューから、[GuardDuty Finding★] を選択します。

6.    [Event Pattern Preview★] で、[Edit★] をクリックします。

7.    次のコードをコピーして [Event Pattern Preview★] に貼り付け、[Save★] をクリックします。

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

8.    [Targets★] で、[Add target★] をクリックします。

9.    [Select Target★] で、[SNS topic★] を選択します。

10.    [Select Topic★] で、ご自身の SNS トピックを選択します。

11.    [Configure input★] を展開し、[Input Transformer★] を選択します。

12.    次のコードをコピーします。それを [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"
}

13.    次のコードをコピーします。それを [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>"

14.    [Configure details★] を選択します。

15.    [Configure rule details★] で、ルールの [Name★] と [Description★] を入力した後、[Create rule★] をクリックします。

16.    イベントタイプがトリガーされると、ステップ 13 で事前に設定したカスタムフィールドが入力された SNS E メール通知を受信します。以下の : のようになります。

"You have a severity 5 GuardDuty finding type UnauthorizedAccess:EC2/TorIPCaller for the EC2 instance EXAMPLEID in the region EXAMPLEREGION as the IP address 192.0.2.0/2 on the Tor Anonymizing Proxy network is communicating with EC2 instance EXAMPLEID. on the port 80. The first attempt was on 2019-04-09T00:01:14.681Z and the most recent attempt on 2019-05-20T06:04:12.593Z . The total occurrence is 5. For more details open the GuardDuty console at https://console.aws.amazon.com/guardduty/home?EXAMPLEREGION"