你当前正在访问 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 (应用服务环境) 网络安全组绑定内规则的入站访问。 在虚拟网络服务标记文章中可以了解有关服务标记的详细信息。
常规应用服务
- 在 Azure 门户中打开 Cloud Shell (PowerShell)。
- 在页面底部的 PowerShell 窗口中运行以下命令:
Add-AzWebAppAccessRestrictionRule -ResourceGroupName "<resource group name>" -WebAppName "<app service name>" -Name "Cognitive Services Tag" -Priority 100 -Action Allow -ServiceTag "CognitiveServicesManagement"
验证“网络”选项卡的“访问限制”部分中是否存在添加的访问规则:
若要在 https://qnamaker.ai 门户中访问测试窗格,请添加要从中访问门户的计算机的公共 IP 地址。 从“访问限制”页中选择“添加规则”并允许访问你的客户端 IP。
从应用服务进行出站访问
QnA Maker 应用服务需要对以下终结点进行出站访问。 如果对出站流量有任何限制,确保已将其添加到允许列表。
配置应用服务环境以承载 QnA Maker 应用服务
应用服务环境 (ASE) 可用于托管 QnA Maker 应用服务实例。 请遵循以下步骤进行配置:
使用应用服务创建外部 ASE。
- 按照此应用服务快速入门中的说明操作。 此过程可能需要长达 1 到 2 个小时的时间。
- 最后,将出现类似于以下内容的应用服务终结点:
https://<app service name>.<ASE name>.p.azurewebsite.net
。 - 示例:
https:// mywebsite.myase.p.azurewebsite.net
添加以下应用服务配置:
名称 值 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
在应用服务上添加 CORS 源“*”以允许访问 https://qnamaker.ai 门户测试窗格。 “CORS”位于“应用服务”窗格中的 API 标头下。
使用 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 资源后,可以通过专用终结点隔离认知搜索实例。 使用以下步骤锁定访问权限:
创建新的虚拟网络 (VNet),或使用 ASE(应用服务环境)的现有 VNet。
打开 VNet 资源,然后在“子网”选项卡下创建两个子网。 一个用于应用服务 (appservicesubnet),另一个子网 (searchservicesubnet) 用于认知搜索资源,无委派。
在认知搜索服务实例的“网络”选项卡中,将端点连接数据从公共切换到私有。 此操作是一个长时间运行的过程,可能需要长达 30 分钟的时间才能完成。
将搜索资源切换到私有后,选择添加专用终结点。
- “基本信息选项卡”:确保在搜索资源所在的区域中创建终结点。
- “资源”选项卡:选择所需的
Microsoft.Search/searchServices
类型的搜索资源。
- “配置”选项卡:使用在步骤 2 中创建的 VNet、子网 (searchservicesubnet)。 之后,在“专用 DNS 集成”部分中,选择相应的订阅,并新建一个名为 privatelink.search.windows.net 的专用 DNS 区域。
为常规应用服务启用 VNET 集成。 对于 ASE,可以跳过此步骤,因为 ASE 已经有权访问 VNET。
- 请参阅应用服务的“网络”部分,打开“VNet 集成”。
- 链接到在步骤 2 中创建的专用应用服务 VNet、子网 (appservicevnet)。
为 Azure 搜索资源创建专用终结点。
请按照以下步骤来限制对 QnA Maker 资源的公共访问。 通过配置虚拟网络来保护 Azure AI 服务资源免受公共访问。
基于 VNet 限制对 Azure AI 服务资源的访问权限后,可以从本地网络或本地浏览器浏览 https://qnamaker.ai 门户上的知识库。