Azure Front Door 上の Azure Web Application Firewall を使用して Azure OpenAI を保護する
Azure OpenAI API を使用する企業が増え続ける中、Web アプリケーションに対するセキュリティ攻撃は絶えず増加し、複雑化しています。 Azure OpenAI API をさまざまな Web アプリケーション攻撃から保護するには、強力なセキュリティ戦略が必要です。
Azure Web Application Firewall (WAF) は、OWASP 上位 10 件のさまざまな Web 攻撃、共通脆弱性および露出 (CVE)、悪意のあるボット攻撃から Web アプリケーションと API を保護する Azure ネットワーク製品です。
この記事では、Azure Front Door 上の Azure Web Application Firewall (WAF) を使用して Azure OpenAI エンドポイントを保護する方法について説明します。
前提条件
Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。
gpt-35-turbo モデルを使用して Azure OpenAI インスタンスを作成する
まず、OpenAI インスタンスを作成します。
Azure OpenAI インスタンスを作成し、「Azure OpenAI Service リソースの作成とデプロイ」を使用して gpt-35-turbo モデルをデプロイします。
Azure OpenAI エンドポイントと API キーを特定します。
Azure OpenAI スタジオを開き、[プレイグラウンド] の下にある [チャット] オプションを開きます。 [コードの表示] オプションを使用して、エンドポイントと API キーを表示します。
Visual Studio や Insomnia などのお好みの API テスト メソッドを使用して、Azure OpenAI 呼び出しを検証します。 前のステップで見つかった Azure OpenAPI エンドポイントと API キーの値を使用します。 POST 本文で次のコード行を使用します。
{ "model":"gpt-35-turbo", "messages": [ { "role": "user", "content": "What is Azure OpenAI?" } ] }
POST に応答して、次のように 200 OK が返されます。
Azure OpenAI では、応答も GPT モデルを使用して生成されます。
Azure WAF を使用して Azure Front Door インスタンスを作成する
次に、Azure portal を使用して、Azure WAF を含む Azure Front Door インスタンスを作成します。
関連付けられた WAF セキュリティ ポリシーを使用して、同じリソース グループに Azure Front Door Premium 最適化レベルを作成します。 [カスタム作成] オプションを使用します。
エンドポイントとルートを追加します。
配信元のホスト名を追加します: 配信元のホスト名は "
testazureopenai.openai.azure.com
" です。WAF ポリシーを追加します。
Web アプリケーションと API の脆弱性から保護するように WAF ポリシーを構成する
防止モードで WAF ポリシーを有効にし、[Microsoft_DefaultRuleSet_2.1] と [Microsoft_BotManagerRuleSet_1.0] が有効になっていることを確認します。
Azure Front Door エンドポイント経由で Azure OpenAI へのアクセスを確認する
次に、Azure Front Door エンドポイントを確認します。
Front Door マネージャーから Azure Front Door エンドポイントを取得します。
Visual Studio や Insomnia などのお好みの API テスト メソッドを使用して、POST 要求を Azure Front Door エンドポイントに送信します。
Azure OpenAI では、応答も GPT モデルを使用して生成されます。
WAF によって OWASP 攻撃がブロックされるのを確認する
Azure OpenAI エンドポイントに対する OWASP 攻撃をシミュレートする POST 要求を送信します。 WAF は、"403 禁止応答" コードを使用して呼び出しをブロックします。
WAF を使用して IP 制限規則を構成する
Azure OpenAI エンドポイントへのアクセスを必須 IP アドレスに制限するには、「Azure Front Door 用の WAF で IP 制限規則を構成する」を参照してください。
一般的な問題
次の項目は、Azure OpenAI を Azure Front Door および Azure WAF と共に使用する際に発生する可能性がある一般的な問題です。
Azure OpenAI エンドポイントに POST 要求を送信すると、"401: アクセス拒否" メッセージが表示されます。
作成直後の Azure OpenAI エンドポイントに POST 要求を送信しようとすると、要求に正しい API キーがある場合でも、"401: アクセス拒否" メッセージが表示されることがあります。 この問題は通常、直接的な介入なしにしばらくすると解決されます。
Azure OpenAI エンドポイントに POST 要求を送信すると、"415: サポートされていないメディアの種類" メッセージが表示されます。
Content-Type ヘッダー
text/plain
を使用して POST 要求を Azure OpenAI エンドポイントに送信しようとすると、このメッセージが表示されます。 テストのヘッダー セクションで、必ず Content-Type ヘッダー をapplication/json
に更新してください。