在 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。
受信任的服务连接必须使用系统分配的托管标识。 此方案当前不支持用户分配的托管标识。
检查服务标识
检查网络设置
在 Azure 门户中访问您的存储帐户。
在左窗格中,选择 “安全 + 网络>网络”。
在“ 公共访问 ”选项卡上,选择“ 管理”。
在 “公用网络访问范围”下, 从所选网络中选择“启用”。
这是一个用于启用从所选网络访问的选项的截图,显示在 Azure 门户中。
在 Exceptions 下,选择 允许受信任的 Microsoft 服务访问此资源。
假设搜索服务具有对存储帐户的基于角色的访问权限,即使连接到Azure Storage受到 IP 防火墙规则的保护,它也能访问数据。
检查权限
系统分配的托管标识是 Microsoft Entra 的服务主体。 分配至少需要 “Storage Blob Data Reader”(存储 Blob 数据读取者)角色。
在Access Control的左窗格中,查看所有角色分配,并确保为搜索服务系统标识分配Storage Blob 数据读取者。
如果需要写入访问权限,请添加“存储 Blob 数据参与者”角色。
设置并测试连接
测试连接的最简单方法是运行 导入数据 向导。
启动 导入数据 向导。
为数据源选择 Azure Blob Storage 或 ADLS Gen2。
选择与存储帐户的连接。
选中“ 使用托管标识进行身份验证 ”复选框。 将标识类型保留为 系统分配。
选择“下一步”。 如果向导前进到下一页而不出错,则连接成功。
相关内容
- 使用托管标识连接到其他Azure资源
- Azure blob 索引器
- ADLS Gen2 索引器
- 使用 Microsoft Entra ID 进行身份验证
- 关于管理标识(Microsoft Entra ID)