CN110691099A - 一种微服务架构下实现级联授权的系统及方法 - Google Patents
一种微服务架构下实现级联授权的系统及方法 Download PDFInfo
- Publication number
- CN110691099A CN110691099A CN201911031026.1A CN201911031026A CN110691099A CN 110691099 A CN110691099 A CN 110691099A CN 201911031026 A CN201911031026 A CN 201911031026A CN 110691099 A CN110691099 A CN 110691099A
- Authority
- CN
- China
- Prior art keywords
- user
- authority
- micro
- authorization
- service
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols 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服务定义
表2资源类型定义
说明:一个服务下,可以定义多个资源类型。
表3操作定义系
说明:一个资源类型下,可以定义多个操作。
所述元数据管理中心保存有整个系统所有操作之间的依赖关系,当用户有某个操作的操作权限时,则认为该用户同时具有该操作依赖的其他操作的操作权限。
表4操作之间的依赖关
说明:一个操作,可以同时依赖多个其他操作。
创建云主机依赖于创建网络,创建云主机还依赖于挂载云硬盘;当用户有创建云主机
所述授权鉴权中心负责为用户分配权限,以及验证用户是否拥有指定资源的操作权限。
基于该微服务架构下实现级联授权的系统的实现方法,当微服务应用内置的适配器Adapter拦截到用户操作请求时,将请求者信息、请求的操作信息发送给授权鉴权中心进行权限验证;如果用户没有权限,则进一步去元数据管理中心查询依赖于当前操作的其他操作,然后进一步将请求者信息和依赖当前操作的其他操作信息发送给授权鉴权中心进行权限验证;如果有权限,则认为有权限,如果仍然没有权限,则进一步根据操作依赖关系进行权限验证,直至依赖关系结束。
基于该微服务架构下实现级联授权的系统的实现方法,包括以下步骤:
第一步,用户向微服务应用发出用户操作请求,所述用户操作请求携带用户凭证;
第二步,适配器Adapter拦截并解析用户操作请求,获取用户凭证信息和请求的操作信息;
第三步,适配器Adapter将解析获取的用户凭证信息和请求的操作信息发送到授权鉴权中心,检查用户是否有所请求的操作的操作权限;
第四步,若用户有操作权限,授权鉴权中心则返回反馈信息,适配器Adapter收到反馈信息后将用户操作请求发送到微服务应用,微服务应用执行该用户请求的相应操作即可;
第五步,若用户没有操作权限,则去元数据管理中心查询依赖于当前请求的操作的其他操作,然后进一步将用户凭证信息和依赖当前操作的其他操作信息发送给授权鉴权中心进行权限验证;如果用户对依赖当前操作的其他操作有操作权限,则认为用户有当前请求的操作的操作权限,回到第四步;
如果仍然没有权限,则进一步根据操作依赖关系查找其他操作进行权限验证,直至遍历所有依赖关系;如果用户对具有依赖关系的其他操作有操作权限,则认为用户有当前请求的操作的操作权限,回到第四步;
若遍历所有依赖关系都没有操作权限,则认为用户没有当前请求的操作的操作权限,授权鉴权中心返回反馈信息,适配器Adapter收到反馈信息后将用户操作请求拦截,微服务应用不执行该用户请求的相应操作。
以上所述的实施例,只是本发明具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。
Claims (8)
1.一种微服务架构下实现级联授权的系统,其特征在于:包括微服务应用,元数据管理中心和授权鉴权中心,各微服务应用均内置适配器Adapter;所述微服务应用通过内置的适配器Adapter连接到元数据管理中心和授权鉴权中心。
2.根据权利要求1所述的微服务架构下实现级联授权的系统,其特征在于:所述微服务应用中内置的适配器Adapter负责请求拦截,并与授权鉴权中心交互,验证请求者是否拥有所请求资源的权限。
3.根据权利要求1所述的微服务架构下实现级联授权的系统,其特征在于:所述元数据管理中心负责管理维护整个系统下,所有微服务应用的权限元数据信息,包括服务定义、资源类型定义、操作定义以及操作之间的依赖关系。
4.根据权利要求3所述的微服务架构下实现级联授权的系统,其特征在于:所述元数据管理中心保存有整个系统所有操作之间的依赖关系,当用户有某个操作的操作权限时,则认为该用户同时具有该操作依赖的其他操作的操作权限。
5.根据权利要求4所述的微服务架构下实现级联授权的系统,其特征在于:创建云主机依赖于创建网络,创建云主机还依赖于挂载云硬盘;当用户有创建云主机的操作权限时,授权鉴权中心同时认为该用户具有创建网络和挂载云硬盘的操作权限。
6.根据权利要求1或2所述的微服务架构下实现级联授权的系统,其特征在于:所述授权鉴权中心负责为用户分配权限,以及验证用户是否拥有指定资源的操作权限。
7.一种根据权利要求1~6所述的微服务架构下实现级联授权的系统的实现方法,其特征在于:当微服务应用内置的适配器Adapter拦截到用户操作请求时,将请求者信息、请求的操作信息发送给授权鉴权中心进行权限验证;如果用户没有权限,则进一步去元数据管理中心查询依赖于当前操作的其他操作,然后进一步将请求者信息和依赖当前操作的其他操作信息发送给授权鉴权中心进行权限验证;如果有权限,则认为有权限,如果仍然没有权限,则进一步根据操作依赖关系进行权限验证,直至依赖关系结束。
8.根据权利要求7所述的微服务架构下实现级联授权的系统的实现方法,其特征在于,包括以下步骤:
第一步,用户向微服务应用发出用户操作请求,所述用户操作请求携带用户凭证;
第二步,适配器Adapter拦截并解析用户操作请求,获取用户凭证信息和请求的操作信息;
第三步,适配器Adapter将解析获取的用户凭证信息和请求的操作信息发送到授权鉴权中心,检查用户是否有所请求的操作的操作权限;
第四步,若用户有操作权限,授权鉴权中心则返回反馈信息,适配器Adapter收到反馈信息后将用户操作请求发送到微服务应用,微服务应用执行该用户请求的相应操作即可;
第五步,若用户没有操作权限,则去元数据管理中心查询依赖于当前请求的操作的其他操作,然后进一步将用户凭证信息和依赖当前操作的其他操作信息发送给授权鉴权中心进行权限验证;如果用户对依赖当前操作的其他操作有操作权限,则认为用户有当前请求的操作的操作权限,回到第四步;
如果仍然没有权限,则进一步根据操作依赖关系查找其他操作进行权限验证,直至遍历所有依赖关系;如果用户对具有依赖关系的其他操作有操作权限,则认为用户有当前请求的操作的操作权限,回到第四步;
若遍历所有依赖关系都没有操作权限,则认为用户没有当前请求的操作的操作权限,授权鉴权中心返回反馈信息,适配器Adapter收到反馈信息后将用户操作请求拦截,微服务应用不执行该用户请求的相应操作。
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 true CN110691099A (zh) | 2020-01-14 |
CN110691099B 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116155631A (zh) * | 2023-04-21 | 2023-05-23 | 四川中电启明星信息技术有限公司 | 一种企业级的正反向级联认证方法及系统 |
Citations (5)
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 | 厦门市美亚柏科信息股份有限公司 | 基于数据服务平台提供微服务的方法、装置、存储介质 |
-
2019
- 2019-10-28 CN CN201911031026.1A patent/CN110691099B/zh active Active
Patent Citations (5)
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 | 厦门市美亚柏科信息股份有限公司 | 基于数据服务平台提供微服务的方法、装置、存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116155631A (zh) * | 2023-04-21 | 2023-05-23 | 四川中电启明星信息技术有限公司 | 一种企业级的正反向级联认证方法及系统 |
CN116155631B (zh) * | 2023-04-21 | 2023-07-28 | 四川中电启明星信息技术有限公司 | 一种企业级的正反向级联认证方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110691099B (zh) | 2021-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2017143975A1 (zh) | 一种访问控制方法及平台 | |
CN106506521B (zh) | 资源访问控制方法和装置 | |
KR102308403B1 (ko) | 검증 토큰을 사용하는 자원 액세스 제어 | |
US9026595B2 (en) | Intelligent connection manager | |
US20210409218A1 (en) | Access control for short-lived resource principals | |
CN111259378B (zh) | 多租户管理系统和多租户管理系统的实现方法 | |
US20200322324A1 (en) | Authenticating API Service Invocations | |
WO2015067163A1 (en) | Method, server and system for controling authority | |
US11418343B2 (en) | Access control for long-lived resource principals | |
EP2427849A1 (en) | Access control of distributed computing resources system and method | |
CN111865943B (zh) | 一种基于微服务的多层级租户鉴权方法及装置 | |
CN105184144A (zh) | 一种多系统权限管理方法 | |
CN103369022A (zh) | 与存储设备通信的方法和系统 | |
CN111062028A (zh) | 权限管理方法及装置、存储介质、电子设备 | |
CN110138767B (zh) | 事务请求的处理方法、装置、设备和存储介质 | |
WO2010028583A1 (zh) | 基于权限组件对工作流组件中的权限管理的方法及装置 | |
CN106559389A (zh) | 一种服务资源发布、调用方法、装置、系统及云服务平台 | |
US20230092902A1 (en) | Progressively validating access tokens | |
CN105262780A (zh) | 一种权限控制方法及系统 | |
CN112019543A (zh) | 一种基于brac模型的多租户权限系统 | |
CN105119886A (zh) | 账号归属确定方法及装置 | |
CN110691099B (zh) | 一种微服务架构下实现级联授权的系统及方法 | |
US20180097849A1 (en) | Cognitive authentication with employee onboarding | |
KR20070076342A (ko) | 그리드 환경에서 사용자 그룹 역할/권한 관리 시스템 및접근 제어 방법 | |
US11418515B2 (en) | Multi-vendor support for network access control policies |
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 |
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. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |