你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用虚拟网络保护 Azure API 管理的入站或出站流量

适用范围:开发人员 | 基本 | 基本 v2 | 标准 | 标准 v2 | 高级 | 高级 v2

默认情况下,API 管理实例是通过公共终结点从 Internet 访问的,充当公共后端的网关。 API 管理提供了多个选项,以使用 Azure 虚拟网络保护对 API 管理实例和后端 API 的访问。 可用选项取决于 API 管理实例的服务层级。 选择网络功能以满足组织的需求。

下表对虚拟网络选项做了比较。 有关详细信息,请参阅本文的后面部分和指向详细指南的链接。

网络模型 支持的层 支持的组件 支持的流量 使用方案
虚拟网络注入(经典层)- 外部 开发人员、高级 开发人员门户、网关、管理平面和 Git 存储库 可以允许 Internet、对等虚拟网络、ExpressRoute 和 S2S VPN 连接的入站和出站流量。 对专用后端和本地后端的外部访问
虚拟网络注入(经典层)- 内部 开发人员、高级 开发人员门户、网关、管理平面和 Git 存储库 可以允许对等虚拟网络、ExpressRoute 和 S2S VPN 连接的入站和出站流量。 对专用后端和本地后端的内部访问
虚拟网络注入(v2 层) 高级 v2 仅网关 可以允许虚拟网络的委托子网、对等虚拟网络、ExpressRoute 和 S2S VPN 连接的入站和出站流量。 对专用后端和本地后端的内部访问
虚拟网络集成(v2 层) 标准 v2、高级 v2 仅网关 出站请求流量可以到达单个已连接虚拟网络的委托子网中托管的 API。 对专用后端和本地后端的外部访问
入站专用终结点 开发人员、基本、标准、标准 v2(预览版)、高级 仅网关(托管网关受支持,自承载网关不受支持) 仅允许来自 Internet、对等虚拟网络、ExpressRoute 和 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。

虚拟网络注入(v2 层)

在 API 管理高级 v2 层中,将实例注入虚拟网络的委托子网,以保护网关的入站和出站流量。 目前,可以在创建实例时配置虚拟网络注入的设置。

在此配置中:

  • API 管理网关终结点可通过专用 IP 地址的虚拟网络进行访问。
  • API 管理可以向网络中处于隔离状态的 API 后端发出出站请求。

建议将此配置用于要隔离 API 管理实例和后端 API 的应用场景。 高级 v2 层中的虚拟网络注入会自动管理与 Azure API 管理的大多数服务依赖项的网络连接。

在虚拟网络中注入 API 管理实例以隔离入站和出站流量的关系图。

有关详细信息,请参阅将 Premium v2 实例注入虚拟网络

虚拟网络集成(v2 层)

标准 v2 和高级 v2 支持出站虚拟网络集成,从而支持 API 管理实例访问在单个已连接虚拟网络中隔离的 API 后端。 API 管理网关、管理平面和开发人员门户仍可从 Internet 公开访问。

出站集成使 API 管理实例能够访问公共和网络隔离的后端服务。

将 API 管理实例与委托子网集成的示意图。

有关详细信息,请参阅将 Azure API 管理实例与用于出站连接的专用虚拟网络集成

入站专用终结点

API 管理支持专用终结点,以便与 API 管理实例建立安全的入站客户端连接。 每个安全连接使用来自虚拟网络和 Azure 专用链接的专用 IP 地址。

显示使用专用终结点与 API 管理建立安全连接的关系图。

通过专用终结点和专用链接,你可以:

  • 创建到 API Management 实例的多个专用链接连接。

  • 使用专用终结点通过安全的连接发送入站流量。

  • 使用策略来区分来自专用终结点的流量。

  • 将传入流量仅限制到专用终结点,防止数据外泄。

  • 将标准 v2 实例的入站专用终结点与出站虚拟网络集成相结合,为 API 管理客户端和后端服务提供端到端网络隔离。

    关系图显示了使用专用终结点与 API 管理标准 v2 建立安全入站连接。

重要

  • 只能为发到 API 管理实例的入站流量配置专用终结点连接。

有关详细信息,请参阅使用入站专用终结点以专用方式连接到 API 管理

高级网络配置

使用 Web 应用程序防火墙保护 API 管理终结点

在某些情况下,可能需要安全地对 API 管理实例进行外部和内部访问,并灵活地访问专用后端和本地后端。 对于这些情况,可以选择使用 Web 应用程序防火墙 (WAF) 管理对 API 管理实例终结点的外部访问。

例如,在内部虚拟网络中部署 API 管理实例,并使用面向 Internet 的 Azure 应用程序网关来路由公共访问:

显示 API 管理实例前的应用程序网关的关系图。

有关详细信息,请参阅使用应用程序网关在内部虚拟网络中部署 API 管理

详细了解使用 API 管理的虚拟网络配置:

若要了解有关 Azure 虚拟网络的详细信息,请先了解 Azure 虚拟网络概述中的信息。