集成流程安全报警功能迁移心得

Posted 数通畅联

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了集成流程安全报警功能迁移心得相关的知识,希望对你有一定的参考价值。

AEAI ESB作为我们公司的一款核心产品,用于解决各个业务系统之间的异构集成难题。流程统计作为新开发的页面,其中主要功能是帮助开发人员和客户从不同角度了解当前场景下流程信息的变化

本次是把安全配置以及报警配置迁移到集成流程页面,报警设置目前散布在API服务、API接口、现在需要把场景配置中的报警设置,迁移到集成流程页面中配置,为后续的AEAI ESB开发、调整和使用提供借鉴。 

1背景说明 

1.1当前现状 

近些年,API安全在安全领域越来越多地被业界和学术界提及关注。OWASP在2019年将API安全列为未来最受关注的十大安全问题之一。事实上随着应用程序驱动的普及,API接口已经是Web应用、移动互联网以及SaaS服务等领域的重要组成部分,无论是我们在网上购物,或者是在银行交易,甚至在医院看病挂号都会伴随着对API接口的访问和控制。由于对API接口的访问控制伴随着数据传输,其中不乏大量的用户隐私数据以及重要文件数据,因此越来越多的非法黑客将API接口作为攻击目标,通过非法控制和使用API接口窃取数据等。所以没有安全保证的API服务,会带来生产生活上的巨大不便和潜在风险。 

所谓API安全防护就是对API完整性进行有效地保护。目前API安全防护措施主要集中在访问授权认证机制上,访问频率、访问量的限制与负载平衡,以及数据在网络通信过程中的数据隐私保护。其解决方案主要围绕TLS、SSL以及访问控制等技术手段进行防护。 

1.2功能实现 

本次是站在客户角度进行安全配置,对报警配置进行迁移,安全支持的功能有TokenId认证、用户名密码认证、扩展流程认证以及白名单、黑名单的IP进行认证;报警配置支持邮件、微信、邮箱等方式进行报警信息发送,满足客户的需求以及多业务场景适配。 

2需求说明 

2.1总体说明 

报警设置目前是散布在API服务、API接口、场景配置3处,其中服务和接口共用一个安全表存储数据,场景配置单独使用表存储数据。现在需要把场景配置中的报警设置,迁移到集成流程页面中配置,同时在集成流程编辑页面中新增安全配置功能。API管理和集成流程共用一个安全配置的数据表,报警配置是数据现储存到集成流程表中。 

2.2需求说明 

集成流程详情页面再追加一个安全配置标签和一个报警标签,安全配置页面参考API安全页面去掉左边树(只有流程类型为触发,推送时显示报警配置),报警配置页面参考API服务报警配置页面,安全表中新增HTTP类型代表集成流程安全配置,API管理和集成流程共用一个安全表数据库场景表,移除报警配置功能。 

3功能设计 

3.1实现思路 

1.集成流程在详情页面追加一个安全配置标签,一个报警配置标签; 

2.安全配置页面参考API安全页面去掉左边树(只有流程类型为触发,推送时显示报警配置); 

3.报警配置页面参考API服务报警配置页面; 

4.安全表中新增HTTP类型代表集成流程的安全配置,API管理和集成流程的安全仍然共用一个安全表; 

5.数据库场景配置表,移除报警相关字段,在集成流程表中,新增报警相关字段; 

6.场景配置页面移除报警配置功能; 

7.集成流程页面,选择现有的mf流程,存储mf流程id,页面显示url; 

8.集成流程页面,点击流程,可以带参数跳转到API接口列表页面。 

3.2页面设计 

1.集成流程,基础页面可以选择URL,存mf流程ID,如下图: 

2.集成流程,选择流程页面,回显API接口的URL: 

3.安全配置: 

4.报警设置: 

3.3数据库调整 

1.安全表API_res_security中,RES_TYPE字段新增HTTP类型代表集成流程的安全配置,RES_ID存集成流程id; 

2.场景表eai_scene,移除错误重试策略SCE_AGAIN,报警方式SCE_ALARM_WAY,报警方式内容SCE_CONTACT_INFORMATION, SCE_RETRY_TYPE,SCE_ALARM_MODE,SCE_RETRY_CONFIG,SCE_ALARM_CONFIG 

3.集成流程表eai_service_flow,增加SEF_RETRY_TYPE,SEF_ALARM_MODE,SEF_RETRY_CONFIG,SEF_ALARM_CONFIG字段。 

3.4控制层设计 

集成流程编辑:IntegrationProcessManageEditHandler: 

集成流程安全配置:IntegrationProcessManageList: 

集成流程报警配置:IntegrationArarmManageList: 

4实现步骤 

4.1数据库表 

1.API安全表(eai_scene_source) 

4.2迁移过程 

4.2.1安全配置 

API安全去掉左边树迁移到集成流程安全配置标签中: 

效果如下: 

当我们点击调用系统添加功能时会弹出应用弹窗如下: 

代码如下: 

当认证方式选择扩展流程时会显示应用编码,流程编码标签: 

前端代码如下: 

4.2.2报警设置 

报警配置从API安全迁移到集成流程Edit页面中:

前端代码如下: 

4.2.3报警配置 

API安全报警配置迁移到集成流程页面中新添加报警配置标签:

前端代码如下: 

4.3效果展示 

集成流程详情页面安全配置标签页面如下所示: 

集成流程详情页面报警设置标签页面如下所示: 

集成流程详情页面报警配置标签页面如下所示: 

5功能测试 

5.1安全配置 

当我们在安全配置页面中认证方式选择用户名与密码会弹出一个用户名和密码的标签如下所示: 

当我们认证方式选择扩展流程时会弹出应用编码和流程编码标签如下所示: 

当我们点击保存会把数据存入到数据库如下所示: 

5.2报警设置 

当我们报警策略选择启用时候失败报警策略和报警配置标签会显示出来: 

当重试策略选择启用时失败重试策略标签会显示出来: 

5.3报警配置 

在这里我们可以去修改参数如下所示: 

6心得总结 

本次对于集成流程安全报警功能的迁移,让我对代码逻辑有了更深地理解,现将本次迁移开发过程中的学习收获进行总结。 

6.1开发总结 

在开发前需要先了解模块的功能作用,明确已有功能的关系和对后续工作的影响,考虑不周的地方需要向领导同事进行请教,不能盲目地去执行,三思而行,防患于未然,规避风险少犯错甚至不犯错,发散自己的思维,这样才会让自己的思考方向更加的明确。 

6.2反思不足 

在这次的工作中,和领导同事进行了交互,明确了模块的作用及其他模块的关系,对于解析的部分,虽然是仿照之前的功能进行迁移,但对于细节的调整,也让自己对于应用集成有了进一步的认知。但是在这次的开发过程中,感觉自己对于代码的理解有些不足,虽然对比之前有了很大的进步,但是依旧存在着很大的问题。后续需要集中自己的问题进行学习提升。 

6.3心得体会 

在本次的功能开发中,我对于应用集成的功能有了新理解。在工作方式上,无论是代码方面还是意识形态方面都学到了许多,比如开发过程中要考虑全面,要考虑多方面的因素,站在客户的角度来验证功能,也要考虑代码质量、页面美观,功能和性能等。 

在公司的工作学习中,学到了很多做人做事的方法,比如及时反馈工作,多和领导同事沟通交互。在开发过程中,也对公司的产品使用和逻辑有了深入地了解。在后续的工作过程中,要不断地总结自己学到的知识,随学随记,每天进步一些。在这次开发过程中,遇到的困难都要记录下来,相信自己在今后的工作中,可以持续不断地提升自己的能力,在这条路上越走越远。 

以上是关于集成流程安全报警功能迁移心得的主要内容,如果未能解决你的问题,请参考以下文章

持续集成工具FinalBuilder使用心得

蓝鲸社区版4.0集成安装心得

集成activiti-modeler 到 自己的业务系统(集成流程跟踪-完美支持IE)

CDH集成的kerberos迁移实战

CDH集成的kerberos迁移实战

具有 SQL Server 集成安全性的 Flyway