创建专用终结点以建立到 Azure AI 搜索的安全连接

在本文介绍如何配置与 Azure AI 搜索的专用连接,以便它接受来自虚拟网络中客户端的请求,而不是通过公共 Internet 连接发出的请求:

其他可能以私密方式连接到 Azure AI 搜索的 Azure 资源包括适用于“使用自己的数据”方案的 Azure OpenAI。 Azure OpenAI Studio 不在虚拟网络中运行,但可在后端配置它,以通过 Microsoft Azure 主干网络发送请求。 当请求被提交并批准时,Azure 会启用此流量模式的配置。 对于此方案,请执行以下操作:

  • 按照本文中的说明设置专用终结点。
  • 提交请求,以便 Azure OpenAI Studio 使用专用终结点进行连接。
  • (可选)如果连接只能来自虚拟网络中的客户端或通过专用终结点连接来自 Azure OpenAI,请禁用公用网络访问

有关专用终结点的要点

专用终结点由 Azure 专用链接作为单独的可计费服务提供。 有关费用的详细信息,请参阅定价页

一旦搜索服务包含专用终结点,就必须从虚拟网络中的虚拟机上的浏览器会话启动对该服务的门户访问。 有关详细信息,请参阅此步骤

如本文中所述,你可以在 Azure 门户中创建搜索服务的专用终结点。 或者,你可以使用管理 REST API 版本Azure PowerShellAzure CLI

为何使用专用终结点?

Azure AI 搜索的专用终结点允许虚拟网络上的客户端通过专用链接安全地访问搜索索引中的数据。 专用终结点将虚拟网络地址空间中的 IP 地址用于你的搜索服务。 客户端与搜索服务之间的网络流量将穿过虚拟网络以及 Microsoft Azure 主干网络上的专用链接,不会从公共 Internet 公开。 有关支持专用链接的其他 PaaS 服务的列表,请查看产品文档中的“可用性”部分。

使用搜索服务的专用终结点,可以:

  • 阻止在搜索服务的公共终结点上的所有连接。
  • 阻止数据从虚拟网络泄露,从而提高虚拟网络的安全性。
  • 使用 VPNExpressRoutes 通过专用对等互连从连接到虚拟网络的本地网络安全地连接到你的搜索服务。

创建虚拟网络

在本部分,你将创建虚拟网络和子网来承载用于访问搜索服务的专用终结点的 VM。

  1. 在 Azure 门户的主页选项卡上,选择“创建资源”>“网络”>“虚拟网络”。

  2. 在“创建虚拟网络”中,输入或选择以下值:

    设置
    订阅 选择订阅。
    资源组 选择“新建”,输入名称(例如“myResourceGroup”),然后选择“确定”。
    名称 输入名称,例如“MyVirtualNetwork”。
    区域 选择区域。
  3. 接受其余设置的默认值。 选择“查看 + 创建”,然后选择“创建” 。

创建具有专用终结点的搜索服务

在本部分,你将创建具有专用终结点的新 Azure AI 搜索服务。

  1. 在 Azure 门户中屏幕的左上方,选择“创建资源”>“Web”>“Azure AI 搜索”。

  2. 在“新建搜索服务 - 基本信息”中,输入或选择以下值:

    设置
    项目详细信息
    订阅 选择订阅。
    资源组 使用在上一步骤中创建的资源组。
    实例详细信息
    URL 输入唯一名称。
    位置 选择你的区域。
    定价层 选择“更改定价层”并选择所需的服务层级。 “免费”层不支持专用终结点。 必须选择“基本”或更高的层。
  3. 在完成时选择“下一步:缩放”

  4. 接受默认设置,然后选择“下一步:网络”。

  5. 在“新建搜索服务 - 网络”中,针对“终结点连接性(数据)”选择“专用” 。

  6. 在“专用终结点”下选择“+ 添加”。

  7. 在“创建专用终结点”中,输入或选择用于将你的搜索服务与创建的虚拟网络相关联的值:

    设置
    订阅 选择订阅。
    资源组 使用在上一步骤中创建的资源组。
    位置 选择区域。
    名称 输入名称,例如“myPrivateEndpoint”。
    目标子资源 接受默认值“searchService”。
    网络
    虚拟网络 选择在上一步骤中创建的虚拟网络。
    子网 选择默认值。
    专用 DNS 集成
    与专用 DNS 区域集成 接受默认值“是”。
    专用 DNS 区域 接受默认值“(新建) privatelink.search.azure.cn”。
  8. 选择“确定”。

  9. 选择“查看 + 创建”。 随后你会转到“查看 + 创建”页,Azure 将在此页面验证配置。

  10. 看到“验证通过”消息时,选择“创建” 。

  11. 完成新服务的预配后,浏览到创建的资源。

  12. 从左侧内容菜单中选择“密钥”。

  13. 复制主管理密钥供以后连接到服务时使用。

创建虚拟机

  1. 在 Azure 门户屏幕的左上方,选择“创建资源”>“计算”>“虚拟机”。

  2. 在“创建虚拟机 - 基本信息”中,输入或选择以下值:

    设置
    项目详细信息
    订阅 选择订阅。
    资源组 使用在上一部分创建的资源组。
    实例详细信息
    虚拟机名称 输入名称,例如“my-vm”。
    区域 选择你的区域。
    可用性选项 可以选择“无需基础结构冗余”;如果需要该功能,请选择其他选项。
    映像 选择“Windows Server 2022 Datacenter: Azure Edition - Gen2”。
    VM 架构 接受默认值“x64”。
    大小 接受默认值“标准 D2S v3”。
    管理员帐户
    用户名 输入管理员的用户名。 使用对 Azure 订阅有效的帐户。 需从 VM 登录 Azure 门户,以管理搜索服务。
    密码 输入帐户密码。 密码必须至少 12 个字符长,且符合定义的复杂性要求
    确认密码 重新输入密码。
    入站端口规则
    公共入站端口 接受默认值“允许所选端口”。
    选择入站端口 接受默认值“RDP (3389)”。
  3. 在完成时选择“下一步:磁盘”

  4. 在“创建虚拟机 - 磁盘”中,接受默认值并选择“下一步: 网络”。

  5. 在“创建虚拟机 - 网络”中提供以下值:

    设置
    虚拟网络 选择在上一步骤中创建的虚拟网络。
    子网 接受默认值 (10.1.0.0/24)。
    NIC 网络安全组 接受默认值“基本”
    公共 IP 接受默认值“(新建) myVm-ip”。
    公共入站端口 选择默认值“允许所选端口”。
    选择入站端口 选择“HTTP (80)”、“HTTPS (443)”和“RDP (3389)”。

    注意

    IPv4 地址可以表示为 CIDR 格式。 请记住,应避免使用为专用网络保留的 IP 范围,如 RFC 1918 中所述:

    • 10.0.0.0 - 10.255.255.255 (10/8 prefix)
    • 172.16.0.0 - 172.31.255.255 (172.16/12 prefix)
    • 192.168.0.0 - 192.168.255.255 (192.168/16 prefix)
  6. 选择“查看 + 创建”进行验证检查。

  7. 看到“验证通过”消息时,选择“创建” 。

连接到 VM

下载并连接到虚拟机,如下所述:

  1. 在门户的搜索栏中,搜索在上一步骤中创建的虚拟机。

  2. 选择“连接” 。 选择“连接”按钮后,“连接到虚拟机”随即打开

  3. 选择“下载 RDP 文件”。 Azure 会创建远程桌面协议 (.rdp) 文件,并将其下载到计算机。

  4. 打开下载的 .rdp 文件。

    1. 出现提示时,选择“连接”。

    2. 输入在创建 VM 时指定的用户名和密码。

      注意

      可能需要选择“更多选择”“使用其他帐户”,以指定在创建 VM 时输入的凭据。

  5. 选择“确定”。

  6. 你可能会在登录过程中收到证书警告。 如果收到证书警告,请选择“确定”或“继续” 。

  7. VM 桌面出现后,将其最小化以返回到本地桌面。

测试连接

在本部分,你将验证对搜索服务的专用网络访问,并使用专用终结点以私密方式连接到该服务。

当搜索服务终结点为专用时,某些门户功能处于禁用状态。 你将能够查看和管理服务级别设置,但出于安全方面的考虑,已限制对索引数据以及此服务中的各种其他组件(如索引、索引器和技能组定义)的门户访问。

  1. myVM 的远程桌面中,打开 PowerShell。

  2. 输入 nslookup [search service name].search.azure.cn

    将收到类似于下面的消息:

    Server:  UnKnown
    Address:  168.63.129.16
    Non-authoritative answer:
    Name:    [search service name].privatelink.search.azure.cn
    Address:  10.0.0.5
    Aliases:  [search service name].search.azure.cn
    
  3. 从 VM 中,连接到搜索服务并创建索引。 可以按照此快速入门使用 REST API 在你的服务中创建新的搜索索引。 通过 Web API 测试工具设置请求需要使用搜索服务终结点 (https://[搜索服务名称].search.azure.cn) 和你在之前的步骤中复制的管理 api-key。

  4. 从 VM 完成快速入门便可确认服务是否可以完全运行。

  5. 关闭与 myVM 的远程桌面连接。

  6. 若要验证你的服务在公共终结点上是否不可访问,请在本地工作站上打开一个 REST 客户端,并尝试执行快速入门中的前几个任务。 如果收到错误,指出远程服务器不存在,则表明已成功为你的搜索服务配置了专用终结点。

使用 Azure 门户访问专用搜索服务

当搜索服务终结点为专用时,某些门户功能处于禁用状态。 可查看和管理服务级别信息,但出于安全原因,索引、索引器和技能组信息会隐藏。

若要解决此问题,请从虚拟网络中的虚拟机上的浏览器连接到 Azure 门户。 门户使用连接上的专用终结点,让你可以了解内容和操作。

  1. 按照预配可以通过专用终结点访问搜索服务的 VM 的步骤进行操作。

  2. 在虚拟网络中的虚拟机上,打开浏览器并登录到 Azure 门户。 门户将使用附加到虚拟机的专用终结点连接到搜索服务。

禁用公用网络访问

可以锁定搜索服务,以防止其接受来自公共 Internet 的任何请求。 可以使用 Azure 门户执行此步骤。

  1. 在 Azure 门户中搜索服务页面的最左侧窗格中,选择“网络”

  2. 在“防火墙和虚拟网络”选项卡上选择“已禁用”

还可以使用 Azure CLIAzure PowerShell管理 REST API,并将 public-accesspublic-network-access 设置为 disabled

清理资源

在自己的订阅中操作时,最好在项目结束时确定是否仍需要已创建的资源。 持续运行资源可能会产生费用。

可以删除单个资源,或删除资源组以删除在本练习中创建的所有资源。 在任一资源的概述页上选择资源组,然后选择“删除”。

后续步骤

在本文中,你已在虚拟网络上创建了一个 VM,并创建了具有专用终结点的搜索服务。 你从 Internet 连接到了该 VM,并使用专用链接安全地与该搜索服务进行了通信。 若要详细了解专用终结点,请参阅什么是 Azure 专用终结点?