本文介绍如何限制对搜索服务公共终结点的网络访问。 可以将 IP 防火墙规则配置为仅允许特定的 IP 地址、范围或子网,并可以选择为受信任的Azure服务启用例外。
若要阻止 对 公共终结点的所有数据平面访问,请改用 专用终结点 。
先决条件
Azure AI 搜索服务(基本层或更高版本)。 免费层不支持防火墙配置。
搜索服务的所有者或参与者权限。
还可以使用 Management REST API、Azure PowerShell 或 Azure CLI 而不是 Azure 门户。
在 Azure 门户中配置网络访问
登录到 Azure 门户并找到搜索服务。
在“设置”下,选择最左侧窗格中的“网络”。 如果未看到此选项,请检查服务层级。 基本层和更高层上提供了网络选项。
在 IP 防火墙下,选择 “添加客户端 IP 地址”。 此步骤为您的个人设备的公共 IP 地址到 Azure AI 搜索 创建入站规则。
小窍门
门户使用您的客户端 IP 地址来建立直接连接。 如果客户端位于允许的 IP 列表中,则可以使用所有门户功能,无需额外配置。
为将向搜索服务发送请求的其他设备和服务添加其他客户端 IP 地址。
以 CIDR 格式指定 IP 地址和范围。 CIDR 表示法的示例是 8.8.8.0/24,它表示范围从 8.8.8.0 到 8.8.8.255 的 IP。
若要获取Azure服务的公共 IP 地址,请参阅 Azure IP 范围和服务标记。 如果搜索客户端托管在 Azure Functions 中,请参阅 Azure Functions 中的 IP 地址。
在 Exceptions 下,选择受信任的服务列表中的 Allow Azure 服务以访问此搜索服务。
信任的服务列表包括:
- Azure 机器学习的
Microsoft.MachineLearningServices
启用此异常时,您需要依赖 Microsoft Entra ID 身份验证、托管标识和角色分配。 在搜索服务上具有有效角色分配的任何Azure AI 服务或 AML 功能都可以绕过防火墙。 有关详细信息,请参阅授予对受信任服务的访问权限。
- Azure 机器学习的
保存所做更改。
为Azure AI 搜索服务启用 IP 访问控制策略后,会拒绝从允许的 IP 地址范围列表之外的计算机向数据平面发出的所有请求。
请求来源于不在允许列表中的 IP 地址时,将返回一个不包含其他详细信息的通用“403 禁止”响应。
重要
这些更改可能需要几分钟才能生效。 请至少等待 15 分钟,然后再排查与网络配置相关的任何问题。
授予对受信任Azure服务的访问权限
是否选择了受信任的服务例外? 如果是,则搜索服务会允许来自受信任Azure资源的请求和响应,而无需检查 IP 地址。 受信任的资源必须具有托管标识(系统或用户分配的托管标识,但通常是系统分配的托管标识)。 受信任的资源必须对Azure AI 搜索具有角色分配,以授予对数据和操作的权限。
Azure AI 搜索的受信任服务列表包括:
- Azure AI 服务的
Microsoft.CognitiveServices - Azure 机器学习的
Microsoft.MachineLearningServices
此网络异常的工作流是来自其他 AML 功能的请求,这些请求是向 Azure AI 搜索 发出的。
受信任的资源必须具有托管标识
若要为 Azure AI 服务和 Azure 机器学习 设置托管身份,请执行以下操作:
若要为 Azure AI 服务设置托管标识,
在左窗格中,选择 “资源管理>标识”。
将 系统分配 设置为 开启。
受信任的资源必须具有角色分配
Azure资源具有托管标识后,在 Azure AI 搜索 上分配角色以授予对数据和操作的权限。
受信任的服务用于矢量化工作负载:从文本和图像内容生成矢量,并将有效负载发送回搜索服务,以执行查询或编制索引。 来自受信任的服务的连接用于将有效负载传送到 Azure AI 搜索。
在最左侧窗格中,在“访问控制(IAM)”下选择“身份”。
依次选择“添加”、“添加角色分配”。
在“角色”页上:
- 选择“搜索索引数据参与者”,以加载包含由嵌入模型生成的矢量的搜索索引。 如果要在编制索引期间使用集成向量化,请选择此角色。
- 或者,选择“搜索索引数据读取器”,以便在查询时提供包含由嵌入模型生成的向量的查询。 查询中使用的嵌入不会写入索引,因此不需要写入权限。
选择下一步。
在成员页面上,选择托管标识和选择成员。
按系统托管标识进行筛选,然后选择Azure AI 服务多服务帐户的托管标识。
注意
本文讨论的是允许向搜索服务发出请求的受信任例外,而Azure AI 搜索自身则被列入其他Azure资源的信任服务列表中。 具体而言,可以将受信任服务的例外情况用于从 Azure AI 搜索 连接到 Azure 存储。
限制和注意事项
配置网络访问时,请考虑以下事项:
某些工作流需要访问公共终结点。 具体而言,Azure 门户中的 导入数据向导通过公共终结点连接到内置(托管)示例数据和嵌入式模型。 有关详细信息,请参阅 导入向导中的安全连接。
如果您正在使用示例数据进行概念验证测试的早期阶段,可以推迟网络访问控制,直到您真正需要它们的时候再实施。
网络规则仅适用于针对搜索服务公共终结点的数据平面操作(例如创建或查询索引,及 搜索 REST API 描述的所有其他操作)。
有关面向服务管理的控制平面操作,请参阅 Azure 资源管理器所支持的网络保护。
后续步骤
通过防火墙允许请求后,必须对请求进行身份验证和授权。 可以使用两个选项: