掌桥专利:专业的专利平台
掌桥专利
首页

一种微服务的身份管理方法及装置

文献发布时间:2024-04-18 20:01:23


一种微服务的身份管理方法及装置

技术领域

本发明涉及微服务技术领域,尤其涉及一种微服务的身份管理方法及装置。

背景技术

随着互联网应用的规模迅速扩大,传统单体架构逐渐被具有极速开发、便捷维护、快速部署等众多优点的微服务架构所替代。微服务架构带来高效便捷的同时也带来安全隐患。在一个大型应用系统中,微服务可能有成百上千个,微服务软件功能开发者来源众多,由于缺乏有效的微服务身份管理机制,可能存在来源不明、身份假冒的微服务,并且随着服务的注册上线,通过服务调用链路对整个应用系统进行网络攻击,造成系统瘫痪、敏感信息泄露。因此,建立有效的微服务身份管理机制是保障基于微服务架构的大型应用系统安全运行的重要基础支撑。

目前,在开源Eureka、Nacos等微服务注册中心中,提供了以服务名称为身份标识的身份管理机制,提供了微服务身份的注册、查询、删除、更新等身份管理功能,支撑微服务的熔断、限流等微服务治理服务,但是难以防止微服务身份假冒,难以支撑微服务的上线认证、访问授权、运行审计等安全服务。

发明内容

为了解决上述问题,本发明提出一种微服务的身份管理方法及装置,以服务名称、生产厂商、生产日期、版本号、执行代码为组成元素生成唯一确定、不可仿冒的微服务身份标识,可解决微服务身份假冒的问题;建立由身份信息管理、身份标识管理、身份数据库为组成模块的微服务身份管理中心,可解决微服务的上线认证、访问授权、运行审计等安全服务的身份信息支撑问题。

微服务架构一般由注册中心、API路由网关、认证服务中心、配置中心、日志收集系统等组成。本发明涉及的微服务身份管理方法及装置,通过构建微服务身份管理中心,与微服务架构中的注册中心、API路由网关、认证服务中心、配置中心、日志收集系统进行信息交互,生成唯一、不可仿冒的微服务身份标识,并提供上线认证、访问授权、运行审计等安全服务的身份信息支撑,主要包括微服务身份标识生成交互流程、微服务上线认证交互流程、微服务访问权限配置交互流程和微服务运行审计交互流程。

本发明采用的技术方案如下:

一种微服务的身份管理方法,包括微服务身份标识生成交互流程,所述微服务身份标识生成交互流程包括以下步骤:

S101.微服务A向注册中心发送服务注册申请;

S102.注册中心向微服务身份管理中心的身份信息管理模块发送身份标识申请;

S103.身份信息管理模块采集微服务A的相关数据形成身份信息Info_A;

S104.身份信息管理模块将身份信息Info_A存入身份数据库;

S105.身份信息管理模块向微服务身份管理中心的身份标识管理模块发送身份信息Info_A,请求生成身份标识;

S106.身份标识管理模块根据收到的身份信息Info_A,采用HMAC算法生成身份标识ID_A,并将身份标识ID_A写入身份数据库;

S107.身份标识管理模块向注册中心发送身份标识ID_A;

S108.注册中心向微服务A返回申请成功消息以及身份标识ID_A。

进一步地,还包括微服务上线认证交互流程,所述微服务上线认证交互流程包括以下步骤:

S201.微服务A向注册中心发送上线申请,通过认证服务中心与微服务A基于身份标识进行互认后建立安全通道,认证服务中心获取微服务A的身份信息Info_Ac;

S202.认证服务中心向身份信息管理模块发起身份鉴别请求,并发送身份信息Info_Ac;

S203.身份信息管理模块从身份数据库中读取微服务A的身份信息Info_A;

S204.身份信息管理模块将身份信息Info_Ac与Info_A对比,如果一致,则向认证服务中心返回身份鉴别成功结果;

S205.注册中心通过认证服务中心收到鉴别成功结果后,为微服务A分配IP地址和端口号,向微服务A返回上线成功结果。

进一步地,还包括微服务访问权限配置交互流程,所述微服务访问权限配置交互流程包括以下步骤:

S301.微服务A向API路由网关发起访问微服务B的请求;

S302.配置中心向身份信息管理模块发起获取微服务A和微服务B的身份信息请求;

S303.身份信息管理模块从身份数据库中读取微服务A的身份信息Info_A,以及微服务B的身份信息Info_B;

S304.身份信息管理模块向配置中心返回身份信息Info_A和Info_B;

S305.配置中心根据身份信息Info_A和Info_B,配置微服务A访问微服务B的访问权限,API路由网关根据访问权限调用微服务B,向微服务A返回访问结果。

进一步地,还包括微服务运行审计交互流程,所述微服务运行审计交互流程包括以下步骤:

S401.用户向日志收集系统发送查询微服务A的运行日志审计请求;

S402.日志收集系统向身份信息管理模块发起获取微服务A的身份信息请求;

S403.身份信息管理模块从身份数据库中读取微服务A的身份信息Info_A;

S404.身份信息管理模块向日志收集系统返回身份信息Info_A;

S405.日志收集系统根据身份信息Info_A统计有关微服务A的运行日志,将结果返回给用户。

进一步地,所述微服务A的身份信息Info_A包括:服务名称、生产厂商、生产日期、版本号和执行代码。

一种微服务的身份管理装置,包括:

身份信息管理模块,被配置为接收注册中心发送的身份标识申请,采集微服务A的相关数据形成身份信息Info_A,将身份信息Info_A存入身份数据库,向身份标识管理模块发送身份信息Info_A,请求生成身份标识;

身份标识管理模块,被配置为根据收到的身份信息Info_A,采用HMAC算法生成身份标识ID_A,并将身份标识ID_A写入身份数据库,向注册中心发送身份标识ID_A;

身份数据库,被配置为存储微服务A的身份信息Info_A和身份标识ID_A。

进一步地,当微服务A向注册中心发送上线申请时,通过认证服务中心与微服务A基于身份标识进行互认后建立安全通道,认证服务中心获取微服务A的身份信息Info_Ac;认证服务中心向身份信息管理模块发起身份鉴别请求,并发送身份信息Info_Ac;身份信息管理模块从身份数据库中读取微服务A的身份信息Info_A;身份信息管理模块将身份信息Info_Ac与Info_A对比,如果一致,则向认证服务中心返回身份鉴别成功结果;注册中心通过认证服务中心收到鉴别成功结果后,为微服务A分配IP地址和端口号,向微服务A返回上线成功结果。

进一步地,当微服务A向API路由网关发起访问微服务B的请求时,配置中心向身份信息管理模块发起获取微服务A和微服务B的身份信息请求;身份信息管理模块从身份数据库中读取微服务A的身份信息Info_A,以及微服务B的身份信息Info_B;身份信息管理模块向配置中心返回身份信息Info_A和Info_B;配置中心根据身份信息Info_A和Info_B,配置微服务A访问微服务B的访问权限,API路由网关根据访问权限调用微服务B,向微服务A返回访问结果。

进一步地,当用户向日志收集系统发送查询微服务A的运行日志审计请求时,日志收集系统向身份信息管理模块发起获取微服务A的身份信息请求;身份信息管理模块从身份数据库中读取微服务A的身份信息Info_A;身份信息管理模块向日志收集系统返回身份信息Info_A;日志收集系统根据身份信息Info_A统计有关微服务A的运行日志,将结果返回给用户。

进一步地,所述身份信息管理模块采集的微服务A的相关数据包括:服务名称、生产厂商、生产日期、版本号和执行代码。

本发明的有益效果在于:

(1)本发明提出了一种针对微服务的唯一确定、不可仿冒的身份标识生成方法,以服务名称、生产厂商、生产日期、版本号、执行代码为组成元素,采用HMAC算法生成微服务身份标识的机制,最大程度上解决了微服务身份假冒的问题。

(2)本发明提出了基于微服务身份管理中心的微服务身份信息支撑体系,建立由身份信息管理、身份标识管理、身份数据库为组成模块的微服务身份管理中心,以集中提供服务的方式为微服务的上线认证、访问授权、运行审计等安全服务提供支撑,为微服务的可信、可控、可管提供基础手段。

附图说明

图1是本发明实施例的微服务身份标识生成交互流程图之一。

图2是本发明实施例的微服务身份标识生成交互流程图之二。

图3是本发明实施例的微服务上线认证交互流程图。

图4是本发明实施例的微服务访问权限配置交互流程图。

图5是本发明实施例的微服务运行审计交互流程图。

具体实施方式

为了对本发明的技术特征、目的和效果有更加清楚的理解,现说明本发明的具体实施方式。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,即所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1

微服务架构一般由注册中心、API路由网关、认证服务中心、配置中心、日志收集系统等组成。本实施例提供了一种微服务的身份管理方法,通过构建微服务身份管理中心,与微服务架构中的注册中心、API路由网关、认证服务中心、配置中心、日志收集系统进行信息交互,生成唯一、不可仿冒的微服务身份标识,并提供上线认证、访问授权、运行审计等安全服务的身份信息支撑。本实施例的微服务的身份管理方法主要包括:微服务身份标识生成交互流程、微服务上线认证交互流程、微服务访问权限配置交互流程和微服务运行审计交互流程。

如图1和图2所示,本实施例的微服务身份标识生成交互流程包括以下步骤:

S101.微服务A向注册中心发送服务注册申请;

S102.注册中心向微服务身份管理中心的身份信息管理模块发送身份标识申请;

S103.身份信息管理模块采集微服务A的相关数据形成身份信息Info_A;

S104.身份信息管理模块将身份信息Info_A存入身份数据库;

S105.身份信息管理模块向微服务身份管理中心的身份标识管理模块发送身份信息Info_A,请求生成身份标识;

S106.身份标识管理模块根据收到的身份信息Info_A,采用HMAC算法生成身份标识ID_A,并将身份标识ID_A写入身份数据库;

S107.身份标识管理模块向注册中心发送身份标识ID_A;

S108.注册中心向微服务A返回申请成功消息以及身份标识ID_A。

优选地,如图3所示,本实施例的微服务上线认证交互流程包括以下步骤:

S201.微服务A向注册中心发送上线申请,通过认证服务中心与微服务A基于身份标识进行互认后建立安全通道,认证服务中心获取微服务A的身份信息Info_Ac;

S202.认证服务中心向身份信息管理模块发起身份鉴别请求,并发送身份信息Info_Ac;

S203.身份信息管理模块从身份数据库中读取微服务A的身份信息Info_A;

S204.身份信息管理模块将身份信息Info_Ac与Info_A对比,如果一致,则向认证服务中心返回身份鉴别成功结果;

S205.注册中心通过认证服务中心收到鉴别成功结果后,为微服务A分配IP地址和端口号,向微服务A返回上线成功结果。

优选地,如图4所示,本实施例的微服务访问权限配置交互流程包括以下步骤:

S301.微服务A向API路由网关发起访问微服务B的请求;

S302.配置中心向身份信息管理模块发起获取微服务A和微服务B的身份信息请求;

S303.身份信息管理模块从身份数据库中读取微服务A的身份信息Info_A,以及微服务B的身份信息Info_B;

S304.身份信息管理模块向配置中心返回身份信息Info_A和Info_B;

S305.配置中心根据身份信息Info_A和Info_B,配置微服务A访问微服务B的访问权限,API路由网关根据访问权限调用微服务B,向微服务A返回访问结果。

优选地,如图5所示,本实施例的微服务运行审计交互流程包括以下步骤:

S401.用户向日志收集系统发送查询微服务A的运行日志审计请求;

S402.日志收集系统向身份信息管理模块发起获取微服务A的身份信息请求;

S403.身份信息管理模块从身份数据库中读取微服务A的身份信息Info_A;

S404.身份信息管理模块向日志收集系统返回身份信息Info_A;

S405.日志收集系统根据身份信息Info_A统计有关微服务A的运行日志,将结果返回给用户。

优选地,微服务A的身份信息Info_A可以是服务名称、生产厂商、生产日期、版本号和执行代码。

实施例2

微服务架构一般由注册中心、API路由网关、认证服务中心、配置中心、日志收集系统等组成。本实施例提供了一种微服务的身份管理装置,包括身份信息管理模块、身份标识管理模块和身份数据库。如图2所示,身份信息管理模块被配置为接收注册中心发送的身份标识申请,采集微服务A的相关数据形成身份信息Info_A,将身份信息Info_A存入身份数据库,向身份标识管理模块发送身份信息Info_A,请求生成身份标识;身份标识管理模块被配置为根据收到的身份信息Info_A,采用HMAC算法生成身份标识ID_A,并将身份标识ID_A写入身份数据库,向注册中心发送身份标识ID_A;身份数据库被配置为存储微服务A的身份信息Info_A和身份标识ID_A。

优选地,如图3所示,当微服务A向注册中心发送上线申请时,通过认证服务中心与微服务A基于身份标识进行互认后建立安全通道,认证服务中心获取微服务A的身份信息Info_Ac;认证服务中心向身份信息管理模块发起身份鉴别请求,并发送身份信息Info_Ac;身份信息管理模块从身份数据库中读取微服务A的身份信息Info_A;身份信息管理模块将身份信息Info_Ac与Info_A对比,如果一致,则向认证服务中心返回身份鉴别成功结果;注册中心通过认证服务中心收到鉴别成功结果后,为微服务A分配IP地址和端口号,向微服务A返回上线成功结果。

优选地,如图4所示,当微服务A向API路由网关发起访问微服务B的请求时,配置中心向身份信息管理模块发起获取微服务A和微服务B的身份信息请求;身份信息管理模块从身份数据库中读取微服务A的身份信息Info_A,以及微服务B的身份信息Info_B;身份信息管理模块向配置中心返回身份信息Info_A和Info_B;配置中心根据身份信息Info_A和Info_B,配置微服务A访问微服务B的访问权限,API路由网关根据访问权限调用微服务B,向微服务A返回访问结果。

优选地,如图5所示,当用户向日志收集系统发送查询微服务A的运行日志审计请求时,日志收集系统向身份信息管理模块发起获取微服务A的身份信息请求;身份信息管理模块从身份数据库中读取微服务A的身份信息Info_A;身份信息管理模块向日志收集系统返回身份信息Info_A;日志收集系统根据身份信息Info_A统计有关微服务A的运行日志,将结果返回给用户。

优选地,身份信息管理模块采集的微服务A的相关数据可以是服务名称、生产厂商、生产日期、版本号和执行代码。

需要说明的是,对于前述的方法实施例,为了简便描述,故将其表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

相关技术
  • 一种基于冰冻环境大气参数的风机覆冰监测方法
  • 基于冰冻环境大气参数的电气化铁路接触网覆冰监测方法
技术分类

06120116555672