在 Azure AI 搜索中,访问 Azure blob 的索引器可以使用受信任的服务例外安全地访问 blob。 此机制为无法授予使用 IP 防火墙规则进行索引器访问的客户提供了一种简单、安全且免费的替代方法来访问存储帐户中的数据。
注意
如果 Azure 存储位于防火墙后面,并且与 Azure AI 搜索位于同一区域中,则无法创建入站规则来允许来自搜索服务的请求。 针对此场景的解决方案是在搜索时作为受信任的服务进行连接,如本文所述。
先决条件
注意
在 Azure AI 搜索中,受信任的服务连接仅限于 Azure 存储上的 Blob 和 ADLS Gen2。 不支持索引器连接到 Azure 表存储和 Azure 文件存储。
受信任的服务连接必须使用系统托管标识。 此方案当前不支持用户分配的托管标识。
检查服务标识
- 在 标识页上,确保已启用系统分配的标识。 请记住,用户分配的托管标识不适用于受信任的服务连接。   
检查网络设置
- 在“ 安全性 + 网络”下的左窗格中,选择“ 网络”。 
- 在“防火墙和虚拟网络”选项卡中,允许从“选定的网络”访问。 
- 向下滚动到“异常”部分。   
- 确保已选中“允许受信任的服务列表中的 Azure 服务访问此存储帐户”复选框。 - 假设搜索服务具有对存储帐户的基于角色的访问权限,即使连接到 Azure 存储受到 IP 防火墙规则的保护,它也能访问数据。 
检查权限
系统托管标识是 Microsoft Entra 服务主体。 分配至少需要“存储 Blob 数据读取者”角色。
- 在左侧窗格的访问控制下,查看所有的角色分配,并确保Storage Blob Data Reader 被分配到搜索服务系统标识。 
- 如果需要写入访问权限,请添加“存储 Blob 数据参与者”角色。 
设置并测试连接
测试连接的最简单方法是运行“导入数据”向导。
- 启动“导入数据”向导,选择 Azure Blob 存储或 Azure Data Lake Storage Gen2。 
- 选择与存储帐户的连接,然后选择“系统分配”。 选择“下一步”以调用连接。 如果检测到索引架构,则连接成功。 