ネットワーク分離の推奨設定

QnA Maker リソースへのパブリック アクセスを制限するには、次の手順に従います。 仮想ネットワークを構成 して、Azure AI サービス リソースをパブリック アクセスから保護します。

Note

QnA Maker サービスは、2025 年 3 月 31 日に廃止される予定です。 Azure AI Language の一部として、質問応答機能の新しいバージョンが提供されました。 言語サービス内の質問応答機能については、質問応答に関する記事を参照してください。 QnA Maker の新しいリソースは、2022 年 10 月 1 日以降作成できません。 既存の QnA Maker のナレッジ ベースを質問応答に移行する方法については、移行ガイドを参照してください。

App Service (QnA runtime) へのアクセスを制限する

ServiceTag CognitiveServicesMangement を使用すると、App Service または ASE (App Service Environment) のネットワーク セキュリティ グループの受信規則の受信アクセスを制限することができます。 サービス タグの詳細については、「仮想ネットワーク サービス タグ」の記事を参照してください。

通常の App Service

  1. Azure portal から Cloud Shell (PowerShell) を開きます。
  2. ページの下部にある PowerShell ウィンドウで、次のコマンドを実行します。
Add-AzWebAppAccessRestrictionRule -ResourceGroupName "<resource group name>" -WebAppName "<app service name>" -Name "Cognitive Services Tag" -Priority 100 -Action Allow -ServiceTag "CognitiveServicesManagement" 
  1. 追加されたアクセス規則が [ネットワーク] タブの [アクセス制限] セクションに存在することを確認します。

    アクセス制限規則のスクリーンショット

  2. https://qnamaker.ai ポータルのテスト ペインにアクセスするには、ポータルにアクセスするマシンのパブリック IP アドレスを追加します。 [アクセス制限] ページから [ルールの追加] を選択し、クライアント IP へのアクセスを許可します。

    パブリック IP アドレスを追加したアクセス制限規則のスクリーンショット

App Service からの送信アクセス

QnA Maker App Service には、次のエンドポイントへの送信アクセスが必要です。 送信トラフィックに対する何らかの制限がある場合は、許可リストに追加されていることを確認してください。

QnA Maker App Service をホストするように App Service Environment を構成する

App Service Environment (ASE) を使用して、QnA Maker App Service のインスタンスをホストできます。 次の手順に従います。

  1. 新しい Azure AI Search リソースを作成します。

  2. App Service を使用して外部 ASE を作成します。

    • 手順については、この App Service のクイックスタートに従います。 このプロセスには最大で 1 から 2 時間かかります。
    • 最後に、App Service エンドポイントが https://<app service name>.<ASE name>.p.azurewebsite.net のように表示されます。
    • 例: https:// mywebsite.myase.p.azurewebsite.net
  3. 次の App Service の構成を追加します。

    名前
    PrimaryEndpointKey <app service name>-PrimaryEndpointKey
    AzureSearchName <Azure AI Search Resource Name from step #1>
    AzureSearchAdminKey <Azure AI Search Resource admin Key from step #1>
    QNAMAKER_EXTENSION_VERSION latest
    DefaultAnswer no answer found
  4. https://qnamaker.ai ポータルのテスト ペインへのアクセスを許可するには、CORS origin "*" を App Service に追加します。 CORS は、[App Service] ペインの API ヘッダーの下にあります。

    App Service UI 内の CORS インターフェイスのスクリーンショット

  5. Azure Resource Manager を使用して QnA Maker Azure AI サービス インスタンス (Microsoft.CognitiveServices/accounts) を作成します。 QnA Maker エンドポイントは、上で作成した App Service エンドポイント (https:// mywebsite.myase.p.azurewebsite.net) に設定する必要があります。 参照用に使用できるサンプル Azure Resource Manager テンプレートはこちらです。

QnA Maker を内部 ASE にデプロイすることはできますか。

外部 ASE を使用する主な理由は、QnAMaker サービス バックエンド (オーサリング API) をインターネット経由で App Service に接続するようにできるためです。 ただし、CognitiveServicesManagement サービス タグに関連付けられたアドレスからの接続のみを許可するように受信アクセス制限を追加することで、引き続き保護することができます。

それでも内部 ASE を使用したい場合は、アプリ ゲートウェイの DNS TLS/SSL 証明書を使用して、その特定の QnA Maker アプリをパブリック ドメインの ASE で公開する必要があります。詳細については、App Services の Enterprise デプロイに関する記事を参照してください。

Cognitive Search リソースへのアクセスを制限する

Cognitive Search インスタンスは、QnA Maker リソースの作成後、プライベート エンドポイントを介して分離できます。 アクセスをロック ダウンするには、次の手順に従います。

  1. 新しい仮想ネットワーク (VNet) を作成するか、既存の ASE (App Service Environment) の VNet を使用します。

  2. VNet リソースを開き、 [サブネット] タブで 2 つのサブネットを作成します。 1 つは App Service 用 (appservicesubnet) で、もう 1 つは委任なしの Cognitive Search リソース用のサブネット (searchservicesubnet) です。

    仮想ネットワーク サブネット UI インターフェイスのスクリーンショット

  3. Cognitive Search サービス インスタンスの [ネットワーク] タブに移動し、エンドポイント接続データをパブリックからプライベートに切り替えます。 この操作は実行時間の長いプロセスであり、完了するまで最大で 30 分かかることがあります

    パブリック/プライベート トグル ボタンを使用したネットワーク UI のスクリーンショット

  4. 検索リソースをプライベートに切り替えたら、 [プライベート エンドポイントの追加] を選択します。

    • [基本] タブ: 検索リソースと同じリージョンにエンドポイントを作成していることを確認します。
    • [リソース] タブ: 必要な検索リソースの種類 Microsoft.Search/searchServices を選択します。

    プライベート エンドポイントの作成の UI ウィンドウのスクリーンショット

    • [構成] タブ: 手順 2 で作成した VNet のサブネット (searchservicesubnet) を使用します。 その後、 [プライベート DNS 統合] セクションで、対応するサブスクリプションを選択し、privatelink.search.windows.net という新しいプライベート DNS ゾーンを作成します。

    サブネット フィールドが設定されたプライベート エンドポイントの作成の UI ウィンドウのスクリーンショット

  5. 通常の App Service の VNET 統合を有効にします。 既に VNET にアクセスできるため、ASE では、この手順をスキップできます。

    • App Service の [ネットワーク] セクションに移動し、 [VNet 統合] を開きます。
    • 手順 2 で作成した専用 App Service VNet のサブネット (appservicevnet) にリンクします。

    VNET 統合 UI のスクリーンショット

Azure Search リソースにプライベート エンドポイントを作成します。

QnA Maker リソースへのパブリック アクセスを制限するには、次の手順に従います。 仮想ネットワークを構成して、Azure AI サービス リソースをパブリック アクセスから保護します。

VNet に基づいて Azure AI サービス リソースへのアクセスを制限した後、オンプレミス ネットワークまたはローカル ブラウザーから https://qnamaker.ai ポータル上のナレッジベースを参照します。

  • オンプレミス ネットワークへのアクセスを許可します。

  • ローカルのブラウザーとマシンへのアクセスを許可します。

  • [ネットワーク] タブの [ファイアウォール] セクションの下にマシンのパブリック IP アドレスを追加します。既定では、portal.azure.com には現在アクセスしているマシンのパブリック IP が表示され (このエントリを選択します)、次に [保存] を選択します。

    ファイアウォールと仮想ネットワークの構成 UI のスクリーンショット