Defender ポータルのデータ レイク探索には、データ レイクを分析するための統合インターフェイスが用意されています。 これにより、KQL (Kusto クエリ言語) クエリの実行、ジョブの作成、管理が行えます。
[データ レイク探索] の [KQL クエリ] ページでは、データ レイク リソースに対する KQL クエリを編集して実行できます。 データ レイクから分析層にデータを昇格させるジョブを作成するか、Data Lake 層に集計テーブルを作成します。 ジョブをオンデマンドで実行するか、スケジュールします。 [ ジョブ] ページでは、ジョブを管理できます。を有効、無効、編集、または削除します。 詳細については、「 Microsoft Sentinel Data Lake でのジョブの作成」を参照してください。
[前提条件]
Microsoft Sentinel データ レイクで KQL クエリを実行するには、次の前提条件が必要です。
データ レイクにオンボードする
オンボーディング プロセスを完了すると、Microsoft Defender ポータルで KQL クエリを実行できるようになります。 オンボードの詳細については、「 Microsoft Sentinel Data Lake へのオンボード」を参照してください。
権限
Microsoft Entra ID ロールを使用すると、データ レイク内のすべてのワークスペースにアクセスできます。 また、Azure RBAC ロールを使用して個々のワークスペースへの権利を与えることもできます。 Microsoft Sentinel ワークスペースに対する Azure RBAC アクセス許可を持つユーザーは、データ レイク層のワークスペースに対して KQL クエリを実行できます。 ロールとアクセス許可の詳細については、「 Microsoft Sentinel Data Lake のロールとアクセス許可」を参照してください。
KQL クエリの記述
データ レイクのクエリの記述は、高度なハンティング エクスペリエンスでのクエリの記述に似ています。 同じ KQL 構文と関数を使用できます。 KQL では、高度分析機能と機械学習機能がサポートされています。 クエリ エディターには、効率的な記述に役立つ IntelliSense やオートコンプリートなどの機能を使用して KQL クエリを実行するためのインターフェイスが用意されています。 KQL 構文と関数の詳細な概要については、 Kusto クエリ言語 (KQL) の概要に関するページを参照してください。
Defender ポータルでの KQL クエリ
[新しいクエリ] を選択して新しいクエリ タブを作成します。各タブの最後のクエリが保存されます。 複数のクエリで同時に動作するようにタブを切り替えます。
[ クエリ履歴 ] タブには、以前に実行したクエリ、クエリ処理時間、完了状態の一覧が表示されます。 前のクエリを新しいタブで開くには、一覧からクエリを選択します。 クエリ履歴は 30 日間保存されます。 クエリを選択して編集するか、もう一度実行します。
ワークスペースの選択
クエリは、1 つのワークスペースまたは複数のワークスペースに対して実行できます。 [選択したワークスペース] ドロップダウンを使用して、クエリ エディターの右上隅にある ワークスペースを選択 します。 選択したワークスペースによって、クエリに使用できるテーブルが決まります。 選択したワークスペースは、クエリ エディターのすべてのクエリ タブに適用されます。 複数のワークスペースを使用する場合、 union()
演算子は、異なるワークスペースの名前とスキーマが同じテーブルに既定で適用されます。
workspace()
演算子を使用して、workspace("MyWorkspace").AuditLogs
など、特定のワークスペースのテーブルに対してクエリを実行します。
オンボーディングの途中に空のワークスペースまたはワークスペースを 1 つ選択すると、スキーマブラウザーにテーブルは表示されません。
時間の範囲の選択
クエリ エディターの上にあるタイム ピッカーを使用して、クエリの時間範囲を選択します。 [カスタム時間範囲] オプションを使用すると、特定の開始時刻と終了時刻を設定できます。 期間は最大 12 年間です。
KQL クエリ構文で時間範囲を指定することもできます。次に例を示します。
where TimeGenerated between (datetime(2020-01-01) .. datetime(2020-12-31))
where TimeGenerated between(ago(180d)..ago(90d))
注
クエリは 500,000 行または 64 MB のデータに制限され、8 分後にタイムアウトします。 広範な時間範囲を選択すると、クエリがこれらの制限を超える可能性があります。
スキーマ情報を表示する
スキーマ ブラウザーには、選択したワークスペースで使用できるテーブルとその列の一覧がカテゴリ別にグループ化されています。 システム テーブルが 資産 カテゴリに表示されます。 カスタム テーブルには、 _CL
、 _KQL_CL
、 _SPARK
、_SPARK_CL
が カスタム ログ カテゴリにグループ化されています。 スキーマ ブラウザーを使用して、データ レイクで使用可能なデータを探索し、テーブルと列を検出します。 検索ボックスを使用して、特定のテーブルをすばやく検索します。
結果ウィンドウ
結果ウィンドウにクエリの結果が表示されます。 結果はテーブル形式で表示でき、結果ウィンドウの左上隅にある [エクスポート] ボタンを使用して CSV ファイルに結果を エクスポート できます。 [空の列を表示] ボタンを使用して 、空の列 の表示を切り替えます。 [ 列のカスタマイズ ] ボタンを使用すると、結果ウィンドウに表示する列を選択できます。
結果ウィンドウの右上隅にある検索ボックスを使用して、結果を検索できます。
仕事
ジョブは、データ レイク層のデータに対して KQL クエリを実行し、結果を分析層に昇格させるために使用されます。 1 回限りのジョブまたはスケジュールされたジョブを作成できます。また、[ジョブ ] ページからジョブを有効、無効、編集、または削除できます。 現在のクエリに基づいてジョブを作成するには、[ ジョブの作成 ] ボタンを選択します。 ジョブの作成と管理の詳細については、「 Microsoft Sentinel Data Lake でのジョブの作成」を参照してください。
Azure Data Explorer
Azure Data Explorer (ADX) を使用して、Microsoft Sentinel データ レイクに対して KQL クエリを実行できます。 ADX は、強力なクエリ エンジンと高度な分析機能を提供します。 ADX を使用してデータ レイクに接続するには、次の URI を使用して新しい接続を作成します。 https://api.securityplatform.microsoft.com/lake/kql
ADX を使用してデータ レイク内のテーブルに対してクエリを実行する場合は、 external_table()
関数を使用してデータにアクセスする必要があります。 例えば次が挙げられます。
external_table("AADRiskyUsers")
| take 100
クエリに関する考慮事項と制限事項
クエリは 1 つのワークスペースに対して実行されます。 クエリを実行する前に、正しいワークスペースを選択してください。
Microsoft Sentinel データ レイクで KQL クエリを実行すると、クエリの課金メーターに基づいて料金が発生します。 詳細については、「コストを計画し、Microsoft Sentinel の価格と課金を理解する」を参照してください。
データ インジェストとテーブルの保持ポリシーを確認します。 クエリの時間範囲を設定する前に、データ レイク テーブルのデータ保有期間と、選択した時間範囲でデータを使用できるかどうかを確認してください。 詳細については、 Microsoft Defender ポータルでのデータ層と保持の管理に関するページを参照してください。
データ レイクに対する KQL クエリのパフォーマンスは、分析レベルのクエリよりも低くなります。 データ レイクに対する KQL クエリは、履歴データを探索するとき、またはテーブルが Data Lake 専用モードで格納されている場合にのみ使用することをお勧めします。
現在、次の KQL コントロール コマンドがサポートされています。
.show version
.show databases
.show databases entities
.show database
データ レイクに対する KQL クエリでは、既定の関数またはカスタム関数の使用はサポートされていません。
データ レイクに対する KQL クエリを使用した外部データの呼び出しはサポートされていません。
以下を除き、すべての KQL 演算子と関数がサポートされています。
adx()
arg()
externaldata()
ingestion_time()
レイク層の KQL クエリのサービス パラメーターと制限
Microsoft Sentinel データ レイクでクエリを記述する場合は、次のサービス パラメーターの制限が適用されます。
カテゴリ | パラメーター/制限 |
---|---|
同時対話型クエリ | 1 分あたり 45 |
クエリ結果データ | 64 MB |
クエリ結果の行 | 500,000 行 |
クエリ スコープ | 複数のワークスペース |
[クエリ タイムアウト] | 8 分 |
クエリ可能な時間範囲 | データ保有期間に応じて最大 12 年。 |
KQL クエリのトラブルシューティングについては、「 Microsoft Sentinel Data Lake での KQL クエリのトラブルシューティング」を参照してください。