0
点赞
收藏
分享

微信扫一扫

api网关的使用,实现访问控制


文章目录

  • ​​场景​​
  • ​​什么是api网关,有什么用​​
  • ​​效果​​
  • ​​接入过程​​
  • ​​如何查看哪些人订阅了​​
  • ​​其他​​
  • ​​api和应用之间的关系​​
  • ​​api网关不要走弯路​​

场景

项目接口对调用方开放的,任何人只要知道接口和参数就可以调用。 这非常不安全,于是集团下命令,要改造。
实现方式:
1、接入api网关。(耦合性小,不用改代码)
2、在代码中添加逻辑,实现接入控制。(需要改代码,而且每次扩展都要改)
很明显,接入api网关比较合理。

什么是api网关,有什么用

可以理解为一个api托管平台。
作用比较多:
安全认证和访问控制
负载均衡(slb: server load balance)
流量限制
监控(例如:调用了一个请求,谁都不认,通过api网关可以查到ip,从而判断是谁调用的)

效果

以军统和保密局为例:

例如原来的域名是(军统),接口谁都可以查看,那太不安全了:
​​​ http://www.juntong.com​​ http://www.juntong.com/yonghu/getUser 查看人员接口

改革后的域名是(保密局):
​​​ http://api.baomiju.com​​​ 上下文为 /yonghu
http://api.baomiju.com/yonghu/getUser 查看人员接口

访问通过网关的服务需要,需要有对应权限,例如header中添加 auth_key , 123KL1234KL02348194

这样只有我开放的接口,并授权之后才可以访问,实现了访问管理。

接入过程

申请服务空间,申请账号。
因为军统维度很多,例如人员管理,武器管理等。 服务空间就是为了划分维度的,再申请账号,不同人员管理对应的部分。

进入服务空间,例如人员管理。 申请api网关。
api网关代理模块里面可以配置多个终端。

发布api。 新建应用,订阅api,就会为该应用生成一个key。
这样就实现了管理。

如何查看哪些人订阅了

portal(门户) | subscriptions(订阅) ,这里就可以看到订阅了。

其他

api和应用之间的关系

应用 订阅 api。

api网关不要走弯路

之前不懂,系统中的一个应用申请一个网关。那么很不方便,例如我有几十个应用,那真累死人了。
其实可以,域名直接申请api网关,那么就方便多了。


举报

相关推荐

0 条评论