CloudTrail イベントの CloudWatch アラームの作成: 例 - AWS CloudTrail

CloudTrail イベントの CloudWatch アラームの作成: 例

このトピックでは、CloudTrail イベントのアラームを設定する方法について説明します。また、その例を示します。

注記

次のメトリックスフィルタとアラームの例を手動で作成する代わりに、AWS CloudFormation テンプレートを使用して、一度にすべて作成することができます。詳細については、「AWS CloudFormation テンプレートを使用して CloudWatch アラームを作成する」を参照してください。

Prerequisites

このトピックの例を使用する前に、次のことを行う必要があります。

  • コンソールまたは CLI を使用して証跡を作成します。

  • ロググループを作成します。ロググループは、証跡の作成の一部として実行できます。

  • 指定したロググループに CloudWatch Logs ログストリームを作成し、そのログストリームに CloudTrail イベントを配信するためのアクセス許可を CloudTrail に付与する IAM ロールを指定または作成します。これは、デフォルト CloudTrail_CloudWatchLogs_Role によって行われます。

詳細については、「CloudWatch Logs へのイベントの送信」を参照してください。このセクションの例は、Amazon CloudWatch Logs コンソールで実行されます。メトリクスフィルターとアラームを作成する方法の詳細については、Amazon CloudWatch ユーザーガイドの「フィルターを使用したログイベントからのメトリクスの作成」および「Amazon CloudWatch アラームの作成」を参照してください。

メトリックスフィルタを作成し、アラームを作成する

アラームを作成するには、まずメトリックスフィルタを作成してから、そのフィルタに基づいてアラームを設定する必要があります。すべての例の手順が示されます。メトリクスフィルターおよび CloudTrail ログイベントのパターンの構文の詳細については、Amazon CloudWatch Logsユーザーガイドフィルターとパターンの構文の JSON 関連のセクションを参照してください。

例 : セキュリティグループの設定の変更

セキュリティグループに関連する設定変更が発生したときにトリガーされる Amazon CloudWatch アラームを作成するには、この手順を実行します。

メトリックフィルタを作成する

  1. CloudWatch コンソール (https://console.aws.amazon.com/cloudwatch/) を開きます。

  2. ナビゲーションペインで [ログ] を選択します。

  3. ロググループのリストで、CloudTrail ログイベントのために作成したロググループを選択します。

  4. [アクション]、[メトリクスフィルターの作成] の順に選択します。

  5. [パターンを定義] ページの [フィルターパターンの作成] で、[フィルターパターン] に以下の値を入力します。

    { ($.eventName = AuthorizeSecurityGroupIngress) || ($.eventName = AuthorizeSecurityGroupEgress) || ($.eventName = RevokeSecurityGroupIngress) || ($.eventName = RevokeSecurityGroupEgress) || ($.eventName = CreateSecurityGroup) || ($.eventName = DeleteSecurityGroup) }
  6. [テストパターン] のデフォルト値はそのままにしておきます。[Next] を選択します。

  7. [Assign metric] ページで、[フィルタ名] に「SecurityGroupEvents」と入力します。

  8. [Metric details] ページで、[Create new] をオンにし、[メトリクス名前空間] に「CloudTrailMetrics」と入手します。

  9. [Metric Name] に「SecurityGroupEventCount」と入力します。

  10. [Metric Value] に「1」と入力します。

  11. [Default value] は空白のままにします。

  12. [Next] を選択します。

  13. [Review and create] ページで選択内容を確認します。[Create metric filter] を選択してフィルターを作成するか、[編集] を選択して戻って値を変更します。

アラームの作成

メトリクスフィルターを作成した後、CloudTrail トレイルロググループの CloudWatch Logs グループの詳細ページが開きます。アラームを作成するには、次の手順を実行します。

  1. [メトリクスフィルター] タブで、メトリックフィルタを作成する で作成したメトリクスフィルターを見つけます。メトリクスフィルターのチェックボックスをオンにします。[メトリクスフィルター] バーで、[アラームの作成] を選択します。

  2. [アラームの作成] ページの、[メトリクスと条件を指定] ページで、以下の値を入力します。

    1. [グラフ] には、アラームを作成したときに設定した他の設定に基づいてラインが 1 で設定されています。

    2. [メトリクス名] は、現在のメトリクス名、SecurityGroupEventCount のままにしておきます。

    3. [Statistic] は、デフォルト値、Sum のままにしておきます。

    4. [Period] は、デフォルト値、5 minutes のままにしておきます。

    5. [条件] セクションの [しきい値のタイプ] で、[静的] を選択します。

    6. [Whenever metric_name is] は、[Greater/Equal] を選択します。

    7. [Threshold] は、「1」と入力します。

    8. [Additional configuration] は、デフォルト値のままにしておきます。[Next] を選択します。

  3. [アクションの設定] ページで、 [In alarm] を選択します。これは、5 分に 1 回の変更イベントのしきい値を超えたときにアクションが実行されることを示し、[SecurityGroupEventCount] は、アラーム状態です。

    1. [Select an SNS topic] で、[Create new] を選択します。

    2. SecurityGroupChanges_CloudWatch_Alarms_Topic」を新しいAmazon SNS トピックの名前をとして入力します。

    3. [Email endpoints that will receive the notification] に、このアラームが発動した場合に通知を受信するユーザーの E メールアドレスを入力します。E メールアドレスはカンマで区切ります。

      ここで指定した E メール受信者は、Amazon SNS トピックにサブスクライブすることを確認する E メールを受信します。

    4. [トピックの作成] を選択します。

  4. この例では、他のアクションタイプはスキップします。[Next] を選択します。

  5. [Add name and description] ページで、アラームのフレンドリ名と説明を入力します。この例では、名前には「Security group configuration changes」、説明には「Raises alarms if security group configuration changes occur」を入力します。[Next] を選択します。

  6. [Review and create] ページで選択内容を確認します。[] で変更を加えることができます。または、[アラームの作成] を選択してアラームを作成します。

    アラームを作成すると、CloudWatch は [アラーム] ページが開きます。アラームの[アクション] 列に、 SNS トピックのすべての E メール受信者が SNS 通知のサブスクライブを希望していることを確認するまで、[Pending confirmation] が表示されます。

例: AWS Management Console サインインの失敗

5 分間に 3 回以上の AWS Management Console サインイン障害が発生した場合にトリガーされる Amazon CloudWatch アラームを作成するには、この手順を実行します。

メトリックフィルタを作成する

  1. CloudWatch コンソール (https://console.aws.amazon.com/cloudwatch/) を開きます。

  2. ナビゲーションペインで [ログ] を選択します。

  3. ロググループのリストで、CloudTrail ログイベントのために作成したロググループを選択します。

  4. [アクション]、[メトリクスフィルターの作成] の順に選択します。

  5. [パターンを定義] ページの [フィルターパターンの作成] で、[フィルターパターン] に以下の値を入力します。

    { ($.eventName = ConsoleLogin) && ($.errorMessage = "Failed authentication") }
  6. [テストパターン] のデフォルト値はそのままにしておきます。[Next] を選択します。

  7. [Assign metric] ページで、フィルター名に「ConsoleSignInFailures」と入力します。

  8. [Metric details] ページで、[Create new] をオンにし、[メトリクス名前空間] に「CloudTrailMetrics」と入手します。

  9. [Metric Name] に「ConsoleSigninFailureCount」と入力します。

  10. [Metric Value] に「1」と入力します。

  11. [Default value] は空白のままにします。

  12. [Next] を選択します。

  13. [Review and create] ページで選択内容を確認します。[Create metric filter] を選択してフィルターを作成するか、[編集] を選択して戻って値を変更します。

アラームの作成

メトリクスフィルターを作成した後、CloudTrail トレイルロググループの CloudWatch Logs グループの詳細ページが開きます。アラームを作成するには、次の手順を実行します。

  1. [メトリクスフィルター] タブで、メトリックフィルタを作成する で作成したメトリクスフィルターを見つけます。メトリクスフィルターのチェックボックスをオンにします。[メトリクスフィルター] バーで、[アラームの作成] を選択します。

  2. [アラームの作成] ページの、[メトリクスと条件を指定] ページで、以下の値を入力します。

    1. [グラフ] には、アラームを作成したときに設定した他の設定に基づいてラインが 3 で設定されています。

    2. [メトリクス名] は、現在のメトリクス名、ConsoleSigninFailureCount のままにしておきます。

    3. [Statistic] は、デフォルト値、Sum のままにしておきます。

    4. [Period] は、デフォルト値、5 minutes のままにしておきます。

    5. [条件] セクションの [しきい値のタイプ] で、[静的] を選択します。

    6. [Whenever metric_name is] は、[Greater/Equal] を選択します。

    7. [Threshold] は、「3」と入力します。

    8. [Additional configuration] は、デフォルト値のままにしておきます。[Next] を選択します。

  3. [アクションの設定] ページで、 [In alarm] を選択します。これは、5 分に 3 回の変更イベントのしきい値を超えたときにアクションが実行されることを示し、[ConsoleSigninFailureCount] は、アラーム状態です。

    1. [Select an SNS topic] で、[Create new] を選択します。

    2. ConsoleSignInFailures_CloudWatch_Alarms_Topic」を新しいAmazon SNS トピックの名前をとして入力します。

    3. [Email endpoints that will receive the notification] に、このアラームが発動した場合に通知を受信するユーザーの E メールアドレスを入力します。E メールアドレスはカンマで区切ります。

      ここで指定した E メール受信者は、Amazon SNS トピックにサブスクライブすることを確認する E メールを受信します。

    4. [トピックの作成] を選択します。

  4. この例では、他のアクションタイプはスキップします。[Next] を選択します。

  5. [Add name and description] ページで、アラームのフレンドリ名と説明を入力します。この例では、名前には「Console sign-in failures」、説明には「Raises alarms if more than 3 console sign-in failures occur in 5 minutes」を入力します。[Next] を選択します。

  6. [Review and create] ページで選択内容を確認します。[] で変更を加えることができます。または、[アラームの作成] を選択してアラームを作成します。

    アラームを作成すると、CloudWatch は [アラーム] ページが開きます。アラームの[アクション] 列に、 SNS トピックのすべての E メール受信者が SNS 通知のサブスクライブを希望していることを確認するまで、[Pending confirmation] が表示されます。

例: IAM ポリシーの変更

API コールを実行して IAM ポリシーを変更する場合にトリガーされる Amazon CloudWatch アラームを作成するには、この手順を実行します。

メトリックフィルタを作成する

  1. CloudWatch コンソール (https://console.aws.amazon.com/cloudwatch/) を開きます。

  2. ナビゲーションペインで [ログ] を選択します。

  3. ロググループのリストで、CloudTrail ログイベントのために作成したロググループを選択します。

  4. [アクション]、[メトリクスフィルターの作成] の順に選択します。

  5. [パターンを定義] ページの [フィルターパターンの作成] で、[フィルターパターン] に以下の値を入力します。

    {($.eventName=DeleteGroupPolicy)||($.eventName=DeleteRolePolicy)||($.eventName=DeleteUserPolicy)||($.eventName=PutGroupPolicy)||($.eventName=PutRolePolicy)||($.eventName=PutUserPolicy)||($.eventName=CreatePolicy)||($.eventName=DeletePolicy)||($.eventName=CreatePolicyVersion)||($.eventName=DeletePolicyVersion)||($.eventName=AttachRolePolicy)||($.eventName=DetachRolePolicy)||($.eventName=AttachUserPolicy)||($.eventName=DetachUserPolicy)||($.eventName=AttachGroupPolicy)||($.eventName=DetachGroupPolicy)}
  6. [テストパターン] のデフォルト値はそのままにしておきます。[Next] を選択します。

  7. [Assign metric] ページで、フィルタ名に「IAMPolicyChanges」と入力します。

  8. [Metric details] ページで、[Create new] をオンにし、[メトリクス名前空間] に「CloudTrailMetrics」と入手します。

  9. [Metric Name] に「IAMPolicyEventCount」と入力します。

  10. [Metric Value] に「1」と入力します。

  11. [Default value] は空白のままにします。

  12. [Next] を選択します。

  13. [Review and create] ページで選択内容を確認します。[Create metric filter] を選択してフィルターを作成するか、[編集] を選択して戻って値を変更します。

アラームの作成

メトリクスフィルターを作成した後、CloudTrail トレイルロググループの CloudWatch Logs グループの詳細ページが開きます。アラームを作成するには、次の手順を実行します。

  1. [メトリクスフィルター] タブで、メトリックフィルタを作成する で作成したメトリクスフィルターを見つけます。メトリクスフィルターのチェックボックスをオンにします。[メトリクスフィルター] バーで、[アラームの作成] を選択します。

  2. [アラームの作成] ページの、[メトリクスと条件を指定] ページで、以下の値を入力します。

    1. [グラフ] には、アラームを作成したときに設定した他の設定に基づいてラインが 1 で設定されています。

    2. [メトリクス名] は、現在のメトリクス名、IAMPolicyEventCount のままにしておきます。

    3. [Statistic] は、デフォルト値、Sum のままにしておきます。

    4. [Period] は、デフォルト値、5 minutes のままにしておきます。

    5. [条件] セクションの [しきい値のタイプ] で、[静的] を選択します。

    6. [Whenever metric_name is] は、[Greater/Equal] を選択します。

    7. [Threshold] は、「1」と入力します。

    8. [Additional configuration] は、デフォルト値のままにしておきます。[Next] を選択します。

  3. [アクションの設定] ページで、 [In alarm] を選択します。これは、5 分に 1 回の変更イベントのしきい値を超えたときにアクションが実行されることを示し、[IAMPolicyEventCount] は、アラーム状態です。

    1. [Select an SNS topic] で、[Create new] を選択します。

    2. IAM_Policy_Changes_CloudWatch_Alarms_Topic」を新しいAmazon SNS トピックの名前をとして入力します。

    3. [Email endpoints that will receive the notification] に、このアラームが発動した場合に通知を受信するユーザーの E メールアドレスを入力します。E メールアドレスはカンマで区切ります。

      ここで指定した E メール受信者は、Amazon SNS トピックにサブスクライブすることを確認する E メールを受信します。

    4. [トピックの作成] を選択します。

  4. この例では、他のアクションタイプはスキップします。[Next] を選択します。

  5. [Add name and description] ページで、アラームのフレンドリ名と説明を入力します。この例では、名前には「IAM Policy Changes」、説明には「Raises alarms if IAM policy changes occur」を入力します。[Next] を選択します。

  6. [Review and create] ページで選択内容を確認します。[] で変更を加えることができます。または、[アラームの作成] を選択してアラームを作成します。

    アラームを作成すると、CloudWatch は [アラーム] ページが開きます。アラームの[アクション] 列に、 SNS トピックのすべての E メール受信者が SNS 通知のサブスクライブを希望していることを確認するまで、[Pending confirmation] が表示されます。