パラメーター化された KQL 関数について理解する
KQL 関数を呼び出すときに、一連のパラメーターを指定できます。 これは、結果を返す前に動的な値で関数の結果をフィルター処理できるため、ASIM パーサーの構築に関する重要な概念です。
まず、Microsoft Sentinel ワークスペースでログに移動します。
次のサンプル関数では、特定の日付以降で、特定のカテゴリに一致する、Azure アクティビティ ログ内のすべてのイベントが返されます。
次のクエリを、ハードコードされた値を使用して開始します。 これにより、クエリが想定どおりに動作するかどうかが確認されます。
AzureActivity
| where CategoryValue == "Administrative"
| where TimeGenerated > todatetime("2021/04/05 5:40:01.032 PM")
次に、ハードコードされた値をパラメーター名に置き換えてから、 [保存] 、 [Save as function](関数として保存) の順に選択して関数を保存します。
AzureActivity
| where CategoryValue == CategoryParam
| where TimeGenerated > DateParam
関数名として「AzureActivityByCategory」と入力してから、2 つのパラメーターを作成します。
Type | 名前 | 既定値 |
---|---|---|
string | CategoryParam | "Administrative" |
DATETIME | DateParam |
画面は次の図のようになります。
新しいクエリを作成します。 それから、次のように入力します。
AzureActivityByCategory("Administrative", todatetime("2021/04/05 5:40:01.032 PM"))