🛡️
Azure AI Bot Service のエンドポイントを外部に公開しないようにする
はじめに
Azure AI Bot Service を使ったボットでは、Microsoft Bot Framework で構築された Azure Web Apps のエンドポイントに接続する必要があります。ボットとのすべての会話は /api/messages
を通して行われます。それ以外のリソース (index.html
など) は不要なため、アクセスを制限したくなります。厳密にネットワークの分離を構成する場合は Direct Line App Service 拡張機能 を使用する必要があります。
今回はそこまでのセキュリティ要件が求められない場合の対応方法です。
実行手順
Azure AI Bot Service から Azure Web Apps へのトラフィックはサービス タグで指定できます。
Azure ポータルで、Azure Web Apps の ネットワーク - 受信トラフィックの構成 - 公衆ネットワーク アクセス をクリックします。アクセス制限 で 選択された仮想ネットワークと IP アドレスから有効 を選択します。メイン サイト のルールの 追加 をクリックして、サービス タグが AzureBotService
からのトラフィックのみを許可するように構成します。
実行結果
実際にサイトにアクセスすると 403 エラーになりアクセスが拒否されていることを確認します。
ボットからは正常に動作することを確認します。
おわりに
この方法はサービス タグでの制限となるため、悪意のあるボットからのアクセスを防御できるものではないことには注意してください。
Discussion