什么是API网关

阿里云API网关是一种简单便捷、高可靠、高安全的API托管服务,提供创建、发布、监控、维护、下线等功能,涵盖快速发布、敏捷管理、精准运营的全生命周期管理。阿里云API网关通过权限认证、签名密钥、流量监控、路由管理等手段为API提供金融级防攻击的高度安全保护,同时降低API开放的风险。
 
对于API开发者,可以通过API网关完成API的创建、发布、管理等工作,从而将成熟的服务、数据等能力以API形式在API网关中开放给合作伙伴,实现业务能力的变现。同时,通过阿里云API网关可以轻松高效的完成API文档管理、SDK生成、环境管理等工作。
 
对于API的使用者,可以通过API网关获取并使用API开发者开放的API,提升应用程序的开发效率以及服务的复用率、减少开发时间、节省资源及成本。
 
阿里云API网关主要支持以下功能:
 
授权
 
基于应用的App Id进行权限管理,可参考创建应用
 
鉴权
 
基于应用的App Secret生成签名数据,确保调用方发送给API网关请求的安全性,可参考创建应用
 
流量控制
 
可控制单位时间内API允许被调用的次数,可参考创建流量控制策略:
 
•   支持按照API、应用、用户不同维度进行控制
 
•   流量控制粒度支持秒、分钟、小时以及天
 
访问控制
 
可控制指定的IP地址或IP地址段允许或禁止访问API,可参考创建访问控制策略
 
后端签名
 
支持API 网关发送到后端服务的请求中携带签名数据,用于后端服务验证请求是否从API 网关发起,从而校验API网关转发的请求的合法性,可参考创建签名密钥
 
服务路由
 
识别请求参数和路径,将调用方的API请求转发至后端服务;在收到后端服务的响应后,将响应转发给调用方,可参考创建API
 
入参校验
 
校验参数的有效性,如是否是必填项、数据类型等,可参考创建API
 
入参转换
 
后端参数映射,根据配置的参数映射关系,将调用方的请求路径转换为对应的后端请求路径,可参考创建API
 
支持Mock
 
在实际业务部署前,API网关模拟请求后端服务,提前对业务进行测试,可参考创建API
 
超时控制
 
API网关到后端服务的Socket超时时间设置,避免工作线程长时间等待,可参考创建API
 
VPC通道
 
如果API服务部署在阿里云ECS上,可以使用VPC通道打通API网关与ECS之间的网络链路,通过阿里云API网关将API服务暴露到互联网,可参考创建VPC通道
 
监控
 
阿里云API网关与云监控Argus服务紧密集成,实现API调用的指标监控,并可以在Argus上配置告警,提前发现问题,可参考查看监控数据
 
SDK/文档
 
对于应用拥有权限的API,API网关可生成对应的SDK,API的调用方只需要实现API调用的业务逻辑,便可快速对接API;
 
同时您可以根据API的配置信息,生成对应的API说明文档,方便API的调用方快速了解如何对接API,可参考下载SDK
 
计量策略
 
如果API的提供方需要根据API的调用次数对API的调用方进行收费,那么API的提供方可以设置自定义计量策略,API网关根据计量策略判定每次的API调用是否参与计费,可参考创建计量策略。

API网关核心概念
应用(APP)
调用方需要创建应用(APP)作为调用API时的身份。
 
App Id、App Secret
 
每个应用(APP)都有一对App Id和App Secret。
 
App Id:用于标识应用(APP)的身份。
App Secret:用于计算签名数据。

加密签名
 
API 请求到API网关时,需要携带签名信息,用于API网关对请求做身份验证。
 
授权
 
授予应用(APP)调用指定API的权限,由API提供方完成。应用被授权后才能调用API。
 
分组
 
API提供方管理API的最小单位。创建API需要先创建分组,可参考创建分组。
 
签名密钥
 
API提供方可以创建签名密钥并绑定指定的API,API网关到后端服务的请求会带上签名信息,用于后端服务验证API请求的安全性。
 
流量控制
 
用于API提供方对API、用户及应用进行流量限制,控制粒度可以是秒、分钟、小时及天。