3.1.3.1 新建API
1.概述
API提供者把API接口配置在API网关中,开放后端能力。
新建API服务支持新建API和从API设计导入两种方式。
• 基于空白新建API后,需要进行请求接口配置、后端服务配置与策略配置。
• 基于API设计新建API后,API设计的请求接口配置默认已配置完成,后续只需进行后端服务配置与策略配置。
2.基于空白新建API
简介
本小节介绍如何基于空白新建API。
操作步骤
(1)进入APIM系统页面。
(2)在左侧导航栏,选择“API服务 > API开发”,进入API开发页。
(3)单击“新建”,弹出新建API对话框。
(4)选择“新建API”,单击“下一步”。
(5)根据参数说明,完成配置。

(6)单击“确定”。
3.基于API设计新建API
简介
本小节介绍如何基于API设计新建API。
操作步骤
(1)进入APIM系统页面。
(2)在左侧导航栏,选择“API服务 > API开发”,进入API开发页。
(3)单击“新建”,弹出新建API对话框。
(4)选择“基于API设计”,单击“下一步”。
(5)根据参数说明,完成配置。

(6)单击“确定”。
3.1.3.2 请求配置
新建API时,如果选择“新建API”,需要进行请求配置,可参见API设计配置。
如果选择“基于API设计”,即可关联API设计请求配置。
3.1.3.3 后端服务配置
1.新建后端服务分组
简介
后端服务分组可在API开发 > API详情页新建,或在后端服务页新建,供API配置时直接选择。本小节介绍如何在后端服务页新建后端服务分组。
操作步骤
(1)进入APIM系统页面。
(2)在左侧导航栏,选择“API服务 > 后端服务”,进入后端服务页。
(3)单击新建,弹出新建后端服务组对话框。
(4)根据参数说明,完成配置。

(5)单击“确定”。
2.API的后端服务配置
简介
API新建后需完成后端服务配置,本小节介绍如何对API进行后端服务配置。
操作步骤
(1)进入APIM系统页面。
(2)在左侧导航栏,选择“API服务 > API开发”,进入API开发页。
(3)单击目标API名称/标识,进入API详情页。
(4)在接口列表单击目标接口,页面右侧展示该接口详情。
(5)在后端服务模块,选择后端服务或新建后端服务,并配置访问路径。
(6)单击“保存”。
3.1.3.4 新建策略
1.概述
本章节介绍如何新建策略,包括流量管控、安全防护和认证鉴权策略。
每种策略的配置与生效,请参见策略管理。
2.新建流量管控策略
(1)进入APIM系统页面。
(2)在左侧导航栏,选择“API服务 > 策略管理”,进入策略管理页。
(3)单击新建,弹出新建策略对话框。
(4)根据参数说明,完成配置。

(5)单击“确定”。
3.新建安全防护策略
(1)进入APIM系统页面。
(2)在左侧导航栏,选择“API服务 > 策略管理”,进入策略管理页。
(3)切换至安全防护页签。
(4)单击新建,弹出新建策略对话框。
根据参数说明,完成配置。

(6)单击“确定”。
4.新建认证鉴权策略
(1)进入APIM系统页面。
(2)在左侧导航栏,选择“API服务 > 策略管理”,进入策略管理页。
(3)切换至认证鉴权页签。
(4)单击新建,弹出新建策略对话框。
(5)根据参数说明,完成配置。

(6)单击“确定”。
3.1.3.5 策略配置
简介
通过策略的方式,为API提供灵活的控制策略和扩展能力。
本小节介绍如何进行策略配置。
限制与指导
• 一个接口只能绑定一个相同类型的策略。
• 策略和接口本身相互独立,只有为接口绑定策略后,策略才对接口生效。部署后,策略只对指定实例上的接口生效。
• 策略的绑定、解绑、更新会实时生效,支持热更新,不需要重新发布。
• 如果策略与API有绑定关系,则策略无法执行删除操作。
操作步骤
(1)进入APIM系统页面。
(2)在左侧导航栏,选择“API服务 > API开发”,进入API开发页。
(3)单击目标API名称/标识,进入API详情页。
(4)在接口列表单击目标接口,页面右侧展示该接口详情。
(5)在策略模块,单击“+”,右侧滑出添加策略窗口。
(6)选择目标策略。
(7)单击“确定”。
3.1.3.6 策略管理
1.概述
本章介绍各种策略的功能、参数、使用方法等。
2.认证
basic-auth
basic-auth是一个认证策略,添加basic-auth到服务或API,然后将其用户名或密码添加到请求头中以验证其请求。如果用户名或密码不正确,网关将会拦截请求。

• 启用方法
在指定的服务中,创建相应的服务策略,然后发布服务策略。

• 测试策略
正确请求:
curl -i -u用户名:密码http://10.0.0.23:8080/hash1/hi(请求地址)

错误请求:
未携带头时

key-auth
key-auth是一个认证策略,添加key-authAPI,将其密钥添加到查询字符串参数或标头中以验证其请求。如果密钥不正确,网关将会拦截请求。

• 启用方法
在指定的服务中,创建相应的服务策略,然后发布服务策略。

• 测试策略
未携带正确的头时

正确请求:
curl http://10.0.0.23:8080/hash1/hi -H "x-api-key:real"

hmac-auth
hmac-auth是一个认证策略,给api绑定ak、sk。客户端需携带以sk作为秘钥来hash256计算将请求内容加密的头,才可访问后端服务。
启用方法
新建策略后,绑定到API接口上。

• 测试策略
未携带准确的ak、sk时:

需由开发提供SDK,有一定计算过程。

3.全
ip-restriction
ip-restriction是一个安全策略,ip-restriction可以通过以下方式限制对服务或路线的访问,将IP地址列入白名单或黑名单。

• 启用方法
在指定的API中,创建相应的策略,然后发布API策略。

• 测试效果
来源ip不在白名单中,访问被拒绝。

设置来源IP在白名单中,访问通过。

uri-restriction
uri-restriction是一个安全策略,该插件可帮助我们拦截用户请求,指定需要拦截的uri即可。

• 启用方法
在指定的API中,创建相应的策略,然后发布API策略。
Uri路径只支持精确匹配。

• 测试策略
访问路径在黑名单中,会被限制访问。

ua-restriction
ua-restriction可以通过将指定User-Agent列入白名单或黑名单的方式来限制对服务或接口的访问。

• 启用方法
ua-restriction策略可以应用在服务层面也可以应用在API层面。
• 服务层面
在指定的服务中,创建相应的服务策略,然后发布服务策略。
• API层面
在指定的API中,创建相应的策略,然后发布API策略。Ua名单支持模糊匹配。

• 测试策略
请求user-agent在黑名单中,会被拒绝访问。

4.流控
local_ratelimit
和GitHub API的限速类似,在指定的时间范围内,限制总的请求个数。并且在HTTP响应头中返回剩余可以请求的个数。

• 启用方法
开启策略后,绑定到API接口。
• 测试策略
快速访问,超过阈值时,会被拒绝,且返回自定义的响应码和头。


Timeout
设置在请求后端时的超时时间,避免因网络延迟或服务响应慢导致的访问失败。
• 启用方法
开启策略后,绑定到API接口。

• 测试策略
配置后台服务sleep超时为60s,策略配置为30s;实际访问会在策略的30s返回报错。

Retry
重复请求后端的策略,在网络或其他异常情况下,可提高访问成功率。
• 启用方法
新建策略后,绑定到API接口上。

• 测试策略
配置的后端服务不通,后台会持续重试连接3次,日志中会有retry打印。

3.1.3.7 API版本发布
简介
API发布版本用于标识存在小差异的同一API,可用于不同需求的部署。
本小节介绍如何发布API。
操作步骤
(1)进入APIM系统页面。
(2)在左侧导航栏,选择“API服务 > API开发”,进入API开发页。
(3)单击目标API名称/标识,进入API详情页。
(4)单击“新建版本”,右侧滑出新建发布窗口。
(5)输入版本、描述。
版本支持字母、数字、-、_、.,且以字母或者数字开头,最大长度20个字符。
(6)单击“确定”,待发布成功即可。
3.1.3.8 API部署
1.首次部署
简介
创建完成的API,支持部署至到不同的实例。
API只有在部署到实例后,才可被调用。API网关支持查看API版本发布与部署历史记录(如版本管理、部署情况)。
操作步骤
(1)进入APIM系统页面。
(2)在左侧导航栏,选择“API服务 > API运行”,进入API运行页,默认展示API部署页签。
(3)单击“新建”,右侧滑出新建部署窗口。
(4)选择实例、API、API版本,按需输入描述信息。
(5)单击“确定”。
2.已部署的API部署新版本
简介
已部署的API支持再次部署新的版本,本小节介绍如何部署新版本。
操作步骤
(1)进入APIM系统页面。
(2)在左侧导航栏,选择“API服务 > API运行”,进入API运行页,默认展示API部署页签。
(3)单击目标已部署API模块的“部署新版本”,右侧滑出部署新版本窗口。
(4)选择API版本,按需输入描述信息。
(5)单击“确定”。
3.卸载已部署API
简介
已部署完成的API,支持卸载。本小节介绍如何卸载已部署的API。
操作步骤
(1)进入APIM系统页面。
(2)在左侧导航栏,选择“API服务 > API运行”,进入API运行页,默认展示API部署页签。
(3)单击目标已部署API模块的“卸载”,弹出卸载对话框。
(4)单击“确定”。
4.API测试
简介
API创建后需要验证服务是否正常,管理控制台提供调试功能,可以添加HTTP头部参数与body体参数,调试API接口。
操作步骤
(1)进入APIM系统页面。
(2)在左侧导航栏,选择“API服务 > API运行”,进入API运行页。
(3)单击“API测试”,切换至API测试页签。
(4)在接口列表中单击目标API接口,右侧展示该接口的信息。
(5)单击“测试”,测试该API。
(6)查看数据是否正常。
• 无异常:API接口可正常使用。
• 有异常:需定位处理后重新测试,直至无异常。

相关操作
API测试也可在API部署页签,对应的API模块单击“测试”,跳转至API测试页签,进行测试,后续操作与直接在API测试页签操作一致。