创建专用终结点,以便与 Azure AI 搜索 建立安全连接

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

先决条件

  • Azure AI 搜索服务(基本层或更高版本)。 免费层不支持专用终结点。
  • 在资源组中创建资源时具有参与者所有者角色。
  • 具有 Azure AI 搜索、虚拟网络和虚拟机可用性的 通用区域。 这三个资源必须位于同一区域。
  • 熟悉 Azure 虚拟网络 概念(可选但建议)。

概述

本文将指导你完成以下步骤:

  1. 创建Azure虚拟网络(或使用现有虚拟网络)
  2. 使用专用终结点配置搜索服务
  3. 在同一虚拟网络中创建Azure虚拟机
  4. 测试虚拟机的连接

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

可以使用 Azure 门户(本文所述)、Management REST APIAzure PowerShellAzure CLI 创建专用终结点。

为何使用专用终结点?

专用终结点适用于 Azure AI 搜索,允许虚拟网络上的客户端通过私有链接安全地访问搜索索引中的数据。 专用终结点将虚拟网络地址空间中的 IP 地址用于你的搜索服务。 客户端与搜索服务之间的网络流量通过虚拟网络和Microsoft Azure主干网络上的专用链接进行遍历,从而消除了来自公共 Internet 的暴露。 有关支持专用链接的其他 PaaS 服务的列表,请查看产品文档中的 availability 部分

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

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

创建虚拟网络

在本部分,你将创建虚拟网络和子网,以托管用于访问搜索服务专用终结点的虚拟机 (VM)。

  1. 在Azure门户主页选项卡中,选择创建资源>Infrastructure Services>Virtual network

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

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

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

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

  1. 在Azure门户的屏幕左上角,选择创建资源>Machine learning>AI 搜索

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

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

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

  5. 创建搜索服务 - 网络中,针对终端节点连接(数据)选择专用

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

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

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

  9. 选择“查看 + 创建”。 你将访问 Review + create 页面,其中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)
    公共 IP 接受默认值
    NIC 网络安全组 接受默认值“基本”
    公共入站端口 选择默认值“允许所选端口”
    选择入站端口 选择“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. 在Azure门户的搜索栏中,搜索在上一步中创建的虚拟机。

  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
    

    privatelink 名称字段和地址字段中的专用 IP 地址(10.x.x.x)共同确认专用终结点已配置正确。

  3. 从 VM 中,连接到搜索服务并创建索引。 可以按照此快速入门使用 REST API 在你的服务中创建新的搜索索引。 设置来自 Web API 测试工具的请求需要搜索服务终结点 (https://[search service name].search.azure.cn) 和你在上一步中复制的管理 API 密钥。

    Reference:Create Index (REST API)

  4. 在虚拟机上完成快速入门后,您即可确认服务已全面正常运行。

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

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

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

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

若要解决此问题,请从虚拟网络内的虚拟机上的浏览器连接到Azure门户。 Azure 门户通过连接上的专用终结点为你提供对内容和操作的可见性。

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

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

禁用公用网络访问

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

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

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

您也可以通过将 public-accesspublic-network-access 设置为 disabled 来使用 Azure CLIAzure PowerShellManagement REST API

清理资源

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

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

下一步

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