vlambda博客
学习文章列表

一文带你了解API网关!









什么是API,什么又是API网关?




API(Application Programming Interface)——即应用程序接口,是为实现应用多个软件间部分功能调用而编写的函数,相当于各软件对外输出能力的接口。
API网关——是位于客户端和后端服务集合之间的API管理工具,主要是作为流量的入口,统一的处理和业务相关的请求,让请求更加安全、快速和准确的得到处理。提供对API的发布、管理、保护和监控等全生命周期管理的能力,实现跨系统、跨协议的服务能力互通。



API与API网关在网络中的作用




我们从用户业务访问流程图,来简单了解下API与API网关的关系:

△用户业务访问流程图


业务访问场景概述:


  1. 用户可以使用PC、手机等设备,从外网或内网发起对生产、办公、娱乐等系统(可以是C/S或B/S架构)的访问;

  2. 这些生产、办公、娱乐等系统之间可能存在数据调用或功能调用的情况,各厂家的系统通过API对外提供业务服务,故调用方发起对被调用方API的调用请求;

  3. 但是,面对几十、上百的业务系统,各厂商提供的API接口格式、协议又各不相同,各系统直接对接的话,链路复杂、管理困难,为解决这一难题,引入了API网关来做统一管理。有了API网关,所有业务系统间的数据调用请求,都需API网关做接口鉴权,鉴权通过后,API网关会代理接口访问请求至各业务系统的API;

  4. 系统实现对目标API的调用,实现用户访问。


零信任与API网关的关系




不仅用户、设备存在身份校验,业务系统、程序、微服务也存在身份校验的说法。

如易安联EnAPI,秉承零信任“Never trust,always verify”的原则,EnAPI负责对业务系统诸多微服务之间的API调用进行鉴权。这些应用、程序、微服务是否具有相互间调用的权限,都需要进过API网关进行权限鉴定,当且仅当鉴权通过后,才会在一定时间内开放API调用的接口,而当经过一定的老化时间之后,API网关会关闭此次调用接口,有效防止API调用的重放攻击行为。


一文带你了解API网关!


如上图所示,API网关承担了应用前置和应用后置之间连接桥梁的角色,前端的所有由应用前置发起的对后端应用后置的API调用请求,均由API网关进行代理,进行接口的认证授权、转发API调用请求。同时所有应用前置对应用后置的调用请求,均通过日志的形式上送至策略控制引擎,由策略控制引擎进行实时、全方位的权限调整,对不具备API调用权限的行为进行阻断,对违规或不正常API调用行为进行告警或直接阻断调用。



EnAPI




易安联为完善基于零信任的数据全生命周期安全防护体系,推出了自己的API网关——EnAPI,其能力全景图如下图所示:


一文带你了解API网关!

△易安联API网关能力全景图



EnAPI核心功能




  • 系统解耦

各业务系统间微服务API相互调用,需要单独对接,耗费研发人员时间、精力,增加重复对接成本。使用EnAPI网关,实现各业务系统API解耦,各API只需要跟API网关对接,无需与应用系统微服务直接对接,降低了软件开发厂商协对接成本。


一文带你了解API网关!


  • 熔断机制

如下图所示,一旦下游服务C因某些原因变得不可用,积压了大量请求,服务B的请求线程也随之阻塞。线程资源逐渐耗尽,使得服务B也变得不可用。紧接着,服务A也变为不可用,整个调用链路被拖垮,造成调用链路的连锁故障(雪崩)


一文带你了解API网关!

△调用正常与调用雪崩示意图


在固定时间窗口内,接口调用超时比率达到一个阈值,会开启熔断。进入熔断状态后,后续对该服务接口的调用不再经过网络,直接执行本地的默认方法,达到服务降级的效果。当经过了规定时间之后,服务将从熔断状态回复过来,再次接受调用方的远程调用。

一文带你了解API网关!

△熔断流程


  • 灰度发布

是指在黑与白之间,能够平滑过渡的一种发布方式。在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。

EnAPI帮助客户实现服务维护、升级时,服务整体不停摆、缩小影响面。其灰度发布的示意图如下图所示:


一文带你了解API网关!


  • 协议转换

各应用系统涉及协议众多,诸如MQTT、gRPC、websocket、Netconf等,若各应用厂家之间直接对接,既拉长项目周期,又增加开发成本。


一文带你了解API网关!


EnAPI兼容98%以上协议,帮助组织完成数据传输的国际密码标准/国家密码标准的转换,减少重复开发成本,提高开发效率。通过 API 网关将企业内部服务能力以标准 API 的 形式开放给合作伙伴,与合作伙伴共享服务和数据,达成深度合作,构建企业共赢生态。


  • 全生命周期管理

具备对API创建、维护、发布、运行、下线的全生命周期管理,运维更便捷。


一文带你了解API网关!


  • 日志审计

各微服务之间、各应用之间的调用请求有详细日志,支持以WORD、txt、PDF等文本形式输出,同时提供日志可视化审计,以饼图、柱状图等图表的形式展示用户关心的API调用细节。帮助管理员优化服务器资源配置……


一文带你了解API网关!



EnAPI的价值




1)系统解耦,降本增效

企业内部系统存在相互依赖关系,为保持系统的通用性与稳定性,很难应对业务的变化。而EnAPI网关使用RESTfulAPI,帮企业简化服务架构,通过规范化、标准化的API接口,快速完成企业内部系统的解耦及前后端分离。同时,复用已有能力,避免重复开发造成的资源浪费。

2)多端整合,统一后台

随着移动物联网的普及,API需要支持更多的终端设备,以扩充业务规模,但同时也带来系统复杂性的提升。通过API网关可以使API适配多端,企业只需要在API网关调整API定义,无需做额外工作。

3)能力开放,生态共建

当今企业面临巨大的挑战,企业的发展需要依赖外部合作伙伴的能力,典型的例子如使用第三方平台支付、合作方帐户登录等。通过API网关将企业内部服务能力以标准API的形式开放给合作伙伴,与合作伙伴共享服务和数据,达成深度合作,构建企业共赢生态

4)安全中控,数据堤坝

a.防护企业商业机密信息,数据资产是企业保持竞争力和发展的必要条件

b.保护企业经营的客户敏感数据,客户数据不仅是企业经营的基础,而且外泄风险直接导致企业面对巨大法律风险

5)合规合法,持续经营

用户日益膨胀的、碎片化的需求促使企业不断探索新的商业模式,以解决客户的各类场景化问题。API网关提供了丰富的API生态。API提供者在此提供标准的API服务,开发者在此将标准化的API服务整合进自己的应用,从而衍生出新的应用,新的服务。借助统一构筑的API网关开放平台促进企业建立商业生态、跨界创新。

以上就是本周权说安全给大家带来的技术文章分享,欢迎大家后台留言交流~



往期推荐