使用虚拟网络保护 Azure API 管理的入站或出站流量
默认情况下,API 管理实例是通过公共终结点从 Internet 访问的,充当公共后端的网关。 API 管理提供了多个选项,以使用 Azure 虚拟网络保护对 API 管理实例和后端 API 的访问。 可用选项取决于 API 管理实例的服务层级。 选择网络功能以满足组织的需求。
下表对虚拟网络选项做了比较。 有关详细信息,请参阅本文的后面部分和指向详细指南的链接。
网络模型 | 支持的层 | 支持的组件 | 支持的流量 | 使用方案 |
---|---|---|---|---|
虚拟网络注入 - 外部 | 开发人员、高级 | 开发人员门户、网关、管理平面和 Git 存储库 | 可以允许 Internet、对等虚拟网络、Express Route 和 S2S VPN 连接的入站和出站流量。 | 对专用后端和本地后端的外部访问 |
虚拟网络注入 - 内部 | 开发人员、高级 | 开发人员门户、网关、管理平面和 Git 存储库 | 可以允许对等虚拟网络、Express Route 和 S2S VPN 连接的入站和出站流量。 | 对专用后端和本地后端的内部访问 |
入站专用终结点 | 开发人员、基本、标准、高级 | 仅网关(托管网关受支持,自承载网关不受支持) | 仅允许来自 Internet、对等虚拟网络、Express Route 和 S2S VPN 连接的入站流量。 | 保护到 API 管理网关的客户端连接 |
在 API 管理经典开发人员层和高级层中,将 API 管理实例部署(“注入”)到可控制访问权限的非 Internet 可路由网络的子网中。 在虚拟网络中,API 管理实例可以安全地访问其他联网的 Azure 资源,还可以使用各种 VPN 技术连接到本地网络。
你可以使用 Azure 门户、Azure CLI、Azure 资源管理器模板或其他工具进行配置。 可以使用网络安全组控制其中部署了 API 管理的子网的入站和出站流量。
有关部署步骤和网络配置的详细信息,请参阅:
使用虚拟网络,你可以将开发人员门户、API 网关和其他 API 管理终结点配置为可从 Internet(外部模式)或仅在虚拟网络中(内部模式)访问。
外部 - 可以通过外部负载均衡器从公共 Internet 访问 API 管理终结点。 网关可以访问虚拟网络中的资源。
在外部模式下使用 API 管理访问部署在虚拟网络中的后端服务。
内部 - 只能通过内部负载均衡器从虚拟网络内部访问 API 管理终结点。 网关可以访问虚拟网络中的资源。
在内部模式中使用 API 管理可以:
- 通过使用 Azure VPN 连接或 Azure ExpressRoute,使专用数据中心内托管的 API 可被第三方安全访问。
- 通过公共网关公开基于云的 API 和本地 API,以便启用混合云方案。
- 使用单一网关终结点管理托管在多个地理位置的 API。
API 管理支持专用终结点,以便与 API 管理实例建立安全的入站客户端连接。 每个安全连接使用来自虚拟网络和 Azure 专用链接的专用 IP 地址。
通过专用终结点和专用链接,你可以:
创建到 API Management 实例的多个专用链接连接。
使用专用终结点通过安全的连接发送入站流量。
使用策略来区分来自专用终结点的流量。
将传入流量仅限制到专用终结点,防止数据外泄。
重要
有关详细信息,请参阅使用入站专用终结点以专用方式连接到 API 管理。
在某些情况下,可能需要安全地对 API 管理实例进行外部和内部访问,并灵活地访问专用后端和本地后端。 对于这些情况,可以选择使用 Web 应用程序防火墙 (WAF) 管理对 API 管理实例终结点的外部访问。
例如,在内部虚拟网络中部署 API 管理实例,并使用面向 Internet 的 Azure 应用程序网关来路由公共访问:
有关详细信息,请参阅使用应用程序网关在内部虚拟网络中部署 API 管理。
详细了解使用 API 管理的虚拟网络配置:
若要了解有关 Azure 虚拟网络的详细信息,请先了解 Azure 虚拟网络概述中的信息。