CN110691099B - 一种微服务架构下实现级联授权的***及方法 - Google Patents

一种微服务架构下实现级联授权的***及方法 Download PDF

Info

Publication number
CN110691099B
CN110691099B CN201911031026.1A CN201911031026A CN110691099B CN 110691099 B CN110691099 B CN 110691099B CN 201911031026 A CN201911031026 A CN 201911031026A CN 110691099 B CN110691099 B CN 110691099B
Authority
CN
China
Prior art keywords
user
authority
micro
information
authorization
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201911031026.1A
Other languages
English (en)
Other versions
CN110691099A (zh
Inventor
黄启庆
刘可新
唐晓东
蔡卫卫
高传集
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Cloud Information Technology Co Ltd
Original Assignee
Inspur Cloud Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Cloud Information Technology Co Ltd filed Critical Inspur Cloud Information Technology Co Ltd
Priority to CN201911031026.1A priority Critical patent/CN110691099B/zh
Publication of CN110691099A publication Critical patent/CN110691099A/zh
Application granted granted Critical
Publication of CN110691099B publication Critical patent/CN110691099B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明特别涉及一种微服务架构下实现级联授权的***及方法。该微服务架构下实现级联授权的***,包括微服务应用,元数据管理中心和授权鉴权中心,各微服务应用均内置适配器Adapter。所述微服务应用通过内置的适配器Adapter连接到元数据管理中心和授权鉴权中心。该微服务架构下实现级联授权的***及方法,解决了微服务架构下一次请求需要跨多个微服务应用时的权限问题,授权时不再需要用户知晓操作的依赖关系,也不需要对各操作进行逐个授权,极大的提升了用户体验,降低了用户使用和操作难度。

Description

一种微服务架构下实现级联授权的***及方法
技术领域
本发明涉及身份认证和访问控制技术领域,特别涉及一种微服务架构下实现级联授权的***及方法。
背景技术
随着微服务的兴起和广泛使用,越来越多的应用都开始采用微服务架构,然而,微服务架构下的权限控制,较传统单体应用,有着很大的不同。
在传统单体应用中,各功能模块之间的调用,属于进程内调用,不需要考虑安全性,因此,只需要在对外接口的入口处做好权限检查就可以了。
然而,微服务架构下,用户的一次请求,可能会涉及到跨多个微服务应用之间的调用。如:用户A拥有创建云主机的权限,而创建云主机还涉及到创建网络,挂载云硬盘等操作,而云主机、网络、云硬盘,分别隶属于三个不同的微服务应用;用户请求到达云主机应用,云主机应用进一步拿着用户身份凭证去调用网络和云硬盘的接口;此时,如果用户A没有创建网络和挂载云硬盘的权限的话,则创建云主机操作将无法完成。
如果用户A想要把云主机创建出来,还需要再进一步授予其创建网络和挂载云硬盘的权限。然而,这样的操作,在用户使用习惯和便捷度上,很不友好。
基于以上的问题,提出一种新的授权方式,以能够实现类似单体应用下的授权,成为技术人员亟待解决的难题。
基于上述情况,本发明提出了一种微服务架构下实现级联授权的***及方法。只要授予用户A创建云主机的权限,那么就应该能够成功的创建出云主机,而不需要关注创建云主机内部的逻辑。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种简单高效的微服务架构下实现级联授权的***及方法。
本发明是通过如下技术方案实现的:
一种微服务架构下实现级联授权的***,其特征在于:包括微服务应用,元数据管理中心和授权鉴权中心,各微服务应用均内置适配器Adapter;所述微服务应用通过内置的适配器Adapter连接到元数据管理中心和授权鉴权中心。
所述微服务应用中内置的适配器Adapter负责请求拦截,并与授权鉴权中心交互,验证请求者是否拥有所请求资源的权限。
所述元数据管理中心负责管理维护整个***下,所有微服务应用的权限元数据信息,包括服务定义、资源类型定义、操作定义以及操作之间的依赖关系。
所述元数据管理中心保存有整个***所有操作之间的依赖关系,当用户有某个操作的操作权限时,则认为该用户同时具有该操作依赖的其他操作的操作权限。
创建云主机依赖于创建网络,创建云主机还依赖于挂载云硬盘;当用户有创建云主机的操作权限时,授权鉴权中心同时认为该用户具有创建网络和挂载云硬盘的操作权限。
所述授权鉴权中心负责为用户分配权限,以及验证用户是否拥有指定资源的操作权限。
基于该微服务架构下实现级联授权的***的实现方法,当微服务应用内置的适配器Adapter拦截到用户操作请求时,将请求者信息、请求的操作信息发送给授权鉴权中心进行权限验证;如果用户没有权限,则进一步去元数据管理中心查询依赖于当前操作的其他操作,然后进一步将请求者信息和依赖当前操作的其他操作信息发送给授权鉴权中心进行权限验证;如果有权限,则认为有权限,如果仍然没有权限,则进一步根据操作依赖关系进行权限验证,直至依赖关系结束。
基于该微服务架构下实现级联授权的***的实现方法,包括以下步骤:
第一步,用户向微服务应用发出用户操作请求,所述用户操作请求携带用户凭证;
第二步,适配器Adapter拦截并解析用户操作请求,获取用户凭证信息和请求的操作信息;
第三步,适配器Adapter将解析获取的用户凭证信息和请求的操作信息发送到授权鉴权中心,检查用户是否有所请求的操作的操作权限;
第四步,若用户有操作权限,授权鉴权中心则返回反馈信息,适配器Adapter收到反馈信息后将用户操作请求发送到微服务应用,微服务应用执行该用户请求的相应操作即可;
第五步,若用户没有操作权限,则去元数据管理中心查询依赖于当前请求的操作的其他操作,然后进一步将用户凭证信息和依赖当前操作的其他操作信息发送给授权鉴权中心进行权限验证;如果用户对依赖当前操作的其他操作有操作权限,则认为用户有当前请求的操作的操作权限,回到第四步;
如果仍然没有权限,则进一步根据操作依赖关系查找其他操作进行权限验证,直至遍历所有依赖关系;如果用户对具有依赖关系的其他操作有操作权限,则认为用户有当前请求的操作的操作权限,回到第四步;
若遍历所有依赖关系都没有操作权限,则认为用户没有当前请求的操作的操作权限,授权鉴权中心返回反馈信息,适配器Adapter收到反馈信息后将用户操作请求拦截,微服务应用不执行该用户请求的相应操作。
本发明的有益效果是:该微服务架构下实现级联授权的***及方法,解决了微服务架构下一次请求需要跨多个微服务应用时的权限问题,授权时不再需要用户知晓操作的依赖关系,也不需要对各操作进行逐个授权,极大的提升了用户体验,降低了用户使用和操作难度。
附图说明
附图1为本发明微服务架构下实现级联授权的***示意图。
附图2为本发明微服务架构下实现级联授权的***的实现方法示意图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
该微服务架构下实现级联授权的***,包括微服务应用,元数据管理中心和授权鉴权中心,各微服务应用均内置适配器Adapter;所述微服务应用通过内置的适配器Adapter连接到元数据管理中心和授权鉴权中心。
微服务架构下,每个相对独立的功能模块都会单独为一个微服务应用,一个大的***会包含众多的微服务应用,少则几个,多则上百。
一个功能相对独立的功能模块,一般会做为一个微服务应用,如云主机服务做为一个独立的微服务应用;网络服务做为一个独立的微服务应用;云硬盘服务做为一个独立的微服务应用。
所述微服务应用中内置的适配器Adapter负责请求拦截,并与授权鉴权中心交互,验证请求者是否拥有所请求资源的权限。
所述元数据管理中心负责管理维护整个***下,所有微服务应用的权限元数据信息,包括服务定义、资源类型定义、操作定义以及操作之间的依赖关系。
一般情况下,一个独立的微服务应用对应一个服务定义。
表1服务定义
Figure BDA0002250147590000041
表2资源类型定义
Figure BDA0002250147590000042
说明:一个服务下,可以定义多个资源类型。
表3操作定义系
Figure BDA0002250147590000043
说明:一个资源类型下,可以定义多个操作。
所述元数据管理中心保存有整个***所有操作之间的依赖关系,当用户有某个操作的操作权限时,则认为该用户同时具有该操作依赖的其他操作的操作权限。
表4操作之间的依赖关
Figure BDA0002250147590000051
说明:一个操作,可以同时依赖多个其他操作。
创建云主机依赖于创建网络,创建云主机还依赖于挂载云硬盘;当用户有创建云主机
所述授权鉴权中心负责为用户分配权限,以及验证用户是否拥有指定资源的操作权限。
基于该微服务架构下实现级联授权的***的实现方法,当微服务应用内置的适配器Adapter拦截到用户操作请求时,将请求者信息、请求的操作信息发送给授权鉴权中心进行权限验证;如果用户没有权限,则进一步去元数据管理中心查询依赖于当前操作的其他操作,然后进一步将请求者信息和依赖当前操作的其他操作信息发送给授权鉴权中心进行权限验证;如果有权限,则认为有权限,如果仍然没有权限,则进一步根据操作依赖关系进行权限验证,直至依赖关系结束。
基于该微服务架构下实现级联授权的***的实现方法,包括以下步骤:
第一步,用户向微服务应用发出用户操作请求,所述用户操作请求携带用户凭证;
第二步,适配器Adapter拦截并解析用户操作请求,获取用户凭证信息和请求的操作信息;
第三步,适配器Adapter将解析获取的用户凭证信息和请求的操作信息发送到授权鉴权中心,检查用户是否有所请求的操作的操作权限;
第四步,若用户有操作权限,授权鉴权中心则返回反馈信息,适配器Adapter收到反馈信息后将用户操作请求发送到微服务应用,微服务应用执行该用户请求的相应操作即可;
第五步,若用户没有操作权限,则去元数据管理中心查询依赖于当前请求的操作的其他操作,然后进一步将用户凭证信息和依赖当前操作的其他操作信息发送给授权鉴权中心进行权限验证;如果用户对依赖当前操作的其他操作有操作权限,则认为用户有当前请求的操作的操作权限,回到第四步;
如果仍然没有权限,则进一步根据操作依赖关系查找其他操作进行权限验证,直至遍历所有依赖关系;如果用户对具有依赖关系的其他操作有操作权限,则认为用户有当前请求的操作的操作权限,回到第四步;
若遍历所有依赖关系都没有操作权限,则认为用户没有当前请求的操作的操作权限,授权鉴权中心返回反馈信息,适配器Adapter收到反馈信息后将用户操作请求拦截,微服务应用不执行该用户请求的相应操作。
以上所述的实施例,只是本发明具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

Claims (3)

1.一种微服务架构下实现级联授权的***,其特征在于:***包括微服务应用,元数据管理中心和授权鉴权中心,各微服务应用均内置适配器Adapter;所述微服务应用通过内置的适配器Adapter连接到元数据管理中心和授权鉴权中心;
所述微服务应用中内置的适配器Adapter负责请求拦截,并与授权鉴权中心交互,验证请求者是否拥有所请求资源的权限;
所述元数据管理中心负责管理维护整个***下所有微服务应用的权限元数据信息,包括服务定义、资源类型定义、操作定义以及操作之间的依赖关系;
所述元数据管理中心保存有整个***所有操作之间的依赖关系,当用户有某个操作的操作权限时,则认为该用户同时具有该操作依赖的其他操作的操作权限;
所述授权鉴权中心负责为用户分配权限,以及验证用户是否拥有指定资源的操作权限;
当微服务应用内置的适配器Adapter拦截到用户操作请求时,将请求者信息、请求的操作信息发送给授权鉴权中心进行权限验证;如果用户没有权限,则进一步去元数据管理中心查询依赖于当前操作的其他操作,然后进一步将请求者信息和依赖当前操作的其他操作信息发送给授权鉴权中心进行权限验证;如果有权限,则认为有权限,如果仍然没有权限,则进一步根据操作依赖关系进行权限验证,直至依赖关系结束。
2.根据权利要求1所述的微服务架构下实现级联授权的***,其特征在于:创建云主机依赖于创建网络,创建云主机还依赖于挂载云硬盘;当用户有创建云主机的操作权限时,授权鉴权中心同时认为该用户具有创建网络和挂载云硬盘的操作权限。
3.根据权利要求1或2所述的微服务架构下实现级联授权的***的实现方法,其特征在于:包括以下步骤:
第一步,用户向微服务应用发出用户操作请求,所述用户操作请求携带用户凭证;
第二步,适配器Adapter拦截并解析用户操作请求,获取用户凭证信息和请求的操作信息;
第三步,适配器Adapter将解析获取的用户凭证信息和请求的操作信息发送到授权鉴权中心,检查用户是否有所请求的操作的操作权限;
第四步,若用户有操作权限,授权鉴权中心则返回反馈信息,适配器Adapter收到反馈信息后将用户操作请求发送到微服务应用,微服务应用执行该用户请求的相应操作即可;
第五步,若用户没有操作权限,则去元数据管理中心查询依赖于当前请求的操作的其他操作,然后进一步将用户凭证信息和依赖当前操作的其他操作信息发送给授权鉴权中心进行权限验证;如果用户对依赖当前操作的其他操作有操作权限,则认为用户有当前请求的操作的操作权限,回到第四步;
如果仍然没有权限,则进一步根据操作依赖关系查找其他操作进行权限验证,直至遍历所有依赖关系;如果用户对具有依赖关系的其他操作有操作权限,则认为用户有当前请求的操作的操作权限,回到第四步;
若遍历所有依赖关系都没有操作权限,则认为用户没有当前请求的操作的操作权限,授权鉴权中心返回反馈信息,适配器Adapter收到反馈信息后将用户操作请求拦截,微服务应用不执行该用户请求的相应操作。
CN201911031026.1A 2019-10-28 2019-10-28 一种微服务架构下实现级联授权的***及方法 Active CN110691099B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911031026.1A CN110691099B (zh) 2019-10-28 2019-10-28 一种微服务架构下实现级联授权的***及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911031026.1A CN110691099B (zh) 2019-10-28 2019-10-28 一种微服务架构下实现级联授权的***及方法

Publications (2)

Publication Number Publication Date
CN110691099A CN110691099A (zh) 2020-01-14
CN110691099B true CN110691099B (zh) 2021-12-10

Family

ID=69114254

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911031026.1A Active CN110691099B (zh) 2019-10-28 2019-10-28 一种微服务架构下实现级联授权的***及方法

Country Status (1)

Country Link
CN (1) CN110691099B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116155631B (zh) * 2023-04-21 2023-07-28 四川中电启明星信息技术有限公司 一种企业级的正反向级联认证方法及***

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105117657A (zh) * 2015-07-22 2015-12-02 南京邮电大学 一种基于智慧服务的开放式授权接入的设计方法和***
CN106534143A (zh) * 2016-11-28 2017-03-22 上海斐讯数据通信技术有限公司 一种跨应用认证授权的方法和***
CN108650262A (zh) * 2018-05-09 2018-10-12 聚龙股份有限公司 一种基于微服务架构的云平台扩展方法及***
CN109889571A (zh) * 2019-01-09 2019-06-14 深圳市雁联计算***有限公司 一种开发平台***及开发方法
CN110149364A (zh) * 2019-04-15 2019-08-20 厦门市美亚柏科信息股份有限公司 基于数据服务平台提供微服务的方法、装置、存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105117657A (zh) * 2015-07-22 2015-12-02 南京邮电大学 一种基于智慧服务的开放式授权接入的设计方法和***
CN106534143A (zh) * 2016-11-28 2017-03-22 上海斐讯数据通信技术有限公司 一种跨应用认证授权的方法和***
CN108650262A (zh) * 2018-05-09 2018-10-12 聚龙股份有限公司 一种基于微服务架构的云平台扩展方法及***
CN109889571A (zh) * 2019-01-09 2019-06-14 深圳市雁联计算***有限公司 一种开发平台***及开发方法
CN110149364A (zh) * 2019-04-15 2019-08-20 厦门市美亚柏科信息股份有限公司 基于数据服务平台提供微服务的方法、装置、存储介质

Also Published As

Publication number Publication date
CN110691099A (zh) 2020-01-14

Similar Documents

Publication Publication Date Title
WO2017143975A1 (zh) 一种访问控制方法及平台
CN106506521B (zh) 资源访问控制方法和装置
KR102308403B1 (ko) 검증 토큰을 사용하는 자원 액세스 제어
US9026595B2 (en) Intelligent connection manager
US11757636B2 (en) Access control for short-lived resource principals
US20200322324A1 (en) Authenticating API Service Invocations
US8578452B2 (en) Method for securely creating a new user identity within an existing cloud account in a cloud computing system
CN111259378B (zh) 多租户管理***和多租户管理***的实现方法
US11418343B2 (en) Access control for long-lived resource principals
CN105184144A (zh) 一种多***权限管理方法
CN111865943B (zh) 一种基于微服务的多层级租户鉴权方法及装置
WO2010127380A1 (en) Access control of distributed computing resources system and method
CN103369022A (zh) 与存储设备通信的方法和***
US11811679B2 (en) Stacked identities for resource principals
CN110138767B (zh) 事务请求的处理方法、装置、设备和存储介质
US11798001B2 (en) Progressively validating access tokens
CN106559389A (zh) 一种服务资源发布、调用方法、装置、***及云服务平台
CN105262780A (zh) 一种权限控制方法及***
CN111062028A (zh) 权限管理方法及装置、存储介质、电子设备
WO2010028583A1 (zh) 基于权限组件对工作流组件中的权限管理的方法及装置
CN105119886A (zh) 账号归属确定方法及装置
CN112019543A (zh) 一种基于brac模型的多租户权限***
CN110691099B (zh) 一种微服务架构下实现级联授权的***及方法
US20180097849A1 (en) Cognitive authentication with employee onboarding
CN104753902B (zh) 一种业务***验证方法及验证装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 250100 No. 1036 Tidal Road, Jinan High-tech Zone, Shandong Province, S01 Building, Tidal Science Park

Applicant after: Inspur cloud Information Technology Co., Ltd

Address before: 250100 No. 1036 Tidal Road, Jinan High-tech Zone, Shandong Province, S01 Building, Tidal Science Park

Applicant before: Tidal Cloud Information Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant