Microsoft Sentinelでの AI 支援カスタム グラフ作成 (プレビュー)

Microsoft Sentinelを使用して Visual Studio Code のGitHub Copilotを使用して、Jupyter ノートブックを使用してカスタム セキュリティ グラフを作成、変更、クエリします。 自然言語で構築する内容を説明し、生成されたノートブックを確認し、必要に応じて調整します。

Copilot は、次のようなさまざまなグラフ作成タスクに使用します。

  • 説明から完全なグラフ作成ノートブックを作成する
  • 既存のグラフを変更またはデバッグする
  • 生成されたグラフ コードについて
  • グラフ クエリの作成と実行

カスタム グラフに対する AI アシスタンスのしくみ

Microsoft Sentinelに接続されている Jupyter ノートブックで作業する場合、GitHub Copilotは自然言語プロンプトを使用してグラフ作成タスクを行うのに役立ちます。

グラフ作成のために Copilot と対話するには、次のワークフローを使用します。

  1. 作成するグラフまたは変更について説明します。
  2. Copilot は、グラフ関連のコードを生成または更新します。
  3. 結果を確認、実行、反復します。

グラフ固有のシナリオでは、Microsoft Sentinelは、グラフ API、スキーマ、ワークスペースに関する追加のコンテキストを Copilot に提供する省略可能なヘルパーを提供します。 これらのヘルパーは精度と一貫性を向上させますが、Copilot アシスタンスを使用する必要はありません。

前提条件

開始する前に、次の情報があることを確認してください。

Copilot を使用してカスタム グラフを作成および編集する

次の手順を使用して、新しいグラフを作成するか、GitHub Copilotを使用して既存のグラフを変更します。

  1. 既存の Jupyter ノートブック (.ipynb) を開くか、Copilot で作成できるようにします。

  2. チャットGitHub Copilot開きます (Windows では Ctrl + Shift + I、macOS では Cmd + Shift + I)。

  3. ビルドするグラフについて説明します。

完全なグラフを作成または変更するときに最適な結果を得るには、プロンプトに@sentinel /graph-authoringを含めることにより、Sentinelグラフ作成ヘルパーを使用します。 これにより、グラフ API、スキーマ、ベスト プラクティスに関する追加のコンテキストが Copilot に提供されます。

@sentinel /graph-authoring Create a graph that maps email senders to recipients and URLs using EmailEvents

アシスタントでは、標準のグラフ作成ライフサイクルに従った完全なノートブックが生成されます。

手順 説明
環境のセットアップ 必要なパッケージと接続情報を確認します
データの読み込み Sentinel データ レイクからテーブルを読み取ります
データ変換 ノードとエッジ のデータを準備します
グラフ スキーマ ノードとエッジを定義します
スキーマの検証 グラフ定義を検証します
グラフ ビルド グラフを具体化する
グラフ クエリ グラフ クエリを実行する

グラフを絞り込む

グラフが作成されたら、会話を続行して、次のように絞り込むことができます。

@sentinel Add an edge from User to IPAddress
@sentinel Filter the data to show only failed sign-ins

既存のグラフを変更またはデバッグする

Copilot に、ノートブックの特定の部分を更新または修正するように依頼します。 例:

@sentinel Change the time range to the last 7 days
@sentinel Update cell 3 to include the Subject column
@sentinel Fix the error in the graph build step

影響を受けるセルのみが更新されます。 他のセルは変更されません。

グラフ コードとクエリについて

ノートブックを変更せずに、生成されたコードについて質問します。 例:

@sentinel What does show_schema() do?
@sentinel Explain how edge keys are defined
@sentinel How does this graph query work?

グラフ API と例を検索する

グラフ API、メソッド パラメーター、またはサンプル クエリSentinelヘルプが必要な場合は、Copilot に説明を求めることができます。 より正確でSentinel固有の回答を得る場合は、プロンプトに#Sentinel参照ヘルパーを含めます。 例:

What parameters does build_graph_with_data() accept? #sentinel
Write a graph query to find all paths between User and IPAddress #sentinel

このヘルパーは、権限のあるSentinel graph API ドキュメントを Copilot に提供します。 ノートブックは変更されません。

Copilot と対話する方法を選択する

次の表を使用して、目標に基づいて Copilot と対話するための最良の方法を選択します。

やりたいこと 推奨されるアプローチ
グラフ ノートブックを作成または変更する 目標について説明する (最適な結果を得るには @sentinel を使用する)
グラフ エラーを修正またはデバッグする 問題について説明する ( @sentinelを使用する)
グラフ API またはパラメーターについて質問する 質問する ( #sentinelを含む)
一般的な質問をする プレーン Copilot プロンプト

主な概念

ワークスペースとテーブルの可用性

AI アシスタンスでは、Sentinel データ レイクに表示されるテーブルが使用されます。 生成されたコードでは、アクセス権を持つテーブルのみが使用されます。

重要

データ レイク エクスプローラーにテーブルが表示されない場合は、グラフの作成に使用できません。

ノートブックの変更

ノートブックを変更すると、変更する必要があるセルのみが更新されます。 標準エディターの元に戻すコマンドを使用して、変更を元に戻すことができます。

トラブルシューティング

問題 解決方法
ノートブックが開いていません グラフの作成を開始する前に、 .ipynb ファイルを開くか作成します。
テーブルがありません Sentinel データ レイクが接続されていること、および予期されるテーブルがデータ レイク エクスプローラーに表示されることを確認します。
必要なパッケージがありません ノートブックがサポートされているSentinel Spark コンピューティング プールに接続されていることを確認します。
予期しないセルが変更されました 変更を元に戻し、セル番号を指定して要求を再試行します。