🤖
外部データを Sentinel ウォッチリストに登録し Copilot for Security から参照する
はじめに
Copilot for Security で CSV などの外部データを参照したいケースがあります。以前、以下でファイル参照を紹介しましたが、ファイルサイズの制限がありました。
そのため、今回は Sentinel ウォッチリストに登録した外部データを Copilot for Security から参照します。
プロンプトを試してみる
Copoliot for Security は Sentinel に接続可能なので、まずはそのままプロンプトで指示してみます。
Sentinel ウォッチリストの IPaddress をテーブル形式で出力してください
結果は以下の通り、適切に KQL が構成できず失敗しました。おそらくウォッチリストが理解できていないようです。
カスタム プラグイン
ネイティブの機能では現時点では参照できないようなので、プラグインを作ります。以下のように指定したウォッチリストを検索し、テーブルとして出力する KQL 用のカスタム プラグイン用 yaml を準備します。
Descriptor:
Name: GetDataFromWatchlist
DisplayName: GetDataFromWatchlist
Description: Get data from Sentinel watchlist and show result as a table format
SkillGroups:
- Format: KQL
Skills:
- Name: GetDataFromWatchlist
DisplayName: GetDataFromWatchlist
Description: Get data from Sentinel watchlist and show result as a table format
Inputs:
- Name: watchlistname
Description: watchlistname
Required: true
Settings:
Target: Sentinel
TenantId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
SubscriptionId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
ResourceGroupName: myresourcegroup
WorkspaceName: mysentinelworkspace
Template: |-
_GetWatchlist('{{watchlistname}}')
カスタム プラグインの登録方法はこちらです。
試してみる
まずは自然言語で試してみます。
watchlist から IPaddress を取得してください。
データは取得できましたが、テーブル形式では出力できませんでした。
次に [システムの機能] から直接指定して実行してみます。
この場合は意図したとおりに出力できました。
まとめ
直接指定すればテーブル形式で取得できるものの、自然言語での指示では少し難があるので、使用する場合には明確に機能を指定するプロンプトブックを準備しておいた方がよさそうです。
Discussion