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

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

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

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

前提条件

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

  • コンソールまたは 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. ナビゲーションペインで、[Logs] (ログ)、[Log groups] (ロググループ) の順に選択します。

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

  4. [メトリクスフィルター] または [アクション] メニューから [メトリクスフィルターの作成] を選択します。

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

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

  7. [メトリクスの割り当て] ページの [フィルター名]に「SecurityGroupEvents」と入力します。

  8. [メトリクスの詳細] ページで、[新しく作成する] をオンにして [メトリクス名前空間] に「CloudTrailMetrics」と入手します。

  9. [メトリクス名] に「SecurityGroupEventCount」と入力します。

  10. [メトリクス値] に「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. しきい値に「1」と入力します。

    8. [Additional configuration] は、デフォルト値のままにしておきます。[Next] (次へ) をクリックします。

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

    1. [次の SNS トピックに通知を送信] で、[新しいトピックの作成] を選択します。

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

    3. [通知を受け取る E メールエンドポイント] に、このアラームが発生した場合に通知を受信するユーザーの E メールアドレスを入力します。E メールアドレスはカンマで区切ります。

      それぞれの E メール受信者に Amazon SNS トピックのサブスクライブを確認する E メールが送信されます。

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

  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. ナビゲーションペインで、[Logs] (ログ)、[Log groups] (ロググループ) の順に選択します。

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

  4. [メトリクスフィルター] または [アクション] メニューから [メトリクスフィルターの作成] を選択します。

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

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

  7. [メトリクスの割り当て] ページの [フィルター名]に「ConsoleSignInFailures」と入力します。

  8. [メトリクスの詳細] ページで、[新しく作成する] をオンにして [メトリクス名前空間] に「CloudTrailMetrics」と入手します。

  9. [メトリクス名] に「ConsoleSigninFailureCount」と入力します。

  10. [メトリクス値] に「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. しきい値に「3」と入力します。

    8. [Additional configuration] は、デフォルト値のままにしておきます。[Next] (次へ) をクリックします。

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

    1. [次の SNS トピックに通知を送信] で、[新しいトピックの作成] を選択します。

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

    3. [通知を受け取る E メールエンドポイント] に、このアラームが発生した場合に通知を受信するユーザーの E メールアドレスを入力します。E メールアドレスはカンマで区切ります。

      それぞれの E メール受信者に Amazon SNS トピックのサブスクライブを確認する E メールが送信されます。

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

  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. ロググループのリストで、 証跡のために作成したロググループを選択します。

  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. [メトリクスの割り当て] ページの [フィルター名]に「IAMPolicyChanges」と入力します。

  8. [メトリクスの詳細] ページで、[新しく作成する] をオンにして [メトリクス名前空間] に「CloudTrailMetrics」と入手します。

  9. [メトリクス名] に「IAMPolicyEventCount」と入力します。

  10. [メトリクス値] に「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. しきい値に「1」と入力します。

    8. [Additional configuration] は、デフォルト値のままにしておきます。[Next] (次へ) をクリックします。

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

    1. [次の SNS トピックに通知を送信] で、[新しいトピックの作成] を選択します。

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

    3. [通知を受け取る E メールエンドポイント] に、このアラームが発生した場合に通知を受信するユーザーの E メールアドレスを入力します。E メールアドレスはカンマで区切ります。

      それぞれの E メール受信者に Amazon SNS トピックのサブスクライブを確認する E メールが送信されます。

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

  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] が表示されます。

CloudWatch Logs アラームの通知の設定

CloudTrail に対してアラームがトリガーされるたびに通知を送信するように CloudWatch Logs を設定することができます。これにより、CloudTrail イベントでキャプチャされ、CloudWatch Logs によって検出された重要な運用イベントにすばやく応答できます。CloudWatch では、Amazon Simple Notification Service (SNS) を使用して E メールを送信しています。詳細については、CloudWatch デベロッパーガイドの「Amazon SNS のセットアップ」を参照してください。