カスタム関数を使用する

適用対象:

  • Microsoft Defender XDR

重要

一部の情報は、市販される前に大幅に変更される可能性があるプレリリース製品に関するものです。 Microsoft は、ここに記載された情報に関して、明示または黙示を問わず、いかなる保証も行いません。

関数の種類

関数は、高度なハンティングのクエリの一種であり、コマンドであるかのように他のクエリで使用できます。 独自のカスタム関数を作成して、環境内で検索するときに任意のクエリ ロジックを再利用できます。

高度なハンティングには、次の 3 種類の関数があります。

関数型

  • 組み込み関数 – 高度なハンティングに含まれる事前構築済み関数Microsoft Defender XDR。 これらはすべての高度なハンティング インスタンスで使用でき、変更することはできません。
  • 共有関数 – ユーザーによって作成されたカスタム関数。これは、特定のテナント内のすべてのユーザーが使用でき、ユーザーが変更および制御できます。
  • マイ関数 – ユーザーが作成したカスタム関数。ユーザーのみが表示および変更できます。

独自のカスタム関数を記述する

エディターで現在のクエリから関数を作成するには、[ 保存] を選択し、[ 関数として保存] を選択します

関数として保存

次に、次の情報を指定します。

  • Name - 関数の名前。 数字、英語の文字、アンダースコアのみを含めることができます。 Kusto キーワードを誤って使用しないようにするには、アンダースコアで関数名を開始または終了するか、大文字で始めます。

  • 場所 - 関数を保存するフォルダー (共有またはプライベート)。

  • 説明 - 他のユーザーが関数の目的とその動作を理解するのに役立つ説明。

  • パラメーター - 関数内の各変数のパラメーターを追加します。このパラメーターを使用する場合は、値を必要とします。 関数を呼び出すときに特定の変数の引数または値を指定できるように、パラメーターを関数に追加します。 これにより、同じ関数を異なるクエリで使用でき、それぞれパラメーターに異なる値を使用できます。 パラメーターは、次のプロパティによって定義されます。

    • - 値のデータ型
    • 名前 - パラメーター値を置き換えるためにクエリで使用する必要がある名前
    • 既定値 - 値が指定されていない場合にパラメーターに使用する値

    パラメーターは、作成された順序で一覧表示され、既定値を持つパラメーターの上に既定値が一覧表示されません。

[関数として保存] ダイアログ ボックス

カスタム関数を使用する

コマンドで入力するのと同じように、任意のパラメーターの値と共に名前を入力して、クエリで関数を使用します。 関数の出力は、結果として返すか、別のコマンドにパイプ処理できます。

現在のクエリに関数を追加するには、その名前をダブルクリックするか、関数の右側にある 3 つのドットを選択し、[ クエリ エディターで開く] を選択します。

クエリに引数が必要な場合は、function_name(パラメーター 1、パラメーター 2、...) の構文を使用して引数を指定します。

クエリ エディターで開く

注:

関数を別の関数内で使用することはできません。

関数コードの操作

関数のコードを表示して、その動作に関する分析情報を得るか、そのコードを変更することができます。 関数の右側にある 3 つのドットを選択し、[ 関数コードの読み込み ] を選択して、関数コードを含む新しいタブを開きます。

関数コードを読み込む

カスタム関数を編集する

関数の右側にある 3 つのドットを選択し、[詳細の編集] を選択して、関数のプロパティを 編集します。 関数のプロパティとパラメーターに変更を加え、[保存] を選択 します

関数コードの編集

関数コードが既にエディターに読み込まれている場合は、[ 保存] を選択して、関数のコードまたはプロパティに変更を適用することもできます。

注:

保存されたクエリまたは検出ルールで関数が使用されると、関数を編集してそのスコープを拡張することはできません。 たとえば、ID テーブルにクエリを実行する関数を保存し、この関数が検出ルールで使用されている場合、その関数を編集して、事後にデバイス テーブルを含めることはできません。 これを行うには、新しい関数を保存します。 製品スコープは、同じ関数に対して絞り込むことができますが、拡張することはできません。

カスタム関数を削除する

関数は、共有関数で作成したマイ関数と関数から削除できます。 セキュリティ データ管理アクセス許可がない限り、作成していない関数を削除することはできません。

関数を削除するには、関数の右側にある 3 つのドットを選択し、[削除] を選択 します

カスタム関数を削除する方法を示すスクリーンショット。

関連項目

ヒント

さらに多くの情報を得るには、 Tech Community: Microsoft Defender XDR Tech Community の Microsoft Security コミュニティとEngageします