CN110365700A - 一种基于服务的访问控制方法 - Google Patents
一种基于服务的访问控制方法 Download PDFInfo
- Publication number
- CN110365700A CN110365700A CN201910693409.9A CN201910693409A CN110365700A CN 110365700 A CN110365700 A CN 110365700A CN 201910693409 A CN201910693409 A CN 201910693409A CN 110365700 A CN110365700 A CN 110365700A
- Authority
- CN
- China
- Prior art keywords
- service
- access control
- consumer
- kong
- plug
- 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.)
- Pending
Links
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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
一种基于服务的访问控制方法,它涉及API网关的模块插件技术领域,具体涉及一种基于服务的访问控制方法。它包含配置步骤、运行步骤和实现方式三大模块;配置步骤:第一步:修改Kong.conf配置文件;第二步:部署访问控制(para‑acl)插件源码至Kong的运行环境plugins目录下;第三步:启动数据库,执行插件数据库初始化命令;采用上述技术方案后,本发明有益效果为:它具有服务方与组的概念,把消费方组与访问后端服务的权限进行关联处理,后端的服务或API的安全得到了保障,不可以被任意授权或未授权的消费方访问,符合企业现实的需求。
Description
技术领域
本发明涉及API网关的模块插件技术领域,具体涉及一种基于服务的访问控制方法。
背景技术
现有API网关(Kong)插件没有服务方与组的概念,也没有把消费方组与访问后端服务的权限进行关联处理,造成后端的服务或API的安全无法得到保障,可以被任意授权或未授权的消费方访问,不符合企业现实的需求。
发明内容
本发明的目的在于针对现有技术的缺陷和不足,提供一种基于服务的访问控制方法,它具有服务方与组的概念,把消费方组与访问后端服务的权限进行关联处理,消费方凭据与用户唯一标识关联,通过服务方组与消费方组的处理来获取交集组,以此权限来获得访问控制,后端的服务或API的安全得到了保障,不可以被任意授权或未授权的消费方访问,符合企业现实的需求,通过该方法可以统一管理对外提供的服务资源,增加统一的安全控制,有效降低企业运维成本。
为实现上述目的,本发明采用以下技术方案是:它包含配置步骤、运行步骤和实现方式三大模块;
a、配置步骤
第一步:修改Kong.conf配置文件;
第二步:部署访问控制(para-acl)插件源码至Kong的运行环境plugins目录下;
第三步:启动数据库,执行插件数据库初始化命令;
b、运行步骤
第一步:启动Kong,定义服务方,在服务上定义路由,增加组关联;
第二步:定义消费方,添加组关联,在消费方上定义认证方式,关联用户唯一标识;
第三步:在消费方上或在全局添加配置访问控制插件;
第四步:通过URL请求访问在第一步定义的路由路径,会触发认证,认证通过后,后续访问服务携带AccessToken,系统会从认证系统获取用户唯一标识,从而获得消费方凭据;
第五步:访问控制模块根据消费方所属的组与服务方所属的组进行交集处理并获得结果,根据是否存在交集组来实现访问控制处理;
c、实现方式
1)Lua脚本语言编写
利用Lua脚本语言编写插件,使插件模块能够被解析和调用;
2)Kong开源工具构建环境
利用Kong开源工具构建运行环境,可以直接调用插件模块,实现功能模块能动态被解析与运行。
所述的配置步骤第一步修改Kong.conf配置文件后,需要增加要装载的访问控制模块名称。
本发明的工作原理:增加了服务方与组的关联,消费方凭据与用户唯一标识关联,通过服务方组与消费方组的处理来获取交集组,以此权限来获得访问控制,通常的服务访问控制都基于应用本身,如果其他应用也存在类似需求就无法重用,随着微服务架构的出现,对外提供服务的API和URL会越来越多,而基于Kong的API网关的服务访问控制还未被实际应用实现,通过该方法可以统一管理对外提供的服务资源,增加统一的安全控制,有效降低企业运维成本。
采用上述技术方案后,本发明有益效果为:它具有服务方与组的概念,把消费方组与访问后端服务的权限进行关联处理,后端的服务或API的安全得到了保障,不可以被任意授权或未授权的消费方访问,符合企业现实的需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的配置示意框;
图2是本发明的运行示意框;
具体实施方式
参看图1-图2所示,本具体实施方式采用的技术方案是它包含配置步骤、运行步骤和实现方式三大模块;
a、配置步骤
第一步:修改Kong.conf配置文件;
第二步:部署访问控制(para-acl)插件源码至Kong的运行环境plugins目录下;
第三步:启动数据库,执行插件数据库初始化命令;
b、运行步骤
第一步:启动Kong,定义服务方,在服务上定义路由,增加组关联;
第二步:定义消费方,添加组关联,在消费方上定义认证方式,关联用户唯一标识;
第三步:在消费方上或在全局添加配置访问控制插件;
第四步:通过URL请求访问在第一步定义的路由路径,会触发认证,认证通过后,后续访问服务携带AccessToken,系统会从认证系统获取用户唯一标识,从而获得消费方凭据;
第五步:访问控制模块根据消费方所属的组与服务方所属的组进行交集处理并获得结果,根据是否存在交集组来实现访问控制处理;
c、实现方式
1)Lua脚本语言编写
利用Lua脚本语言编写插件,使插件模块能够被解析和调用;
2)Kong开源工具构建环境
利用Kong开源工具构建运行环境,可以直接调用插件模块,实现功能模块能动态被解析与运行。
Nginx:一种基于C语言编写的开源网关,可用于网络的负载均衡和访问过滤,可以自定义配置插件,需要重新编译并启动加载后,插件才能起作用。
Lua:一种脚本语言,比C语言更加灵活,需要依赖于其他程序才能运行,与C语言有很好的交互性
OpenResty:能解析Lua脚本语言,并提供Lua语言基础库,是Lua语言与C语言转换的桥梁,提供相应C语言编写的插件,供Nginx调用。
Kong:是基于Nginx和OpenResty技术的开源API网关,支持Lua脚本语言作为插件扩展,可以自定义配置插件功能,不需要重新编译即可启动加载,实现了插件接口底耦合处理。
AccessToken:访问服务需要携带的令牌,统一由认证系统颁发,具有时效性和唯一性,通过与认证系统的验证交互可获得用户的唯一标识。
消费方凭据:是指请求访问认证通过的前提下能获取用户的唯一标识,该唯一标识与认证方式相关,运行前需要与消费方进行关联配置。
消费方与组:消费方与组的结合是为了解决访问控制问题,当请求认证通过后,流程会请求服务方资源,根据策略配置会检查凭据所属的消费方,从而获得消费方关联的组与服务方控制组的权限过滤。
服务方与组:为提高服务方被访问的安全性,根据业务的需求可以通过配置实现服务方与组进行关联,默认未被组管理的服务方允许被任何请求访问。
交集组:这里的交集组实际是服务方与消费方所关联的公共组,只有公共组的存在方可说明该请求访问是可信任的。
消费方:是一种不同认证方式的集合,只有与服务认证方式关联才有实际意义,与服务认证方式关联后可映射多个身份凭据,提供认证后唯一凭据的传递。当业务需要匿名访问时可提供默认凭据,通过配置可以实现。
服务方:服务方指定是被请求访问的资源,可以是API或URL,如果没有访问控制,整个服务方的安全性会很差,容易被攻击。
本发明的工作原理:增加了服务方与组的关联,消费方凭据与用户唯一标识关联,通过服务方组与消费方组的处理来获取交集组,以此权限来获得访问控制,通常的服务访问控制都基于应用本身,如果其他应用也存在类似需求就无法重用,随着微服务架构的出现,对外提供服务的API和URL会越来越多,而基于Kong的API网关的服务访问控制还未被实际应用实现,通过该方法可以统一管理对外提供的服务资源,增加统一的安全控制,有效降低企业运维成本。
采用上述技术方案后,本发明有益效果为:它具有服务方与组的概念,把消费方组与访问后端服务的权限进行关联处理,后端的服务或API的安全得到了保障,不可以被任意授权或未授权的消费方访问,符合企业现实的需求。
以上所述,仅用以说明本发明的技术方案而非限制,本领域普通技术人员对本发明的技术方案所做的其它修改或者等同替换,只要不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。
Claims (2)
1.一种基于服务的访问控制方法,其特征在于:它包含配置步骤、运行步骤和实现方式三大模块;
a、配置步骤
第一步:修改Kong.conf配置文件;
第二步:部署访问控制(para-acl)插件源码至Kong的运行环境plugins目录下;
第三步:启动数据库,执行插件数据库初始化命令;
b、运行步骤
第一步:启动Kong,定义服务方,在服务上定义路由,增加组关联;
第二步:定义消费方,添加组关联,在消费方上定义认证方式,关联用户唯一标识;
第三步:在消费方上或在全局添加配置访问控制插件;
第四步:通过URL请求访问在第一步定义的路由路径,会触发认证,认证通过后,后续访问服务携带AccessToken,系统会从认证系统获取用户唯一标识,从而获得消费方凭据;
第五步:访问控制模块根据消费方所属的组与服务方所属的组进行交集处理并获得结果,根据是否存在交集组来实现访问控制处理;
c、实现方式
1)Lua脚本语言编写
利用Lua脚本语言编写插件,使插件模块能够被解析和调用;
2)Kong开源工具构建环境
利用Kong开源工具构建运行环境,可以直接调用插件模块,实现功能模块能动态被解析与运行。
2.根据权利要求1所述的一种基于服务的访问控制方法,其特征在于:所述的配置步骤第一步修改Kong.conf配置文件后,需要增加要装载的访问控制模块名称。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910693409.9A CN110365700A (zh) | 2019-07-30 | 2019-07-30 | 一种基于服务的访问控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910693409.9A CN110365700A (zh) | 2019-07-30 | 2019-07-30 | 一种基于服务的访问控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110365700A true CN110365700A (zh) | 2019-10-22 |
Family
ID=68222652
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910693409.9A Pending CN110365700A (zh) | 2019-07-30 | 2019-07-30 | 一种基于服务的访问控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110365700A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111984622A (zh) * | 2020-07-31 | 2020-11-24 | 上海派拉软件股份有限公司 | Pap的配置及运行方法、装置、电子设备和存储介质 |
CN115225641A (zh) * | 2022-07-08 | 2022-10-21 | 浪潮云信息技术股份公司 | 一种Kong适配Nacos的客户端负载均衡方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106105100A (zh) * | 2014-03-18 | 2016-11-09 | Twc专利信托公司 | 低延时、高负载、高容量api网关 |
US9716634B2 (en) * | 2013-03-15 | 2017-07-25 | International Business Machines Corporation | Fulfillment of cloud service orders |
CN107528853A (zh) * | 2017-09-12 | 2017-12-29 | 上海艾融软件股份有限公司 | 微服务权限控制的实现方法 |
CN109194760A (zh) * | 2018-09-14 | 2019-01-11 | 深圳市佰仟金融服务有限公司 | 业务处理方法、网络系统及服务器 |
CN109726025A (zh) * | 2018-12-29 | 2019-05-07 | 北京神舟航天软件技术有限公司 | 一种基于api网关的api接口访问方法 |
-
2019
- 2019-07-30 CN CN201910693409.9A patent/CN110365700A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9716634B2 (en) * | 2013-03-15 | 2017-07-25 | International Business Machines Corporation | Fulfillment of cloud service orders |
CN106105100A (zh) * | 2014-03-18 | 2016-11-09 | Twc专利信托公司 | 低延时、高负载、高容量api网关 |
CN107528853A (zh) * | 2017-09-12 | 2017-12-29 | 上海艾融软件股份有限公司 | 微服务权限控制的实现方法 |
CN109194760A (zh) * | 2018-09-14 | 2019-01-11 | 深圳市佰仟金融服务有限公司 | 业务处理方法、网络系统及服务器 |
CN109726025A (zh) * | 2018-12-29 | 2019-05-07 | 北京神舟航天软件技术有限公司 | 一种基于api网关的api接口访问方法 |
Non-Patent Citations (1)
Title |
---|
PUSHIQIANG: "基于kong + oauth2 + acl的用户接入权限管理", 《资源来自"HTTPS://BLOG.CSDN.NET/PUSHIQIANG/ARTICLE/DETAILS/95726741"》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111984622A (zh) * | 2020-07-31 | 2020-11-24 | 上海派拉软件股份有限公司 | Pap的配置及运行方法、装置、电子设备和存储介质 |
CN111984622B (zh) * | 2020-07-31 | 2023-10-31 | 上海派拉软件股份有限公司 | Pap的配置及运行方法、装置、电子设备和存储介质 |
CN115225641A (zh) * | 2022-07-08 | 2022-10-21 | 浪潮云信息技术股份公司 | 一种Kong适配Nacos的客户端负载均衡方法及系统 |
CN115225641B (zh) * | 2022-07-08 | 2024-04-16 | 浪潮云信息技术股份公司 | 一种Kong适配Nacos的客户端负载均衡方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10142326B2 (en) | Attribute-based access control | |
US9560080B2 (en) | Extending organizational boundaries throughout a cloud architecture | |
US9401918B2 (en) | User to user delegation service in a federated identity management environment | |
CN101785276B (zh) | 用于执行资源委托的方法和系统 | |
Leandro et al. | Multi-tenancy authorization system with federated identity for cloud-based environments using shibboleth | |
CN101166173B (zh) | 一种单点登录系统、装置及方法 | |
US8522333B2 (en) | Client/server system for communicating according to the standard protocol OPC UA and having single sign-on mechanisms for authenticating, and method for performing single sign-on in such a system | |
US20120066487A1 (en) | System and method for providing load balancer visibility in an intelligent workload management system | |
CN106911627B (zh) | 一种基于eID的真实身份安全控制方法及其系统 | |
US20120246695A1 (en) | Access control of distributed computing resources system and method | |
CN107277023B (zh) | 一种基于Web的移动瘦终端访问控制方法、系统及瘦终端 | |
CN103209200B (zh) | 云服务交换系统及服务查询和交换方法 | |
Guija et al. | Identity and access control for micro-services based 5G NFV platforms | |
CN110365700A (zh) | 一种基于服务的访问控制方法 | |
US12021843B2 (en) | Policy based personally identifiable information leakage prevention in cloud native environments | |
RU2415466C1 (ru) | Способ управления идентификацией пользователей информационных ресурсов неоднородной вычислительной сети | |
CN113472820A (zh) | 一种基于零信任模型的云资源安全隔离控制方法及系统 | |
Nakandala et al. | Apache Airavata security manager: Authentication and authorization implementations for a multi-tenant escience framework | |
KR20070076342A (ko) | 그리드 환경에서 사용자 그룹 역할/권한 관리 시스템 및접근 제어 방법 | |
CN110417779A (zh) | 一种基于服务的认证接入方法 | |
CN116684150A (zh) | 安全适配与服务的网关系统 | |
KR100673329B1 (ko) | 그리드 환경에서 인증서를 이용한 사용자 역할/권한 설정 시스템 및 그 방법 | |
CN109309686A (zh) | 一种多租户管理方法及装置 | |
KR101535746B1 (ko) | 보안 감시 네트워크의 접근 제어 시스템 및 방법 | |
CN110414213A (zh) | 一种基于keycloak的对运维管理系统中权限管理的方法及装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191022 |