将索引器连接到 Azure 存储作为受信任的服务

在 Azure AI 搜索中,访问 Azure blob 的索引器可以使用受信任的服务例外安全地访问 blob。 此机制为无法授予使用 IP 防火墙规则进行索引器访问的客户提供了一种简单、安全且免费的替代方法来访问存储帐户中的数据。

注意

如果 Azure 存储位于防火墙后面,并且与 Azure AI 搜索位于同一区域中,则无法创建入站规则来允许来自搜索服务的请求。 针对此场景的解决方案是在搜索时作为受信任的服务进行连接,如本文所述。

先决条件

  • 具有系统分配的托管标识的搜索服务(请参阅检查服务标识)。

  • 采用“允许受信任的 Azure 服务访问此存储帐户”网络选项的存储账户(请参阅检查网络设置

  • Azure 存储中向搜索服务系统分配的托管标识授予权限的 Azure 角色分配(请参阅检查权限)。

注意

在 Azure AI 搜索中,受信任的服务连接仅限于 Azure 存储上的 Blob 和 ADLS Gen2。 不支持索引器连接到 Azure 表存储和 Azure 文件存储。

受信任的服务连接必须使用系统托管标识。 此方案当前不支持用户分配的托管标识。

检查服务标识

  1. 登录到 Azure 门户查找你的搜索服务

  2. 标识页上,确保已启用系统分配的标识。 请记住,用户分配的托管标识目前为预览版,不能用于受信任的服务连接。

    系统标识对象标识符的屏幕截图。

检查网络设置

  1. 登录到 Azure 门户,并找到你的存储帐户

  2. 在左侧导航窗格中的“安全性 + 网络”下,选择“网络”。

  3. 在“防火墙和虚拟网络”选项卡中,允许从“选定的网络”访问。

  4. 向下滚动到“异常”部分。

    门户中 Azure 存储的防火墙和网络页面的屏幕截图。

  5. 确保已选中“允许受信任的服务列表中的 Azure 服务访问此存储帐户”复选框。

    假设搜索服务具有对存储帐户的基于角色的访问权限,即使连接到 Azure 存储受到 IP 防火墙规则的保护,它也能访问数据。

检查权限

系统托管标识是 Microsoft Entra 服务主体。 分配至少需要“存储 Blob 数据读取者”角色。

  1. 在左侧导航窗格的“访问控制”下,查看所有角色分配,并确保存储 Blob 数据读取器分配给了搜索服务系统标识。

  2. 如果需要写入访问权限,请添加“存储 Blob 数据参与者”角色。

    需要写入访问权限的功能包括扩充缓存调试会话知识存储

设置并测试连接

测试连接的最简单方法是运行“导入数据”向导。

  1. 启动“导入数据”向导,选择 Azure Blob 存储或 Azure Data Lake Storage Gen2。

  2. 选择与存储帐户的连接,然后选择“系统分配”。 选择“下一步”以调用连接。 如果检测到索引架构,则连接成功。

    导入数据向导数据源连接页面的屏幕截图。

另请参阅