パラメーター化された 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

画面は次の図のようになります。

Screenshot of K Q L Function properties.

新しいクエリを作成します。 それから、次のように入力します。

AzureActivityByCategory("Administrative", todatetime("2021/04/05 5:40:01.032 PM")) 

Screenshot of the K Q L calling Function.