高度なハンティング API のMicrosoft Defender XDR

警告

この高度なハンティング API は、機能が制限された古いバージョンです。 より包括的な高度なハンティングAPIのバージョンは、Microsoft GraphセキュリティAPIで利用可能です。 詳細については、「Microsoft Graph セキュリティ API を使用した高度な検出」を参照してください。

Microsoft Defender XDRの高度なハンティングAPIは、より広範なデータカバレッジ、一貫性の向上、自動化およびセキュリティワークフローのスケーラビリティを向上させるMicrosoft GraphセキュリティAPIへ移行中です。 2026 年 1 月に廃止が開始されました。 引退終了後、Microsoft Defender XDRの高度なハンティングAPIは機能しなくなります。 提供終了のタイムラインについては、 MC1220762を参照してください。 移行のガイダンスについては、「Microsoft Graph security APIの使用」をご覧ください。

重要

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

高度なハンティングは、特別に構築されたクエリを使用して、過去 30 日間のイベント データをMicrosoft Defenderで調べる脅威ハンティング ツールです。 高度なハンティング クエリを使用して、異常なアクティビティの検査、考えられる脅威の検出、攻撃への対応を行うことができます。 高度なハンティング API を使用すると、プログラムによってイベント データを照会できます。

クォータとリソース割り当て

次の条件は、すべてのクエリに関連します。

  1. クエリは、過去 30 日間のデータを探索して返します。
  2. 結果は最大 100,000 行を返すことができます。
  3. テナントごとに 1 分あたり最大 45 回の呼び出しを行うことができます。 呼び出しの数は、そのサイズに基づいてテナントごとに異なります。
  4. 各テナントには、テナント サイズに基づいて CPU リソースが割り当てられます。 次の 15 分のサイクルの後まで、テナントが割り当てられたリソースの 100% に達した場合、クエリはブロックされます。 過剰消費によるブロックされたクエリを回避するには、「 CPU クォータに達しないようにクエリを最適化する」のガイダンスに従います。
  5. 1 つの要求が 3 分を超えて実行されると、タイムアウトになり、エラーが返されます。
  6. 429 HTTP 応答コードは、割り当てられた CPU リソースに到達したことを示します。送信された要求の数、または割り当てられた実行時間のいずれかです。 応答本文を読んで、到達した制限を理解します。

アクセス許可

高度なハンティング API を呼び出すには、次のいずれかのアクセス許可が必要です。 アクセス許可の選択方法など、詳細については、「Microsoft Defender Protection API にアクセスする」を参照してください。

アクセス許可の種類 アクセス許可 アクセス許可の表示名
アプリケーション AdvancedHunting.Read.All 高度なクエリを実行する
委任 (職場または学校のアカウント) AdvancedHunting.Read 高度なクエリを実行する

注:

ユーザー資格情報を使用してトークンを取得する場合:

  • ユーザーは "データの表示" ロールを持っている必要があります。
  • ユーザーは、デバイス グループの設定に基づいて、デバイスにアクセスできる必要があります。

HTTP 要求

POST https://api.security.microsoft.com/api/advancedhunting/run

要求ヘッダー

ヘッダー
Authorization ベアラー {token} 注: 必須
Content-Type application/json

要求本文

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

パラメーター タイプ 説明
クエリ テキスト 実行するクエリ。 (必須)

応答

成功した場合、このメソッドは応答本文に 200 OKQueryResponse オブジェクトを返します。

応答オブジェクトには、次の 3 つの最上位のプロパティが含まれています。

  1. Stats - クエリ パフォーマンス統計のディクショナリ。
  2. スキーマ - 応答のスキーマ。各列の Name-Type ペアの一覧。
  3. 結果 - 高度なハンティング イベントの一覧。

次の例では、ユーザーが以下のクエリを送信し、 StatsSchemaResultsを含む API 応答オブジェクトを受け取ります。

クエリ

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

Response オブジェクト

{
    "Stats": {
        "ExecutionTime": 4.621215,
        "resource_usage": {
            "cache": {
                "memory": {
                    "hits": 773461,
                    "misses": 4481,
                    "total": 777942
                },
                "disk": {
                    "hits": 994,
                    "misses": 197,
                    "total": 1191
                }
            },
            "cpu": {
                "user": "00:00:19.0468750",
                "kernel": "00:00:00.0156250",
                "total cpu": "00:00:19.0625000"
            },
            "memory": {
                "peak_per_node": 236822432
            }
        },
        "dataset_statistics": [
            {
                "table_row_count": 2,
                "table_size": 102
            }
        ]
    },
    "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"
        }
    ]
}

ヒント

さらに多くの情報を得るには、 Tech Community 内の Microsoft Security コミュニティにご参加ください: 「Microsoft Defender XDR Tech Community」。