Azure OpenAI を使うなら知っておきたいセキュリティ設定のコツ

# はじめに

今後 AI が欠かせないツールになることは間違いありません。2023年の AI ブームを受け、来年は AI を活用したプロジェクトを計画している人も多いでしょう。Azure OpenAI を試す人が増えており、効率的なセキュリティ対策について質問を受ける場面が増えています。特に、OpenAI をきっかけに Azure を使い始めたばかりの方は、セキュリティに関する疑問や課題にぶち当たっているかもしれません。
AI セキュリティの事始めとして、Azure OpenAI のチュートリアルから Web アプリをデプロイした後で、 ポータルから確認できるセキュリティ関連の設定や機能について紹介します。これらの設定や機能をどのように運用して、アプリ、インフラのセキュリティを向上させるのか具体的に示します。チュートリアルの前提条件や必要な持ち物については、チュートリアル内の記載を参考にしてください。

https://learn.microsoft.com/ja-jp/azure/ai-studio/tutorials/deploy-chat-web-app#add-your-data

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1879870/9fadd5af-006b-7c97-bcb7-b61ed42ced7a.png)

# Azure OpenAI を試す
モデルを展開したら、それを Web アプリとしてデプロイすることが可能です。Web アプリを展開する時に、チェックボックスをONにしておくことでチャット履歴を保存することができます。このチャット履歴機能はとても便利なので、有効化することをお勧めします。Web アプリのデプロイが終われば、すぐに URL が提供され Web アクセスすることができます。チュートリアルに書いてある「データの追加」や「Entra ID による認証設定」を行うことで、様々なテストを試すことができますが、本記事では割愛して Web アプリのデプロイのみを行いました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1879870/aab6a0c9-2917-d560-d3b7-b1d3b9df1317.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1879870/630c0155-e18f-9c11-57a7-e68b8a63ebe3.png)

Web アプリのデプロイが完了すると下記のようなアプリ画面からチャット形式で問いかけを行うことが出来ます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1879870/8de58952-7ecb-48a6-3786-3f2183119154.png)

# Azure OpenAI のセキュリティ対策はどこから始めるか
さて、ここからは Azure OpenAI 環境をインフラとしてセキュリティ対策を行っていく話です。デプロイされた Web アプリの裏側には複数のコンポーネントが動作していますが、それらは Azure 管理ポータルのリソースグループで確認可能です。フロントエンドやデータベース、ストレージ、ロギングなど必要な要素がワンセットになっており、個別に構築する必要がなく一括で展開できます。例えば、チャット履歴の機能をONにしたことで、Cosmos DB が自動的に構成されていることが分かります。
詳しくは Azure の公式サイトにある製品情報を参照してください。アーキテクチャのリファレンスも公開されています。 

https://www.microsoft.com/ja-jp/biz/find-new-value-on-azure/ai-biz?aaid=iadweb

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1879870/6746b686-f5e3-b2e8-ff41-bb6f58d8acef.png)

Azure 管理ポータルから、セキュリティ設定について参照が可能です。「セキュリティ」では Defender for Cloud がベストプラクティスと比較して自動的に検出した潜在的なセキュリティの脆弱性を重要度と合わせて表示してくれます。この環境では、最初にこれら 10 項目について対策をしていけば良いという訳です。継続的に構成を監視するため、対策されたセキュリティが維持されていることの証明もできます。Defender for Cloud は、セキュリティの監査やレポーティングなど様々な活用が期待できるツールです。 Defender for Cloud が検出したセキュリティの脆弱性の各項目をクリックすれば、修復の手順が提示されます。項目によってはワンボタンでクイックに修正が可能です。下記の例では、「修正」ボタンをクリックすれば、Key Vault の診断ログが有効化されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1879870/a53b8e25-0b07-b2cf-0386-07a60a81f17b.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1879870/08804b9c-02ac-42d5-390d-309eb3f8674a.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1879870/5061d40f-c88d-1199-0fbe-45b966a170b0.png)

# Azure OpenAI を保護する Microsoft Defender for Cloud とは
前の段落で紹介したセキュリティ脆弱性の対策を終えたら、「Microsoft Defender for Cloud」の管理画面からセキュリティ態勢をチェックしてみてください。セキュアスコアが向上しているはずです。100% がベストですが、必ずしも 100% である必要はありません。目安として普段から定期的に確認しておけば、予期しない設定ミスによるセキュリティリスクを低減できるでしょう。 

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1879870/2baa2743-2c25-53dc-2f86-06cb1c67d859.png)

このツールには、セキュリティ態勢をチェックする CSPM (Cloud Security Posture Management) 機能の他に、ワークロード保護 CWP (Cloud Workload Protection) 機能も備えています。自動化された推奨設定による防御に加えて、セキュリティインシデントが発生した場合に、管理者にアラートを通知することができます。 

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1879870/8815321a-860e-74ce-1d2f-d17ff151aa00.png)

Defender for Cloud のワークロード保護 CWP (Cloud Workload Protection) 機能はコンポーネントごとにプランが提供されており、すべてのプランをワンボタンで有効化することが可能です。今回の Azure OpenAI のインフラ環境でいえば、Defender CSPM と、CWP 対象となる App Service - Web アプリ、データベース - Cosmos DB、ストレージ、Key Vault（キーコンテナー）のプランを有効化して、リソースを一括で保護することができるようになります。さらに包括的な対策のため、インフラ環境へアクセスするサーバー環境については、サーバープランを有効化することを推奨します。サーバープランを有効化することで、サーバー上のファイルやプロセスのセキュリティを強化できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1879870/c57d4673-2982-865a-f7b5-618004f7abb0.png)

# 終わりに
本記事の最後に、アドベントカレンダーに投稿されている他の記事との関連性について紹介します。
16日目に投稿されている記事では、**Defender CSPM** について紹介しています。Azure だけでなくマルチクラウド環境を使っている、あるいは検討している人にとって有用な情報です。 

https://qiita.com/ich_na/items/ab6c40dc063d6cb311f3

19日目に投稿されている記事では、**Defender for Storage** について紹介しています。ストレージ保護のユースケースについても触れられており、Youtube 動画付きなので視聴することで理解を深めることができるでしょう。 

https://qiita.com/hiropiyoka/items/af556d5cbed452fecdbf

20日目に投稿されている記事では、Defender for Cloud の最新機能情報を紹介しています。その中で、**Microsoft Security Copilot** と呼ばれる生成 AI ソリューションが Defender for Cloud に搭載された機能として使えるようになると大きなニュースとして触れています。 

https://qiita.com/RitsuKAN/items/d2fb434e9439a08d8c81

本記事の内容としては、Azure OpenAI を気軽に試せるようになってきた一方で、セキュリティのリスクやタスクが増えることを恐れて最初の一歩が踏み出せない人向けに、「**いかに安全に大規模な言語モデル (LLM) を活用していくか**」の視点で Defender for Cloud を紹介しました。 「**AI は人間に弱い**」とされているため、正しく利用していくためには保護機能を有効化する必要があります。インフラ環境全体を防御し脅威検知する機能である **Microsoft Defender for Cloud** を活用することで、読者の皆様が安心して Azure OpenAI を利用できるようになることを願って本記事を書き終えます。ご覧いただきありがとうございました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1879870/f3579ed9-a7fd-85b8-bfc6-af7708f7d014.png)