本发明涉及计算机领域,尤其涉及一种基于apachepulsar消息流的数据权限控制方法。
背景技术:
1、计算机俗称电脑,是现代一种用于高速计算的电子计算机器,可以进行数值计算,又可以进行逻辑计算,还具有存储记忆功能。
2、目前的计算机可以应用不同的行业中,可以对不同行业中起到辅助的操作,其中计算机可以应用于pulsar消息流平台数据访问授权与传输数据的过程。
3、apache pulsar是云原生分布式消息流平台,集消息、存储、轻量化函数式计算为一体,支持多租户、持久化存储、多机房跨区域数据复制,具有强一致性、高吞吐以及低延时的高可扩展流数据存储特性,内置诸多其他系统商业版本才有的特性,是云原生时代消息流数据实时传输、存储和计算的最佳解决方案。
4、oauth是一个关于授权的开放网络标准,允许用户授权第三方应用访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方移动应用或分享他们数据的所有内容。
5、pulsar自身提供了oauth的集成认证功能,但是目前市场上的oauth服务大多针对第三方应用,pulsar作为被授权的客户端,拓展性较差,应用系统集成pulsar时的数据权限绑定与数据安全性,权限控制的实时性都难以保证,同时,应用系统往往是强业务流程,强用户权限控制的,pulsar的oauth集成插件并不能做到与业务用户强相关。
6、因此,有必要提供一种基于apachepulsar消息流的数据权限控制方法解决上述技术问题。
技术实现思路
1、本发明提供一种基于apachepulsar消息流的数据权限控制方法,解决了pulsar的oauth集成插件并不能做到与业务用户强相关的问题。
2、为解决上述技术问题,本发明提供的一种基于apachepulsar消息流的数据权限控制方法,包括以下步骤:
3、s1、服务的建立,包括oauth认证服务器与资源服务器的搭建;
4、s2、用户信息,系统资源与pulsar关系维护;
5、s3、pulsar oauth客户端维护,pulsar oauth认证只支持客户端认证的模式,需要在资源服务器中维护oauth客户端并与用户资源实体建立关联关系;
6、s4、动态授权与认证,通过自定义插件的方式实现pulsar认证,与pulsar自带的认证不冲突。
7、优选的,所述s1中的认证服务器用户实现oauth的登录,资源服务器用于维护用户逻辑关系。
8、优选的,所述s2中的系统资源处理包括以下步骤:
9、s21、在资源服务器中定义新的实体关联关系用于标记用户与资源;
10、s22、通常用户与资源为多对多的关系,因此每个用户与一类资源的关系将定义为一个实体。
11、优选的,所述s4中的客户端授权之后,用户便能够使用自己的认证凭证为pulsar客户端进行认证,通常认证成功之后的token失效期很短,插件会自动进行token续期。
12、优选的,所述s4中的资源服务器一旦取消了用户与资源的绑定关系后,相应的凭证会被取消,用户启动的pulsar客户端在很短时间内将无法再次连接。
13、优选的,所述s1中的服务器,在启动认证服务器,认证服务器对资源服务器和pulsar暴露认证接口。
14、优选的,所述s1中的资源服务器,在启动资源服务器,资源服务器维护系统用户与业务。
15、优选的,所述资源服务器维护oauth client,将oauth客户端的增、删、改、查放入资源服务器功能中,对oauth标准的scope字段进行改造。
16、优选的,所述oauth标准的scope字段进行改造,支持两种scope:produce与consume,这两个也是pulsar判断topic读写权限的permission条件。
17、优选的,所述pulsar服务端部署自定义oauth服务端插件,用于与认证服务器交互,校验客户端请求头中携带的token。
18、与相关技术相比较,本发明提供的一种基于apachepulsar消息流的数据权限控制方法具有如下有益效果:
19、本发明提供一种基于apachepulsar消息流的数据权限控制方法,将pulsar消息流与业务系统的具体业务、业务用户进行强关联,并能动态控制授权与认证,该方法的主要策略是通过将授权/认证服务与业务逻辑进行绑定,维护业务用户与pulsar命名空间、主题之间的绑定关系,动态控制主题的生产和消费权限,从而可以使pulsar的oauth集成插件能做到与业务用户强相关。
1.一种基于apachepulsar消息流的数据权限控制方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于apachepulsar消息流的数据权限控制方法,其特征在于,所述s1中的认证服务器用户实现oauth的登录,资源服务器用于维护用户逻辑关系。
3.根据权利要求1所述的基于apachepulsar消息流的数据权限控制方法,其特征在于,所述s2中的系统资源处理包括以下步骤:
4.根据权利要求1所述的基于apachepulsar消息流的数据权限控制方法,其特征在于,所述s4中的客户端授权之后,用户便能够使用自己的认证凭证为pulsar客户端进行认证,通常认证成功之后的token失效期很短,插件会自动进行token续期。
5.根据权利要求4所述的基于apachepulsar消息流的数据权限控制方法,其特征在于,所述s4中的资源服务器一旦取消了用户与资源的绑定关系后,相应的凭证会被取消,用户启动的pulsar客户端在很短时间内将无法再次连接。
6.根据权利要求1所述的基于apachepulsar消息流的数据权限控制方法,其特征在于,所述s1中的服务器,在启动认证服务器,认证服务器对资源服务器和pulsar暴露认证接口。
7.根据权利要求1所述的基于apachepulsar消息流的数据权限控制方法,其特征在于,所述s1中的资源服务器,在启动资源服务器,资源服务器维护系统用户与业务。
8.根据权利要求7所述的基于apachepulsar消息流的数据权限控制方法,其特征在于,所述资源服务器维护oauthclient,将oauth客户端的增、删、改、查放入资源服务器功能中,对oauth标准的scope字段进行改造。
9.根据权利要求8所述的基于apachepulsar消息流的数据权限控制方法,其特征在于,所述oauth标准的scope字段进行改造,支持两种scope:produce与consume,这两个也是pulsar判断topic读写权限的permission条件。
10.根据权利要求9所述的基于apachepulsar消息流的数据权限控制方法,其特征在于,所述pulsar服务端部署自定义oauth服务端插件,用于与认证服务器交互,校验客户端请求头中携带的token。