security: runHuntingQuery

名前空間: microsoft.graph.security

Microsoft 365 Defender でサポートされている特定のイベント、アクティビティ、またはエンティティ データのセットに対してクエリを実行して、環境内の特定の脅威を事前に検索します。

これは、Microsoft 365 Defender で高度なハンティングを行う方法です。 このメソッドには、Kusto 照会言語 (KQL) のクエリが含まれています。 高度なハンティング スキーマ内のデータ テーブルと、そのデータをフィルター処理または検索するパイプ処理された一連の演算子を指定し、クエリ出力を特定の方法で書式設定します。

詳しくは、デバイス、メール、アプリ、ID にまたがる脅威の検出に関するページをご覧くださいKQL について説明します。

Microsoft 365 Defender ポータルで高度なハンティングを使用する方法については、「Microsoft 365 Defender で高度なハンティングを使用して脅威を事前に検出する」を参照してください。

この API は、次の国内クラウド展開で使用できます。

グローバル サービス 米国政府機関 L4 米国政府機関 L5 (DOD) 21Vianet が運営する中国

アクセス許可

この API の最小特権としてマークされているアクセス許可またはアクセス許可を選択します。 アプリで必要な場合にのみ、より高い特権のアクセス許可またはアクセス許可を使用します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「 アクセス許可の種類」を参照してください。 これらのアクセス許可の詳細については、 アクセス許可のリファレンスを参照してください

アクセス許可の種類 最小特権アクセス許可 特権の高いアクセス許可
委任 (職場または学校のアカウント) ThreatHunting.Read.All 注意事項なし。
委任 (個人用 Microsoft アカウント) サポートされていません。 サポートされていません。
アプリケーション ThreatHunting.Read.All 注意事項なし。

HTTP 要求

POST /security/runHuntingQuery

要求ヘッダー

名前 説明
Authorization ベアラー {token}。 必須です。 認証と承認の詳細については、こちらをご覧ください。
Content-Type application/json. Required.

注:

クエリで ANSI 以外の文字を使用している場合 (たとえば、形式が正しくない文字や類似した文字を含む電子メールの件名に対してクエリを実行する場合)、Content-Type ヘッダーに を使用 application/json; charset=utf-8 します。

要求本文

要求本文で、 パラメーターの JSON オブジェクトを指定します Query

パラメーター 説明
クエリ String Kusto 照会言語 (KQL) のハンティング クエリ。 KQL 構文の詳細については、「 KQL クイック リファレンス」を参照してください

応答

成功した場合、このアクションは 200 OK 応答コードと、応答本文で huntingQueryResults を返します。

要求

この例では、次の操作を行う KQL クエリを指定します。

  • 高度なハンティング スキーマの DeviceProcessEvents テーブルを調べます。
  • powershell.exe プロセスによってイベントが開始される条件をフィルター処理します。
  • 行ごとに、同じテーブルから 3 列の出力を指定します。 TimestampFileNameInitiatingProcessFileName
  • 値で出力を Timestamp 並べ替えます。
  • 出力を 2 レコード (2 行) に制限します。
POST https://graph.microsoft.com/v1.0/security/runHuntingQuery

{
    "Query": "DeviceProcessEvents | where InitiatingProcessFileName =~ \"powershell.exe\" | project Timestamp, FileName, InitiatingProcessFileName | order by Timestamp desc | limit 2"
}

応答

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。

HTTP/1.1 200 OK
Content-type: application/json

{
    "schema": [
        {
            "Name": "Timestamp",
            "Type": "DateTime"
        },
        {
            "Name": "FileName",
            "Type": "String"
        },
        {
            "Name": "InitiatingProcessFileName",
            "Type": "String"
        }
    ],
    "results": [
        {
            "Timestamp": "2020-08-30T06:38:35.7664356Z",
            "FileName": "conhost.exe",
            "InitiatingProcessFileName": "powershell.exe"
        },
        {
            "Timestamp": "2020-08-30T06:38:30.5163363Z",
            "FileName": "conhost.exe",
            "InitiatingProcessFileName": "powershell.exe"
        }
    ]
}