共用方式為

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

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

注意

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

先决条件

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

  • 具有允许受信任的 Azure 服务访问此存储帐户的网络选项查看网络设置)。

  • 在 Azure Storage 中的 Azure 角色分配,用于授予搜索服务系统分配的托管标识权限。 请参阅 “检查权限”。

注意

在Azure AI Search中,受信任的服务连接仅限于Azure Storage上的 blob 和 ADLS Gen2。 不支持索引器连接到Azure Table Storage和Azure Files。

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

检查服务标识

  1. Azure 门户中,转到你的搜索服务。

  2. 在左窗格中,选择 “设置>标识”。

  3. 启用系统分配的标识。 请记住,用户分配的托管标识不适用于受信任的服务连接。

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

检查网络设置

  1. Azure 门户中访问您的存储帐户。

  2. 在左窗格中,选择 “安全 + 网络>网络”。

  3. 在“ 公共访问 ”选项卡上,选择“ 管理”。

    Azure 门户中用于管理公共网络访问的按钮截图。

  4. “公用网络访问范围”下, 从所选网络中选择“启用”。

    这是一个用于启用从所选网络访问的选项的截图,显示在 Azure 门户中。

  5. Exceptions 下,选择 允许受信任的 Microsoft 服务访问此资源

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

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

检查权限

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

  1. Access Control的左窗格中,查看所有角色分配,并确保为搜索服务系统标识分配Storage Blob 数据读取者

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

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

设置并测试连接

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

  1. 启动 导入数据 向导。

  2. 为数据源选择 Azure Blob StorageADLS Gen2

  3. 选择与存储帐户的连接。

  4. 选中“ 使用托管标识进行身份验证 ”复选框。 将标识类型保留为 系统分配

  5. 选择“下一步”。 如果向导前进到下一页而不出错,则连接成功。

    Azure 门户中“连接到您的数据”页面的屏幕截图。