特定のイベントを監視するために、カスタムアラート ルールを作成できます。これは、ビジネスのセキュリティを監視するのに役立ちます。ActionTrail は、構成したクエリ文、チェック頻度、およびトリガー条件に基づいてアラートを生成します。 ActionTrail は、構成したアラートポリシーとアクションポリシーに基づいてアラートのノイズを除去し、通知を送信します。このトピックでは、カスタムアラート ルールの作成方法について説明します。また、さまざまなシナリオのカスタムクエリ文とカスタムクエリ文の例も示します。
背景情報
カスタムアラート ルールを使用すると、SQL 文を使用してイベントをクエリできます。 SQL 構文の詳細については、「ログ検索の概要」および「ログクエリと分析の概要」をご参照ください。
手順
ActionTrail コンソール にログインします。
左側のナビゲーションウィンドウで、イベントアラート をクリックします。
[アラート ルール] タブの [アラート センター] ページで、[アラートの作成] をクリックします。
[アラートの作成] パネルで、カスタムクエリ文を構成します。
[作成] をクリックし、[クエリ統計] パラメーターの横にある
[詳細設定][クエリ統計] ダイアログ ボックスの 種類ログストア承認既定 タブで、 パラメーターを に、 パラメーターを に設定します。
説明[リージョン] パラメーターと [プロジェクト] パラメーターは、イベントアラート機能が有効になっているトレイルに基づいて自動的に構成されます。
トレイルがイベントを配信する Logstore を選択します。Logstore 名は
actiontrail_<Trail Name>フォーマットです。専用 SQL を有効にするかどうかを構成します。
説明[自動]: デフォルトでは、専用 SQL は無効になっています。同時クエリ数が上限を超えた場合、またはクエリ結果が不正確な場合、Simple Log Service は専用 SQL を使用してクエリを自動的に再試行します。
有効にする: 専用 SQL が有効になります。
無効にする: 専用 SQL が無効になります。
専用 SQL を有効にする方法の詳細については、「専用 SQL を有効にする」をご参照ください。
[時間範囲] パラメーターを構成し、[クエリ] フィールドにカスタムクエリ文を入力して、[プレビュー] をクリックします。
カスタムクエリ文の詳細については、「カスタムクエリ文」をご参照ください。
[確認] をクリックします。
[アラートの作成] パネルで、[ルール名]、[チェック頻度]、[グループ評価]、[トリガー条件]、[ラベルの追加]、[アノテーションの追加]、[リカバリー通知]、[高度な設定]、[宛先] の各パラメーターを設定します。
詳細については、「アラートおよびモニタリングルールのパラメーター」をご参照ください。
[OK] をクリックします。
カスタムアラートルールが作成されると、そのルールはアラートルールリストに表示されます。必要に応じて、作成したカスタムアラートルールを管理できます。詳細については、「アラートルールの管理」をご参照ください。
カスタムアラート文
シナリオ | 説明 | カスタムアラート文 |
クラウド サービスの特定のイベントをクエリする | serviceName パラメーターと eventName パラメーターを構成して、クラウド サービスの特定のイベントをクエリできます。 |
|
指定されたパラメーターの値をクエリする | イベントパラメーターは、JSON フォーマットで event.requestParameterJson パラメーターに格納されます。ActionTrail では、カスタムアラートルールを作成して、イベントパラメーターの値がクエリされたときにアラートを生成できます。 |
|
リソースをクエリする | resourceName パラメーターと resourceType パラメーターを構成して、特定のイベントに関連するリソースをクエリできます。 パラメーターの詳細については、「管理イベントの構造」をご参照ください。 | リソースをクエリします。たとえば、次の文を使用して、インスタンス リリース イベントでリリースされた ECS インスタンスの ID をクエリできます。
|
アイデンティティの照会 | 特定のイベントの ID に関する情報をクエリし、特定の ID に対してアラートを生成するカスタムアラート ルールを作成できます。 userIdentity パラメーターには、type、userName、principalId、accountId などの複数のフィールドが含まれています。パラメーターの詳細については、「管理イベントの構造」をご参照ください。 |
|
統計をクエリする | イベントが生成された回数をクエリし、指定されたしきい値を超えたときにアラートを生成するカスタムアラート ルールを作成できます。 |
|
カスタムアラートの例
arbitrary 関数は、x の空でないランダムな値を返します。構文は arbitrary(x) です。詳細については、「arbitrary 関数」をご参照ください。以下に、arbitrary 関数を使用するカスタムアラートの 2 つの例を示します:
例 1: RDS インスタンスのリリースに関するアラート
event.serviceName: RDS and (event.eventName: DeleteDBInstance or event.eventName: Release or event.eventName: DestroyDBInstance) | SELECT account_id, resourceArray[num] as instance_id, ram_user_id, user_type, user_name FROM (SELECT "event.userIdentity.accountId" as account_id, "event.userIdentity.principalId" as ram_user_id, split("event.resourceName", ';') as resourceArray, array_position(split("event.resourceType", ';'), 'ACS::RDS::DBInstance') as num, "event.userIdentity.type" as user_type, "event.userIdentity.userName" as user_name FROM log ) where num > 0例 2: セキュリティグループの構成変更に関するアラート
event.eventName: CreateSecurityGroup OR event.eventName: AuthorizeSecurityGroup OR event.eventName: AuthorizeSecurityGroupEgress OR event.eventName: RevokeSecurityGroup OR event.eventName: RevokeSecurityGroupEgress OR event.eventName: JoinSecurityGroup OR event.eventName: LeaveSecurityGroup OR event.eventName: DeleteSecurityGroup OR event.eventName: ModifySecurityGroupPolicy) | select "event.userIdentity.accountId" as account_id, "event.userIdentity.principalId" as ram_user_id, "event.eventName" as event_name, arbitrary("event.userIdentity.type") as user_type, arbitrary("event.userIdentity.userName") as user_name group by account_id, ram_user_id, event_name
参照
Simple Log Service でもカスタムアラート ルールを作成できます。詳細については、「アラート ルールを作成する」をご参照ください。
アラート ルールを有効にすると、Simple Log Service でアラート ルールに関する情報を表示できます。詳細については、「アラート ルールを管理する」をご参照ください。