Microsoft Sentinel のインシデントトリガーによる Azure OpenAI 連携を実践してみましょう
Microsoft Sentinel のインシデント発生時に、Azure OpenAI に問い合わせを行い、分析ルールの日本語訳を行います。
Sentinel のインシデントが検知すると、分析ルールの補足 (Description) を ChatGPT が翻訳するテンプレートになります。
JapanEast のリソースグループでテンプレートを利用して下さい
- 本演習で作成するリソース(例:ロジックアプリなど)のためのリソースグループを作成して下さい
- 演習 1 と同じリソースグループでも OK です - 以下設定例です。リージョンは東日本を前提として下さい
- リソースグループ名
rg-Sentinel-AzureOpenAI-Workshop
- リージョン
Japan East
![image](https://private-user-images.githubusercontent.com/55295601/239174219-72c9e870-063e-45b1-9028-2f4f9d952076.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQwMDQ1NDAsIm5iZiI6MTcyNDAwNDI0MCwicGF0aCI6Ii81NTI5NTYwMS8yMzkxNzQyMTktNzJjOWU4NzAtMDYzZS00NWIxLTkwMjgtMmY0ZjlkOTUyMDc2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODE4VDE4MDQwMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTc2NzkwZjliMGMwMjFmNDBmZjk0YzVmYzFjNjQxZWVjMjYzNTkwZTI4N2EyOTAzZDQxZWQwMWQ2YjBlNjRmNGQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.EGdeqnTK7Nej94D-c6G9qbBzOBbEVSdgCbhVaGB23oM)
ARM テンプレートを用いて、ロジックアプリを導入します。
- Microsoft Sentinel ではオートメーション機能を用いて、Logic Apps を通じて様々な自動化操作を行う機能を提供しています。
- テンプレートを導入することで、インシデント発生時に Azure OpenAI に問い合わせを行い、prompt を用いて分析ルール補足分の翻訳を実行します。
![image](https://private-user-images.githubusercontent.com/55295601/238299081-20d3dc5b-09ff-4106-a049-fcd3bde4f364.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQwMDQ1NDAsIm5iZiI6MTcyNDAwNDI0MCwicGF0aCI6Ii81NTI5NTYwMS8yMzgyOTkwODEtMjBkM2RjNWItMDlmZi00MTA2LWEwNDktZmNkM2JkZTRmMzY0LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODE4VDE4MDQwMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTZlNDZiNzUzMzAzM2Y3OTc2N2QwMDdhNjUxOGIyNTZkYTk3YmU5Y2FlY2ViNGNiN2E1NjFiODg0YjEzOWY3YTUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.8L7Y_hnb-W1NcANL94A5IYIZn-FL3hVk61XPaIM6oqk)
以下から、ARM テンプレートをデプロイして下さい。
演習 1 と同様にロジックアプリの内容を編集して下さい。
ロジックアプリから Microsoft Sentinel のインシデントを更新させるため、ロジックアプリのマネージド ID に対して、以下 2 つのロールを付与します。
演習1とは異なり、マネージド ID による認証でよりセキュアな接続を行います
- ロールの付与は、なるべくリソースグループではなくサブスクリプション単位で付与を行ってください。
- リソースグループに付与する場合は、Sentinel レスポンダーは Sentinel が適用されているリソースグループ
- Cognitive Services OpenAI User は AOAI が適用されているグループに適用する必要があります。
- Sentinel レスポンダー
- Cognitive Services OpenAI User
[2023.5.18 Update] Azure OpenAI のリクエストに対しても、マネージド ID 経由で「Cognitive Service OpenAI User」権限で接続が出来るようになりました!
![image](https://private-user-images.githubusercontent.com/55295601/239131870-aee56068-05b3-4455-a04c-f1595b5d29e8.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjQwMDQ1NDAsIm5iZiI6MTcyNDAwNDI0MCwicGF0aCI6Ii81NTI5NTYwMS8yMzkxMzE4NzAtYWVlNTYwNjgtMDViMy00NDU1LWEwNGMtZjE1OTViNWQyOWU4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA4MTglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwODE4VDE4MDQwMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWVjMzUzZDg0MGYzMzQ0Yjc4Nzc5NGIzZDNlYTM4NjNkODQ5OTQ5OTcxM2FjMGFlNWYyZmZlYzI4MGZjM2Y2NjAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.WdgJe97zwdGbR2mRZiwAdTN_100Hpl7eMwgTkRXcoiU)
展開されたロジックアプリの REST API は URL がサンプルになっています。
自テナントに合わせた設定に更新して下さい。
Parameter | Sample |
---|---|
https://your-resource-name.openai.azure.com | https://(自分のエンドポイント).openai.azure.com |
deployment-id | モデル デプロイ名 |
展開されたロジックアプリに対して Microsoft Sentinel がアクセスできるように、「設定」よりプレイブックのアクセス許可を与えます。
最後に、インシデント発生時にプレイブックが起動するようにオートメーションルールを作成します。
もし、メール通知などのプレイブックを事前設定されている場合は、通知前に設定することで和訳された内容を通知することが出来るようになります。
テストしてみましょう!
設定が完了しましたら、Microsoft Sentinel に対してアラートを発砲してみましょう。
確認してみましょう!
- Sentinel 分析ルールの翻訳は、どのように行われましたか?
- Azure OpenAI に対して、どのような prompt を送りましたか?
- Sentinel インシデント更新はどのように行われましたか?
- Azure OpenAI に対して、パラメータ設定はありましたか?
お疲れさまでした!
次の振り返りに移って下さい。