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