一种rpc服务权限管理的方法及系统技术方案

技术编号:34264611 阅读:29 留言:0更新日期:2022-07-24 14:37
本发明专利技术提供了一种rpc服务权限管理的方法,所述方法包括以下步骤:步骤S1、在微服务端的数据库内创建微服务记录;步骤S2、客户端向微服务端后台申请要访问的微服务权限,生成服务权限记录;步骤S3、微服务端在启动后根据微服务的标识定时读取微服务的权限信息,保存在内存中;步骤S4、客户端访问微服务提供的grpc方法前,需要提供签名信息;步骤S5、微服务端接收到客户端的请求后,在微服务端的鉴权中间件中读取客户端请求的头部,从内存中筛选出该客户端的权限信息,进行校验;步骤S6、微服务端的后台新增权限配置数据,通过mq消息队列通知到微服务端,写入消息至mq消息队列,微服务端消费该消息;能够实现在微服务体系内,满足grpc方法权限配置。方法权限配置。方法权限配置。

A method and system of RPC service authority management

【技术实现步骤摘要】
一种rpc服务权限管理的方法及系统


[0001]本专利技术涉及计算机
,特别是一种rpc服务权限管理的方法及系统。

技术介绍

[0002]微服务的通信方式有别于传统的单体应用的http接口请求方式,服务间通过grpc远程过程调用进行通信,以此来请求或者获取业务数据。管理微服务的grpc访问权限,常见的方式是把微服务部署在一个网段中,通过限制内网端口的方式,保证微服务不可被外部访问。但这种方式不够细腻,无法满足更细的权限管理,例如客户端A只能访问服务端B的grpc方法1,而不允许客户端A访问服务端B的grpc方法2,这种情况用限制内网端口的方式就无法满足需求。

技术实现思路

[0003]为克服上述问题,本专利技术的目的是提供一种能够实现在微服务体系内,满足grpc方法权限配置的方法。
[0004]本专利技术采用以下方案实现:一种rpc服务权限管理的方法,所述方法包括以下步骤:
[0005]步骤S1、在微服务端的数据库内创建微服务记录;
[0006]步骤S2、客户端向微服务端后台申请要访问的微服务权限,生成服务权限记录;
[0007]步骤S3、微服务端在启动后根据微服务的标识定时读取微服务的权限信息,保存在内存中;
[0008]步骤S4、客户端访问微服务提供的grpc方法前,需要提供签名信息,保存在请求的头部;
[0009]步骤S5、微服务端接收到客户端的请求后,在微服务端的鉴权中间件中读取客户端请求的头部,从内存中筛选出该客户端的权限信息,进行校验;
[0010]步骤S6、微服务端的后台新增权限配置数据,通过mq消息队列通知到微服务端,写入消息至mq消息队列,微服务端消费该消息,重新执行步骤S3读取微服务相关权限配置信息,从而实现及时更新。
[0011]进一步的,所述步骤S1进一步具体为:在微服务端的数据库内创建微服务记录,提供微服务名称和服务标识,并生成微服务记录,创建RPC服务方法记录,提供服务标识和 grpc方法包路径,并生成服务方法记录。
[0012]进一步的,所述步骤S2进一步具体为:客户端向微服务端的后台申请要访问的目标微服务方法的权限,提供客户端用户名、客户端用户密码、客户端服务器IP、目标服务标识、访问grpc方法包路径,生成一条服务权限记录。
[0013]进一步的,所述步骤S3进一步具体为:所述步骤S3进一步具体为:微服务端在启动后根据微服务的标识每隔10分钟读取属于自己服务的权限信息,并用对象名和grpc方法包路径组成标识存储在字典map结构,存于微服务端的内存之中。
[0014]进一步的,所述步骤S4进一步具体为:客户端访问目标服务提供的grpc方法之前,需要一并带上签名信息:客户端用户名、当前时间戳、签名摘要字符串,存于请求的head 头部之中。
[0015]进一步的,所述步骤S5进一步具体为:微服务端接收到请求后,在服务端的鉴权中间件中读取head头部中的客户端用户名和本服务被调用的grpc方法包路径,从内存的字典map中筛选此客户端用户名的权限信息,校验时间戳是否在5分钟内,IP是否合法,校验签名摘要字符串是否一致。
[0016]进一步的,所述步骤S6进一步具体为:微服务端的后台新增权限配置数据,利用mq 消息队列通知到微服务端,写入一条消息到mq消息队列,微服务端消费此消息,重新执行步骤S3中读取微服务的相关权限配置信息,以此做到及时更新。
[0017]本专利技术还提供了一种rpc服务权限管理的系统,包括创建模块、生成模块、启动模块、访问模块、接收模块和通知模块,所述创建模块,即在微服务端的数据库内创建微服务记录;所述生成模块,即客户端向微服务端后台申请要访问的微服务权限,生成服务权限记录;所述启动模块,即微服务端在启动后根据微服务的标识定时读取微服务的权限信息,保存在内存中;所述访问模块,即客户端访问微服务提供的grpc方法前,需要提供签名信息,保存在请求的头部;所述接收模块,即微服务端接收到客户端的请求后,在微服务端的鉴权中间件中读取客户端请求的头部,从内存中筛选出该客户端的权限信息,进行校验;所述通知模块,即微服务端的后台新增权限配置数据,通过mq消息队列通知到微服务端,写入消息至mq消息队列,微服务端消费该消息,重新执行步骤S3读取微服务相关权限配置信息,从而实现及时更新。
[0018]进一步的,所述创建模块进一步具体为:在微服务端的数据库内创建微服务记录,提供微服务名称和服务标识,并生成微服务记录,创建RPC服务方法记录,提供服务标识和 grpc方法包路径,并生成服务方法记录。
[0019]进一步的,所述生成模块进一步具体为:客户端向微服务端的后台申请要访问的目标微服务方法的权限,提供客户端用户名、客户端用户密码、客户端服务器IP、目标服务标识、访问grpc方法包路径,生成一条服务权限记录。
[0020]进一步的,所述启动模块进一步具体为:微服务端在启动后根据微服务的标识每隔10 分钟读取属于自己服务的权限信息,并用对象名和grpc方法包路径组成标识存储在字典 map结构,存于微服务端的内存之中。
[0021]进一步的,所述访问模块进一步具体为:客户端访问目标服务提供的grpc方法之前,需要一并带上签名信息:客户端用户名、当前时间戳、签名摘要字符串,存于请求的head 头部之中。
[0022]进一步的,所述接收模块进一步具体为:微服务端接收到请求后,在服务端的鉴权中间件中读取head头部中的客户端用户名和本服务被调用的grpc方法包路径,从内存的字典map中筛选此客户端用户名的权限信息,校验时间戳是否在5分钟内,IP是否合法,校验签名摘要字符串是否一致。
[0023]进一步的,所述通知模块进一步具体为:微服务端的后台新增权限配置数据,利用mq 消息队列通知到微服务端,写入一条消息到mq消息队列,微服务端消费此消息,重新执行步骤S3中读取微服务的相关权限配置信息,以此做到及时更新。
[0024]本专利技术的有益效果在于:本专利技术能够在微服务体系内,满足grpc方法的权限配置,使系统权限管理更细致。
附图说明
[0025]图1是本专利技术的方法流程示意图。
[0026]图2是本专利技术的系统原理框图。
具体实施方式
[0027]下面结合附图对本专利技术做进一步说明。
[0028]请参阅图1所示,本专利技术的一种rpc服务权限管理的方法,所述方法包括以下步骤:
[0029]步骤S1、在微服务端的数据库内创建微服务记录;
[0030]步骤S2、客户端向微服务端后台申请要访问的微服务权限,生成服务权限记录;
[0031]步骤S3、微服务端在启动后根据微服务的标识定时读取微服务的权限信息,保存在内存中;
[0032]步骤S4、客户端访问微服务提供的grpc方法前,需要提供签名信息,保存在请求的头部;
[0033]步骤S5、微服务端接收到客户端的请求后,在微服务端的鉴权中间件中读取客户端请本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种rpc服务权限管理的方法,其特征在于,所述方法包括以下步骤:步骤S1、在微服务端的数据库内创建微服务记录;步骤S2、客户端向微服务端后台申请要访问的微服务权限,生成服务权限记录;步骤S3、微服务端在启动后根据微服务的标识定时读取微服务的权限信息,保存在内存中;步骤S4、客户端访问微服务提供的grpc方法前,需要提供签名信息,保存在请求的头部;步骤S5、微服务端接收到客户端的请求后,在微服务端的鉴权中间件中读取客户端请求的头部,从内存中筛选出该客户端的权限信息,进行校验;步骤S6、微服务端的后台新增权限配置数据,通过mq消息队列通知到微服务端,写入消息至mq消息队列,微服务端消费该消息,重新执行步骤S3读取微服务相关权限配置信息,从而实现及时更新。2.根据权利要求1所述的一种rpc服务权限管理的方法,其特征在于:所述步骤S1进一步具体为:在微服务端的数据库内创建微服务记录,提供微服务名称和服务标识,并生成微服务记录,创建RPC服务方法记录,提供服务标识和grpc方法包路径,并生成服务方法记录。3.根据权利要求1所述的一种rpc服务权限管理的方法,其特征在于:所述步骤S2进一步具体为:客户端向微服务端的后台申请要访问的目标微服务方法的权限,提供客户端用户名、客户端用户密码、客户端服务器IP、目标服务标识、访问grpc方法包路径,生成一条服务权限记录。4.根据权利要求1所述的一种rpc服务权限管理的方法,其特征在于:所述步骤S3进一步具体为:所述步骤S3进一步具体为:微服务端在启动后根据微服务的标识每隔10分钟读取属于自己服务的权限信息,并用对象名和grpc方法包路径组成标识存储在字典map结构,存于微服务端的内存之中。5.根据权利要求1所述的一种rpc服务权限管理的方法,其特征在于:所述步骤S4进一步具体为:客户端访问目标服务提供的grpc方法之前,需要一并带上签名信息:客户端用户名、当前时间戳、签名摘要字符串,存于请求的head头部之中。6.根据权利要求1所述的一种rpc服务权限管理的方法,其特征在于:所述步骤S5进一步具体为:微服务端接收到请求后,在服务端的鉴权中间件中读取head头部中的客户端用户名和本服务被调用的grpc方法包路径,从内存的字典map中筛选此客户端用户名的权限信息,校验时间戳是否在5分钟内,IP是否合法,校验签名摘要字符串是否一致。7.根据权利要求1所述的一种rpc服务权限管理的方法,其特征在于:所述步骤S6进一步具体为:微服务端的后台新增权限配置数据,利用mq消息队列通知到微服务端,写入一条消息到mq消息队列,微服务端消费此消息,重新执行步骤S3中读取微服务的相关权限配置信息,以此做到及时更新。8.一种rpc服务权限管理的系统,其特征在于...

【专利技术属性】
技术研发人员:刘德建叶伟李佳
申请(专利权)人:福建天晴数码有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1