カスタムアラートルールを作成すると、特定のイベントを監視して、柔軟なエンタープライズセキュリティ監視が可能になります。ActionTrail は、設定したクエリ、チェック頻度、トリガー条件に基づいてアラートを生成し、その後、アラートのノイズ除去を実行して、アラートポリシーとアクションポリシーに基づいて通知を送信します。
背景情報
カスタムアラートルールでは、構造化クエリ言語 (SQL) 構文を使用してイベントをフィルタリングします。SQL 構文の詳細については、「クエリの概要」および「クエリと分析の概要」をご参照ください。
手順
-
ActionTrail コンソールにログインします。
-
左側のナビゲーションペインで、イベントアラート をクリックします。
-
アラートセンター ページで、アラートルール タブに移動し、アラートの作成 をクリックします。
-
アラートの作成 パネルで、クエリと分析の設定を追加します。
-
[クエリと分析] の右側にある [追加] をクリックします。
-
[クエリと分析] ダイアログボックスで、詳細設定 タブの タイプ を ログストア名 に、Authorization Method を デフォルト に設定します。
説明[リージョン] フィールドと [プロジェクト] フィールドは、イベントアラートが有効になっているトレイルに合わせて自動的に入力されます。
-
トレイルがイベントを配信する Logstore を選択します。Logstore 名は
actiontrail_<trail_name>の形式です。 -
専用 SQL を有効にするかどうかを選択します。
説明-
[自動]:専用 SQL はデフォルトで無効です。クエリの同時実行上限に達した場合、またはクエリ結果が不正確な場合、Simple Log Service は専用 SQL を使用してクエリを自動的に再試行します。
-
[有効化]:すべてのクエリと分析で専用 SQL を有効にします。
-
閉じる:専用 SQL を無効にします。
専用 SQL の詳細については、「高性能・高精度のクエリと分析 (専用 SQL)」をご参照ください。
-
-
検索期間 を設定し、クエリ の右側にあるテキストボックスにカスタムクエリ文を入力してから、[プレビュー] をクリックします。
カスタムクエリ文の詳細については、「カスタムクエリ文」をご参照ください。
-
確定 をクリックします。
-
-
アラートの作成 パネルで、ルール名、チェック頻度、[グループ評価]、トリガー条件、タグの追加、ラベルを追加する、[データなし復旧]、詳細設定、ターゲット Logstore などのパラメータを設定します。
パラメータの詳細については、「アラート監視ルールのパラメータ」をご参照ください。
-
決定 をクリックします。
カスタムアラートルールを作成すると、アラートルールのリストに表示されます。詳細については、「アラートルールの管理」をご参照ください。
カスタムクエリ文
|
シナリオ |
説明 |
カスタムクエリ文 |
|
クラウドサービスとイベントでフィルタリング |
クラウドサービスとイベント名でイベントをフィルタリングします。 |
|
|
パラメータの取得と指定 |
|
|
|
リソースの取得 |
リソース名またはタイプでイベントをフィルタリングします。 パラメータの詳細については、「管理イベント構造」をご参照ください。 |
単一のリソースを取得します。たとえば、ECS インスタンスの解放イベントで影響を受けたインスタンスの ID を取得します。
|
|
アイデンティティの取得 |
イベントを開始したアイデンティティでイベントをフィルタリングします。 アイデンティティ情報 ( |
|
|
イベント発生回数のカウント |
イベント発生回数をカウントし、指定したしきい値を超えた場合にアラートをトリガーします。 |
|
カスタムアラートの例
arbitrary 関数は、x から任意の null 以外の値を返します。構文は arbitrary(x) です。詳細については、「arbitrary 関数」をご参照ください。次の例では、この関数を使用します。
-
例 1:ApsaraDB 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 で管理できます。詳細については、「アラート監視ルールの管理」をご参照ください。