跳转到主要内容

热门内容

今日:


总体:


最近浏览:


Chinese, Simplified

category

随着越来越多的工作负载遵循API-first方法进行设计,以及互联网上对web应用程序的威胁数量和严重程度不断增加,制定保护API的安全策略至关重要。实现API安全的一个步骤是通过使用网关路由模式来保护网络流量。除了支持灵活的路由规则外,您还可以使用网关来限制流量源位置和流量质量。本文介绍了如何使用Azure应用网关和Azure API管理来保护API访问。

架构


本文不涉及应用程序的底层服务,如应用程序服务环境、Azure SQL托管实例和Azure Kubernetes服务。图中的这些部分只展示了作为更广泛的解决方案可以做些什么。本文特别讨论了阴影区域、API管理和应用程序网关。

显示应用程序网关和API管理如何保护API的图表。

Download a Visio file of this architecture.

数据流

  1. 应用程序网关接收其子网的网络安全组(NSG)允许的HTTP请求。
  2. 然后,应用程序网关上的Web应用程序防火墙(WAF)根据WAF规则(包括Geomatch筛选)检查请求。如果请求有效,则继续请求。
  3. 应用程序网关设置一个URL代理机制,将请求发送到适当的后端池。例如,根据API调用的URL格式:
    1. URL格式类似api.<some-domain>/external/* 可以到达后端与请求的API进行交互。
    2. 格式化为api的调用api.<some-domain>/* 进入死端(下沉池),这是一个没有目标的后端池。
  4. 此外,应用程序网关在api下接受和代理来自同一Azure虚拟网络中资源的内部调用<某些域>/internal/*。
  5. 最后,在API管理层,API被设置为接受以下模式下的调用:
    1. api.<some-domain>/external/*
    2. api.<some-domain>/internal/*
      在这种情况下,API管理使用两种类型的IP地址,公共和私有。公共IP地址用于端口3443上的内部通信,以及用于外部虚拟网络配置中的运行时API流量。当API管理将请求发送到公共的互联网交换后端时,它会显示一个公共IP地址作为请求的来源。有关更多信息,请参阅VNet中API管理服务的IP地址。
  6. 应用程序网关级别的路由规则正确地重定向门户下的用户<一些域>/*到开发人员门户,以便开发人员可以从内部和外部环境管理API及其配置。

组件

  • Azure虚拟网络使许多类型的Azure资源能够通过互联网和本地网络进行私人通信。
  • Azure应用程序网关是一个web流量负载均衡器,用于管理web应用程序的流量。这种类型的路由被称为应用层(OSI第7层)负载平衡。它承载一个Web应用程序防火墙(WAF),以防止常见的基于Web的攻击向量。
  • Azure API管理是针对所有环境的API的混合、多云管理平台。API管理为现有后端服务创建一致的现代API网关。

建议


此解决方案的重点是实现整个解决方案,并测试从API管理虚拟网络内部和外部对API的访问。有关API管理虚拟网络集成过程的更多信息,请参阅将API管理与应用网关集成在内部VNET中。

要在后端与专用资源通信,应用程序网关和API管理必须与资源位于同一虚拟网络中,或者位于对等虚拟网络中。

  • 私有的内部部署模型允许API管理连接到现有的虚拟网络,使其可以从该网络上下文内部访问。若要启用此功能,请部署开发人员或高级API管理层。
  • 管理Azure密钥保管库中的证书和密码。
  • 要个性化与服务的交互,可以使用CNAME条目。

选择


您可以使用其他服务提供类似级别的防火墙和Web应用程序防火墙(WAF)保护:

  • Azure前门
  • Azure防火墙
  • 合作伙伴解决方案,如Barracuda
  • Azure市场中提供的其他解决方案
     

注意事项


可靠性


Azure应用程序网关始终以高度可用的方式部署,无论实例数量如何。为了避免区域故障的影响,您可以将应用程序网关配置为跨多个可用区域。有关更多信息,请参阅自动缩放和高可用性。

为API管理服务组件启用区域冗余,以提供弹性和高可用性。区域冗余在物理上分离的区域中跨数据中心复制API管理网关和控制平面,使其对区域故障具有弹性。API管理高级层需要支持可用性区域。

API管理还支持多区域部署,这可以在一个区域离线时提高可用性。有关详细信息,请参见多区域部署。在这种拓扑结构中,每个区域也有一个应用程序网关很重要,因为应用程序网关是一个区域服务。

安全


有关应用程序网关安全性的更多信息,请参阅应用程序网关的Azure安全基线。

有关API管理安全性的更多信息,请参阅API管理的Azure安全基线。

Azure DDoS防护与应用程序设计最佳实践相结合,提供了增强的DDoS缓解功能,以提供更多抵御DDoS攻击的防御。您应该在任何外围虚拟网络上启用Azure DDOS保护。

成本优化


此体系结构的成本取决于配置方面,如:

  • 服务层
  • 可扩展性,即服务为支持给定需求而动态分配的实例数量
  • 此体系结构是连续运行还是每月仅运行几个小时


评估完这些方面后,请转到Azure定价计算器来估计定价。

性能效率


应用程序网关是该体系结构的入口,WAF功能需要为每个请求分析提供额外的处理能力。为了允许应用程序网关在现场扩展其计算能力,启用自动缩放非常重要。有关详细信息,请参见指定自动缩放。按照产品文档中的建议确定应用程序网关的子网大小。这样可以确保子网足够大,以支持完全扩展。

若要支持高度并发的场景,请启用API管理自动缩放。自动缩放扩展了API管理功能,以应对不断增长的传入请求。有关详细信息,请参阅自动缩放Azure API管理实例。

部署此场景


此场景在具有内部API管理和Web应用程序的应用程序网关的Azure Quickstart库发布中演示。

Next steps

Design your APIs following good Web API design guidelines and implement them using good Web API implementation practices.

本文地址
最后修改
星期六, June 8, 2024 - 17:06
Article