你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

网络隔离的建议设置

请按照以下步骤来限制对 QnA Maker 资源的公共访问。 通过配置虚拟网络来保护 Azure AI 服务资源免受公共访问。

注意

QnA Maker 服务将于 2025 年 3 月 31 日停用。 问答功能的较新版本现已作为 Azure AI 语言的一部分提供。 有关语言服务中的问答功能,请参阅问答。 从 2022 年 10 月 1 日开始,你将无法创建新的 QnA Maker 资源。 有关将现有 QnA Maker 知识库迁移到问题解答的信息,请参阅迁移指南

限制对应用服务的访问(QnA 运行时)

你可以使用 ServiceTag CognitiveServicesMangement 来限制对应用服务或 ASE (应用服务环境) 网络安全组绑定内规则的入站访问。 在虚拟网络服务标记文章中可以了解有关服务标记的详细信息。

常规应用服务

  1. 在 Azure 门户中打开 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 地址的访问限制规则的屏幕截图

从应用服务进行出站访问

QnA Maker 应用服务需要对以下终结点进行出站访问。 如果对出站流量有任何限制,确保已将其添加到允许列表。

配置应用服务环境以承载 QnA Maker 应用服务

应用服务环境 (ASE) 可用于托管 QnA Maker 应用服务实例。 请遵循以下步骤进行配置:

  1. 创建新的 Azure AI 搜索资源

  2. 使用应用服务创建外部 ASE。

    • 按照此应用服务快速入门中的说明操作。 此过程可能需要长达 1 到 2 个小时的时间。
    • 最后,将出现类似于以下内容的应用服务终结点:https://<app service name>.<ASE name>.p.azurewebsite.net
    • 示例: https:// mywebsite.myase.p.azurewebsite.net
  3. 添加以下应用服务配置:

    名称
    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. 在应用服务上添加 CORS 源“*”以允许访问 https://qnamaker.ai 门户测试窗格。 “CORS”位于“应用服务”窗格中的 API 标头下。

    应用服务 UI 中 CORS 接口的屏幕截图

  5. 使用 Azure 资源管理器创建 QnA Maker Azure AI 服务实例 (Microsoft.CognitiveServices/accounts)。 应将 QnA Maker 终结点设置为上面创建的应用服务终结点 (https:// mywebsite.myase.p.azurewebsite.net)。 下面是一个示例 Azure 资源管理器模板,可供参考

是否可以将 QnA Maker 部署到内部 ASE?

使用外部 ASE 的主要原因是 QnAMaker 服务后端(创作 api)可以通过 Internet 访问应用服务。 但仍可以通过添加入站访问限制来保护应用服务,以便仅允许来自与 CognitiveServicesManagement 服务标记相关联的地址的连接。

如果仍要使用内部 ASE,则需要通过应用网关 DNS TLS/SSL 证书在公共域上的 ASE 中公开该特定 QnA Maker 应用。有关详细信息,请参阅这篇有关应用服务 Enterprise 部署的文章

限制对认知搜索资源的访问

在创建 QnA Maker 资源后,可以通过专用终结点隔离认知搜索实例。 使用以下步骤锁定访问权限:

  1. 创建新的虚拟网络 (VNet),或使用 ASE(应用服务环境)的现有 VNet。

  2. 打开 VNet 资源,然后在“子网”选项卡下创建两个子网。 一个用于应用服务 (appservicesubnet),另一个子网 (searchservicesubnet) 用于认知搜索资源,无委派。

    虚拟网络子网 UI 接口的屏幕截图

  3. 在认知搜索服务实例的“网络”选项卡中,将端点连接数据从公共切换到私有。 此操作是一个长时间运行的过程,可能需要长达 30 分钟的时间才能完成。

    带有公用/专用切换按钮的网络 UI 的屏幕截图

  4. 将搜索资源切换到私有后,选择添加专用终结点。

    • 基本信息选项卡”:确保在搜索资源所在的区域中创建终结点。
    • “资源”选项卡:选择所需的 Microsoft.Search/searchServices 类型的搜索资源。

    创建专用终结点 UI 窗口的屏幕截图

    • “配置”选项卡:使用在步骤 2 中创建的 VNet、子网 (searchservicesubnet)。 之后,在“专用 DNS 集成”部分中,选择相应的订阅,并新建一个名为 privatelink.search.windows.net 的专用 DNS 区域。

    填充了子网字段的创建私有终结点 UI 窗口的屏幕截图

  5. 为常规应用服务启用 VNET 集成。 对于 ASE,可以跳过此步骤,因为 ASE 已经有权访问 VNET。

    • 请参阅应用服务的“网络”部分,打开“VNet 集成”。
    • 链接到在步骤 2 中创建的专用应用服务 VNet、子网 (appservicevnet)。

    VNET 集成 UI 的屏幕截图

为 Azure 搜索资源创建专用终结点

请按照以下步骤来限制对 QnA Maker 资源的公共访问。 通过配置虚拟网络来保护 Azure AI 服务资源免受公共访问。

基于 VNet 限制对 Azure AI 服务资源的访问权限后,可以从本地网络或本地浏览器浏览 https://qnamaker.ai 门户上的知识库。

  • 授予对本地网络的访问权限。

  • 授予对本地浏览器/计算机的访问权限。

  • 在“网络”选项卡的“防火墙”部分下添加计算机的公共 IP 地址。默认情况下,portal.azure.com 显示当前浏览器的公共 IP(选择此条目),然后选择“保存”。

    防火墙和虚拟网络配置 UI 的屏幕截图