开源API网关APINTO:应用管理
-
问题:
- 公司的业务系统比较多,各种业务系统彼此调用,还有调用了第三方厂商的OpenAPI,现在公司面临着无法监控这些系统的调用关系以及调用量统计。
- 更为关键的是,这些系统的鉴权不统一,每次开辟一条业务线,新上线系统必须与其他系统联调,新加盟的经销商同样面临着这些问题,对研发和运维来说,效率极其低下。
Apinto网关提出应用管理概念,统一管理应用及其生命周期。应用作为业务通讯的发起者角色,始终贯穿着整个调用链,Apinto网关对应用请求的流量进行鉴权认证,并对其所请求的流量进行服务治理,同时还对其监控告警,统计应用调用情况。
Apinto网关中的应用管理完美解决公司管理各业务系统所面临的问题,这也是领导赞美Apinto网关的其中一个方面,那接下来就把最近研究的Apinto的应用管理模块详细介绍一下。
-
配置:
2.1 应用列表
网关通过请求流量中的鉴权信息,来识别是哪个应用,应用必须上线到指定的网关集群且是未禁用状态时才真正生效。
网关对匿名应用和其他应用处理逻辑:
- 当没有应用上线(包括匿名应用),此时不需要鉴权,所有请求被放行
- 当有应用上线,此时匿名应用开启上线,此时可鉴权可不鉴权,若鉴权失败,则走匿名应用逻辑
- 当有应用上线,此时匿名应用开启上线,且给匿名应用配置了访问策略,仅允许匿名应用访问生效范围内的API,其他API请求都需要应用鉴权
- 当有应用上线,此时匿名应用禁用下线,此时必须要做鉴权
2.2 配置带有鉴权信息的test应用并上线
2.3 下线匿名应用,测试test应用调用情况
下线匿名应用并且禁用掉,那么不带test这个应用的鉴权,调用testAPI这个API是调不通的报403,看结果:
在请求头加上test应用的鉴权信息,应该可以成功调用,看结果:
测试结果如预期一般,必须带有鉴权信息且是正确的鉴权才可以调用API。
下回研究应用的监控调用统计,到时候分享给大家。
-
总结:
对于公司来说,必须监控谁安全合规调用了业务API,什么时段的调用量。
好东西必须关注,好了,省得大家去搜,直接提供github地址。
开源地址:https://github.com/eolinker/apinto
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· Qt个人项目总结 —— MySQL数据库查询与断言