你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
向网络安全外围添加搜索服务
重要
Azure AI 搜索对网络安全外围的支持依据补充使用条款以公共预览版提供。 它在提供此功能的区域中可用。 此预览版在提供时没有附带服务级别协议,不建议将其用于生产工作负荷。 某些功能可能不受支持或者受限。
在开始之前,请查看限制和注意事项部分。
本文介绍如何将 Azure AI 搜索服务加入网络安全外围,以控制对搜索服务的网络访问。 加入网络安全外围后,你就可以:
- 记录对搜索服务的所有访问,并将其与同一外围中的其他 Azure 资源放在一起。
- 阻止将任何数据从搜索服务泄漏到外围以外的其他服务。
- 允许使用网络安全外围的入站和出站访问功能访问搜索服务。
可以在 Azure 门户中向网络安全外围添加搜索服务,如本文所述。 或者,可以使用 Azure Virtual Network Manager REST API 加入搜索服务,并使用搜索管理 REST API 查看和同步配置设置。
限制和注意事项
对于网络安全外围内的搜索服务,索引器必须使用系统或用户分配的托管标识,并且具有允许对数据源进行读取访问的角色分配。
支持的索引器数据源目前仅限于 Azure Blob 存储、Azure Cosmos DB for NoSQL 和 Azure SQL 数据库。
目前,在外围内,为进行数据检索与 Azure PaaS 的索引器连接是主要用例。 对于对 Azure AI 服务、Azure OpenAI 或 Azure AI Foundry 模型目录的出站技能驱动 API 调用,或者对于来自 Azure AI Foundry 的入站调用,必须配置入站和出站规则,以允许通过外围的请求。 如果需要专用连接进行结构感知分块和矢量化,则应创建共享专用链接和专用网络。
先决条件
现有网络安全外围。 可以创建一个与搜索服务关联的网络安全外围。
Azure AI 搜索,任何区域的任何计费层。
将搜索服务分配到网络安全外围
借助 Azure 网络安全外围,管理员能够为在虚拟网络外部部署的 PaaS 资源(例如 Azure 存储和 Azure SQL 数据库)定义逻辑网络隔离边界。 它可将与资源的通信限制在其外围内,并通过入站和出站访问规则允许非外围公共流量。
可以将 Azure AI 搜索添加到网络安全外围,以便所有索引和查询请求都发生在安全边界内。
在 Azure 门户中,为订阅查找网络安全外围服务。
从左侧菜单中,选择“资源”。
选择“添加”>“将资源与现有配置文件关联”。
选择在为“配置文件”创建网络安全外围时创建的配置文件。
选择“关联”,然后选择创建的搜索服务。
选择屏幕左下角的“关联”以创建关联。
网络安全外围访问模式
网络安全外围支持关联资源的两种不同的访问模式:
模式 | 描述 |
---|---|
学习模式 | 这是默认访问模式。 在学习模式中,网络安全外围会将所有流量记录到搜索服务,如果外围处于强制模式,则会拒绝这些流量。 这样,网络管理员就可以在实施访问规则之前了解搜索服务的现有访问模式。 |
强制模式 | 在强制模式中,网络安全外围会记录并拒绝访问规则未显式允许的所有流量。 |
网络安全外围和搜索服务网络设置
publicNetworkAccess
设置确定与网络安全外围的搜索服务关联。
在学习模式中,
publicNetworkAccess
设置控制对资源的公共访问。在强制模式中,
publicNetworkAccess
设置将被网络安全外围规则覆盖。 例如,如果将publicNetworkAccess
设置为enabled
的搜索服务与强制模式下的网络安全外围相关联,则对搜索服务的访问仍受网络安全外围访问规则的控制。
更改网络安全外围访问模式
在 Azure 门户中导航到网络安全外围资源。
在左侧菜单中,选择“资源”。
查找表中的搜索服务。
选择搜索服务行最右侧的三个点。 在弹出窗口中选择“更改访问模式”。
选择所需的访问模式,然后选择“应用”。
启用日志记录网络访问
在 Azure 门户中导航到网络安全外围资源。
在左侧菜单中选择“诊断设置”。
选择“添加诊断设置”。
在“诊断设置名称”中输入任何名称,例如“诊断”。
在“日志”下,选择“allLogs”。 allLogs 可确保记录对网络安全外围中资源的所有入站和出站网络访问。
在“目标详细信息”下,选择“存档到存储帐户”或“发送到 Log Analytics 工作区”。 存储帐户必须与网络安全外围位于同一区域中。 可以使用现有存储帐户,也可以创建新的存储帐户。 Log Analytics 工作区可位于不同于网络安全外围使用的区域中。 还可以选择任何其他适用的目标。
选择“保存”以创建诊断设置并开始记录网络访问。
读取网络访问日志
Log Analytics 工作区
network-security-perimeterAccessLogs
表包含每个日志类别的所有日志(例如 network-security-perimeterPublicInboundResourceRulesAllowed
)。 每个日志都包含与日志类别匹配的网络安全外围网络访问记录。
下面是 network-security-perimeterPublicInboundResourceRulesAllowed
日志格式的示例:
列名称 | 含义 | 示例值 |
---|---|---|
ResultDescription | 网络访问操作的名称 | POST /indexes/my-index/docs/search |
配置文件 | 与搜索服务关联的网络安全外围 | defaultProfile |
ServiceResourceId | 搜索服务的资源 ID | search-service-resource-id |
匹配的规则 | 日志匹配的规则的 JSON 说明 | { "accessRule": "IP firewall" } |
SourceIPAddress | 入站网络访问的源 IP(如适用) | 1.1.1.1 |
AccessRuleVersion | 用于实施网络访问规则的网络安全外围访问规则的版本 | 0 |
存储帐户
存储帐户为每个日志类别都提供了容器(例如 insights-logs-network-security-perimeterpublicinboundperimeterrulesallowed
)。 容器中的文件夹结构与网络安全外围的资源 ID 和获取日志的时间相匹配。 JSON 日志的每行都包含与日志类别匹配的网络安全外围网络访问记录。
例如,允许的入站外围规则类别日志使用以下格式:
"properties": {
"ServiceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/network-security-perimeter/providers/Microsoft.Search/searchServices/network-security-perimeter-search",
"Profile": "defaultProfile",
"MatchedRule": {
"AccessRule": "myaccessrule"
},
"Source": {
"IpAddress": "255.255.255.255",
}
}
为搜索服务添加访问规则
网络安全外围配置文件指定允许或拒绝通过外围访问的规则。
在外围内,所有资源可在网络级别相互访问。 你仍需要设置身份验证和授权,但在网络级别,接受来自外围内的连接请求。
对于网络安全外围以外的资源,必须指定入站和出站访问规则。 入站规则指定允许传入的连接,出站规则指定允许传出的请求。
搜索服务接受来自 Azure AI Foundry、Azure OpenAI Studio、Azure 机器学习提示流等应用的入站请求,以及任何发送索引或查询请求的应用的入站请求。 搜索服务在基于索引器的索引编制和技能集执行期间发送出站请求。 本部分介绍如何为 Azure AI 搜索方案设置入站和出站访问规则。
注意
在使用托管标识和角色分配对入站和出站访问进行身份验证时,与网络安全外围关联的任何服务都隐式地允许访问与同一网络安全外围关联的任何其他服务。 仅当允许在网络安全外围以外进行访问或使用 API 密钥进行身份验证的访问时,才需要创建访问规则。
添加入站访问规则
入站访问规则允许外围以外的 Internet 和资源与外围内的资源连接。
网络安全外围支持两种类型的入站访问规则:
IP 地址范围。 IP 地址或范围必须采用无类别域际路由 (CIDR) 格式。 CIDR 表示法的示例是 192.0.2.0/24,它表示范围从 192.0.2.0 到 192.0.2.255 的 IP。 这种类型的规则允许来自范围内任何 IP 地址的入站请求。
订阅。 这种类型的规则允许使用订阅中的任何托管标识进行身份验证的入站访问。
若要在 Azure 门户中添加入站访问规则,请执行以下操作:
在 Azure 门户中导航到网络安全外围资源。
在左侧菜单中,选择“配置文件”。
选择用于网络安全外围的配置文件
在左侧菜单中选择“入站访问规则”。
选择 添加 。
输入或选择下列值:
设置 值 规则名称 入站访问规则的名称(例如,“MyInboundAccessRule”)。 源类型 有效值为 IP 地址范围或订阅。 允许的源 如果选择了 IP 地址范围,请输入允许从中入站访问的 CIDR 格式的 IP 地址范围。 此链接提供 Azure IP 范围。 如果选择了“订阅”,请使用允许从中入站访问的订阅。 选择“添加”创建入站访问规则。
添加出站访问规则
搜索服务在基于索引器的索引编制和技能集执行期间进行出站调用。 如果索引器数据源、Azure AI 服务或自定义技能逻辑不在网络安全外围之外,则应创建允许搜索服务建立连接的出站访问规则。
回想一下,在公共预览版中,Azure AI 搜索只能连接到安全外围内的 Azure 存储或 Azure Cosmos DB。 如果索引器使用其他数据源,则需要出站访问规则来支持该连接。
网络安全外围支持基于目标的完全限定的域名 (FQDN) 的出站访问规则。 例如,可以允许从与网络安全外围关联的任何服务到 FQDN(例如 mystorageaccount.blob.core.windows.net
)的出站访问。
若要在 Azure 门户中添加出站访问规则,请执行以下操作:
在 Azure 门户中导航到网络安全外围资源。
在左侧菜单中,选择“配置文件”。
选择用于网络安全外围的配置文件
在左侧菜单中选择“出站访问规则”。
选择 添加 。
输入或选择下列值:
设置 值 规则名称 出站访问规则的名称(例如“MyOutboundAccessRule”) 目标类型 保留为 FQDN 允许的目标 输入允许对其进行出站访问的 FQDN 的逗号分隔列表 选择“添加”以创建出站访问规则。
通过网络安全外围测试连接
若要通过网络安全外围测试连接,需要在具有 Internet 连接的本地计算机上或在 Azure VM 上访问 Web 浏览器。
将网络安全外围关联更改为强制模式,以便对搜索服务的网络访问开始实施网络安全外围要求。
确定是要使用本地计算机还是 Azure VM。
- 如果使用本地计算机,则需要知道你的公共 IP 地址。
- 如果使用 Azure VM,可以使用专用链接或使用 Azure 门户检查 IP 地址。
使用 IP 地址时,可以为该 IP 地址创建入站访问规则以允许访问。 如果使用的是专用链接,则可以跳过此步骤。
最后,尝试在 Azure 门户中导航到搜索服务。 如果可以成功查看索引,则表明已正确配置网络安全外围。
查看和管理网络安全外围配置
可以使用网络安全外围配置 REST API 查看和协调外围配置。
请务必使用预览版 API 版本 2024-06-01-preview
。 了解如何调用管理 REST API。