基本概念
API
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,应用将自身的服务能力封装成API,并通过API网关开放给用户调用。
API包括基本信息、前后端的请求路径和参数以及请求相关协议。
API分组
API分组是同一种业务API的集合,API开发者以API分组为单位,管理分组内的所有API。
环境
为了方便管理API的生命周期,API网关定义了API受限使用范围,这个受限使用的范围,称为环境,例如API的测试环境,开发环境等。
环境定义了API生命周期管理过程中的不同状态,API可以被发布到不同的自定义环境中。
调用不同环境的API,一般通过在API调用的请求头增加指定的头部参数,头部参数名固定为x-stage,它的取值叫环境名,用以区分不同的环境。
环境变量
在环境上创建可管理的一种变量,该变量固定在环境上。通过创建环境变量,实现同一个API,在不同环境中调用不同的后端服务。
流量控制
流量控制支持从用户、应用(凭据)、源IP和时间段等不同的维度限制对API的调用次数,保护后端服务。
API网关支持按分/按秒粒度级别的流量控制。
访问控制
访问控制策略是API网关提供的API安全防护组件之一,主要用来控制访问API的IP地址和账户,您可以通过设置IP地址或账户的黑白名单来允许/拒绝某个IP地址或账户访问API。
应用(凭据)
应用(APP)定义了一个API调用者的身份。可以将一个API授权给多个应用,也可以将多个API授权给同一个应用。
签名密钥
签名密钥由一对Key和Secret组成,用于后端服务验证API网关的身份,在API网关请求后端服务时,保障后端服务的安全。
当签名密钥绑定API后,API网关向后端服务发送此API的请求时,会增加相应的签名信息,此时后端服务依照同样方式进行签名并得到签名结果,如果和API网关传过来的Authorization头中签名一致,则可证明API请求确实来自API网关,而不是其他伪造请求。
VPC通道(负载通道)
API网关通过VPC通道访问部署在VPC内的服务,您可以借助API网关将部署在VPC中的后端服务开放给第三方用户调用。
自定义认证
自定义认证指在API调用过程中,用户可自行定义认证规则,实现API网关对调用方发起的请求、后端服务对API网关转发的请求进行有效性以及完整性校验。
自定义认证包含以下两种认证:
- 前端自定义认证:如果您希望使用自己的认证系统,而不是APP认证/华为IAM认证对API的访问进行认证鉴权时,您可以使用自定义认证,通过您自定义的函数进行认证鉴权。
- 后端自定义认证:当不同的后端服务使用不同的认证系统时,导致您需要为不同的认证系统定制化开发API,而APIG通过自定义认证功能,将多种认证系统集成,简化API开发的复杂度。您只需要在APIG中创建自定义的函数认证,APIG通过此函数对接后端认证系统,获取后端服务的访问授权。
简易认证
简易认证指调用API时,在HTTP请求头部消息增加一个参数X-Apig-AppCode(参数值填AppCode),而不需要对请求内容签名,API网关也仅校验AppCode,不校验请求签名,从而实现快速响应。
网关响应
网关响应指API网关未能成功处理API请求,从而产生的错误响应。API网关提供默认的网关响应(default),如果您需要自定义响应状态码或网关响应内容,可在API分组管理中新增网关响应,其中响应内容符合JSON格式即可。