CN110557406A - 一种基于Keycloak角色权限控制系统的方法 - Google Patents
一种基于Keycloak角色权限控制系统的方法 Download PDFInfo
- Publication number
- CN110557406A CN110557406A CN201910950344.1A CN201910950344A CN110557406A CN 110557406 A CN110557406 A CN 110557406A CN 201910950344 A CN201910950344 A CN 201910950344A CN 110557406 A CN110557406 A CN 110557406A
- Authority
- CN
- China
- Prior art keywords
- role
- resource
- user
- roles
- policy
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0815—Network architectures or network communication protocols for network security for authentication of entities providing single-sign-on or federations
-
- 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
- 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
- H04L63/104—Grouping of entities
-
- 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/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于Keycloak角色权限控制系统的方法,属于大数据安全访问控制技术领域,该方法通过大数据平台提供用户身份统一认证和资源访问控制功能,大数据平台的各个应用开启Authorization功能,并设置对应的Credentials对应的Secret值,大数据平台使用Keycloak对应用系统进行统一配置管理,为用户提供可视化、全生命周期的角色权限控制。本发明将多个Web平台实现单点登录并将多个Web应用的菜单通过角色进行访问控制,通过Keycloak Role实现用户对多个平台的权限访问控制。
Description
技术领域
本发明涉及大数据安全访问控制技术领域,具体地说是一种基于Keycloak角色权限控制系统的方法。
背景技术
权限控制广泛应用于各个系统,抽象地说,某个主体(subject)对某个客体(object)需要实施某种操作(operation),系统对这种操作的限制就是权限控制。在Web应用中,根据访问客体的不同,常见的访问控制可分为基于URL的访问控制、基于方法的访问控制和基于数据的访问控制。访问控制实际上是建立用户与权限的对应关系,现在应用广泛的一种方法是基于角色的访问控制(RBAC:Role-Based Access Control),可称之为垂直权限管理。
目前随着业务系统的复杂性,根据微服务框架的思想,需对系统按照业务逻辑进行拆分,对Web应用进行模块化。用户对多个Web应用的单点登录和访问控制提出了更加灵活性、更高的要求。
发明内容
本发明的技术任务是针对以上不足之处,提供一种基于Keycloak角色权限控制系统的方法,将多个Web平台实现统一用户单点登录并将多个Web应用菜单通过角色进行访问控制,通过Keycloak Role实现用户对多个平台的权限访问控制。
本发明解决其技术问题所采用的技术方案是:
一种基于Keycloak角色权限控制系统的方法,该方法通过大数据平台提供用户身份统一认证和资源访问控制功能,大数据平台的各个应用开启Authorization功能,并设置对应的Credentials对应的Secret值,大数据平台使用Keycloak对应用系统进行统一配置管理,为用户提供可视化、全生命周期的角色权限控制。
Keycloak为现代应用和服务提供了开源解决方案,可处理用户认证,实现一次登录,多处登录不同应用,一处登出,所有应用登出;Keycloak可实现对不同身份认证服务的集成;Keycloak提供了对LDAP/AD的集成,可方便同步用户;Keycloak提供了不同平台多种语言的支持及提供了后台管理界面。
目前各行业的用户数据非常多、平台管理员进行用户管理、租户管理、资源管理等任务繁多、为此我们提供了多级组织管理员角色进行分级管理。本方法采用多集群统一用户、采用角色管理功能实现用户对平台菜单访问控制和单点登录机制。通过Keycloak Role实现用户对多个平台的权限访问控制。
具体的,将应用系统接入到Keycloak中,对应用系统的菜单进行配置管理,包括资源配置和角色配置;
资源配置包括Resource、Policy和Permission,
Resource是每个应用的资源,即被保护的对象,
Policy定义在Resource或Scopes上访问或执行操作所必需满足的条件(Scopes通常但不局限于代表在Resource上执行的操作,如增、删、改、查等),
Permission用于将Resource或Scopes与Policy关联,以确定是否授予权限;
多个web应用系统根据业务需求可配置多个不同的角色,每个角色控制不同的访问资源,多个角色控制的资源可以相同或有差异。
该方法实现将多个Web平台实现单点登录且将多个Web应用的菜单通过角色进行访问控制。
优选的,所述Resource可以是一个web页面或一个RESTful API。
Permission和Resource一一对应,Permission创建时需要设置Policy,一个应用可以有多个Policies。
优选的,在Keycloak配置的每个web应用有多个受保护的资源,对保护的资源在Keycloak Authorization的资源Resource进行定义,包括配置资源ID、资源对应的地址(例如菜单对应的URL)。
优选的,Policy定义在Resource或Scopes上访问或执行操作所必需满足的条件,与保护对象是松耦合的可被复用。
优选的,所述Policy包括Role Policy和Rules Policy等多种类型以支持不同的访问控制机制。
具体的,角色配置包括角色创建、用户角色关联和用户资源访问,
Keycloak控制台可创建多个角色,角色创建时需设置角色名称;进行用户角色关联;用户登录不同的Web应用系统,首先进行用户身份的认证并根据用户拥有的角色,对该角色中有权限的菜单进行渲染。
通过资源配置和上述的角色配置即可完成用户对多个应用系统的身份认证的单点登录的功能,并对多个应用系统进行权限访问控制。
优选的,在Policy创建时,关联已存在的角色。
优选的,所述用户角色关联,对用户设置零个或多个角色,角色关联一个或多个Policies。
优选的,所述角色为所有门户角色,这样用户就非常灵活方便设置不同角色信息。
利用Keycloak Authorization定义资源Resource、Permission和Policy策略。通过策略Policy关联角色Role信息,用户关联一个或多个角色信息,实现用户对不同系统资源的访问控制。
本发明的一种基于Keycloak角色权限控制系统的方法与现有技术相比,具有以下有益效果:
该方法基于角色的访问控制(RBAC:Role-Based Access Control),通过配置多个应用系统的资源Resource、Permission、Policy,通过角色关联Policy即可实现角色对资源的对应关系。该方法提供了可视化的控制台工具,降低了用户访问多个应用系统不同资源的权限控制的技术门槛,提供了可视化、一站式的用户角色资源访问控制功能,方便了用户对不同应用下多个资源的安全访问控制。
附图说明
图1是本发明基于Keycloak角色权限控制系统的方法原理图。
具体实施方式
一种基于Keycloak角色权限控制系统的方法,该方法通过大数据平台提供用户身份统一认证和资源访问控制功能,大数据平台的各个应用开启Authorization功能,并设置对应的Credentials对应的Secret值(本实施例统一设置所有client对应的Secret值),大数据平台使用Keycloak为用户提供可视化、全生命周期的角色权限控制。通过大数据平台提供可视化的用户角色的设置,可实现用户访问多个应用资源的灵活控制。
参考图1所示,展示了大数据平台多个应用系统门户实现应用级别角色添加及角色对应权限资源的设置,以及用户与角色的关联设置。
通过Keycloak自定义扩展角色功能,应用可设置一个或多个角色,可提供应用对角色细粒度化关联功能。
通过Keycloak Authorization设置每个应用的Resources、Permissions、Policies的功能。将应用系统接入到Keycloak中,对应用系统的菜单进行配置管理,包括资源配置和角色配置;
资源配置包括Resource、Policy和Permission。
Resource是每个应用的资源,即被保护的对象,可以是一个web页面或一个RESTful API。
在Keycloak配置的每个web应用有多个受保护的资源,对保护的资源在KeycloakAuthorization的资源Resource进行定义,包括配置资源ID、资源对应的地址(例如菜单对应的URL)。
Policy定义在Resource或Scopes上访问或执行操作所必需满足的条件(Scopes通常但不局限于代表在Resource上执行的操作,如增、删、改、查等),并且与保护对象是松耦合的可被复用。所述Policy包括Role Policy和Rules Policy等多种类型以支持不同的访问控制机制。
Permission用于将Resource或Scopes与Policy关联,以确定是否授予权限;
Permission和Resource一一对应,Permission创建时需要设置Policy,一个应用可以有多个Policies。
多个web应用系统根据业务需求可配置多个不同的角色,每个角色控制不同的访问资源,多个角色控制的资源可以相同或有差异。
角色配置包括角色创建、用户角色关联和用户资源访问。
角色创建,
Keycloak控制台可创建多个角色,角色创建时需设置角色名称;角色目前与client端无关。在上述Policy创建时需关联已存在的角色。
用户角色关联,
对用户设置零个或多个角色,角色关联一个或多个Policies,实现了用户角色权限的灵活控制。此处的角色可以是所有门户角色,这样用户就非常灵活方便设置不同角色信息。
用户资源访问,
用户登录不同的Web应用系统,首先进行用户身份的认证并根据用户拥有的角色,对该角色中有权限的菜单进行渲染。
通过以上资源配置和角色配置完成用户对多个应用系统的身份认证的单点登录的功能,并对多个应用系统进行权限访问控制。
该方法采用Keycloak作为用户认证与多个Web应用访问控制,用户灵活控制多个应用系统的不同菜单,通过角色实现对多个Web应用系统的访问控制,实现了将多个Web平台实现单点登录且将多个Web应用的菜单通过角色进行访问控制。
本方法提供了可视化的用户角色权限功能,实现一站式灵活性用户角色权限设置,通过单点登录功能实现对大数据平台的多个应用模块的资源的访问控制,基于Keycloak技术为用户提供可视化的Web图形界面,提供了开箱即用的认证、授权、单点登录和用户管理等功能,更容易地对应用和服务进行安全保护。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
除说明书所述的技术特征外,均为本专业技术人员的已知技术。
Claims (10)
1.一种基于Keycloak角色权限控制系统的方法,其特征在于该方法通过大数据平台提供用户身份统一认证和资源访问控制功能,大数据平台的各个应用开启Authorization功能,并设置对应的Credentials对应的Secret值,大数据平台使用Keycloak对应用系统进行配置管理,为用户提供可视化、全生命周期的角色权限控制。
2.根据权利要求1所述的一种基于Keycloak角色权限控制系统的方法,其特征在于将应用系统接入到Keycloak中,对应用系统的菜单进行配置管理,包括资源配置和角色配置;
资源配置包括Resource、Policy和Permission,
Resource是每个应用的资源,即被保护的对象,
Policy定义在Resource或Scopes上访问或执行操作所必需满足的条件,
Permission用于将Resource或Scopes与Policy关联,以确定是否授予权限;
多个web应用系统根据业务需求配置多个不同的角色,每个角色控制不同的访问资源。
3.根据权利要求2所述的一种基于Keycloak角色权限控制系统的方法,其特征在于所述Resource为一个web页面或一个RESTful API。
4.根据权利要求2或3所述的一种基于Keycloak角色权限控制系统的方法,其特征在于在Keycloak配置的每个web应用有多个受保护的资源,对保护的资源在KeycloakAuthorization的资源Resource进行定义,包括配置资源ID、资源对应的地址。
5.根据权利要求2或3所述的一种基于Keycloak角色权限控制系统的方法,其特征在于Policy定义在Resource或Scopes上访问或执行操作所必需满足的条件,与保护对象是松耦合的可被复用。
6.根据权利要求5所述的一种基于Keycloak角色权限控制系统的方法,其特征在于所述Policy包括Role Policy和Rules Policy。
7.根据权利要求2所述的一种基于Keycloak角色权限控制系统的方法,其特征在于角色配置包括角色创建、用户角色关联和用户资源访问,
Keycloak控制台可创建多个角色,角色创建时设置角色名称;进行用户角色关联;用户登录不同的Web应用系统,首先进行用户身份的认证并根据用户拥有的角色,对该角色中有权限的菜单进行渲染。
8.根据权利要求7所述的一种基于Keycloak角色权限控制系统的方法,其特征在于在Policy创建时,关联已存在的角色。
9.根据权利要求7或8所述的一种基于Keycloak角色权限控制系统的方法,其特征在于所述用户角色关联,对用户设置零个或多个角色,角色关联一个或多个Policies。
10.根据权利要求9所述的一种基于Keycloak角色权限控制系统的方法,其特征在于所述角色为所有门户角色。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910950344.1A CN110557406A (zh) | 2019-10-08 | 2019-10-08 | 一种基于Keycloak角色权限控制系统的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910950344.1A CN110557406A (zh) | 2019-10-08 | 2019-10-08 | 一种基于Keycloak角色权限控制系统的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110557406A true CN110557406A (zh) | 2019-12-10 |
Family
ID=68742287
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910950344.1A Pending CN110557406A (zh) | 2019-10-08 | 2019-10-08 | 一种基于Keycloak角色权限控制系统的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110557406A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111800440A (zh) * | 2020-09-08 | 2020-10-20 | 平安国际智慧城市科技股份有限公司 | 多策略访问控制登录方法、装置、计算机设备及存储介质 |
CN112039873A (zh) * | 2020-08-28 | 2020-12-04 | 浪潮云信息技术股份公司 | 一种单点登录访问业务系统的方法 |
CN113239344A (zh) * | 2021-05-12 | 2021-08-10 | 建信金融科技有限责任公司 | 一种访问权限控制方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070186106A1 (en) * | 2006-01-26 | 2007-08-09 | Ting David M | Systems and methods for multi-factor authentication |
CN103701801A (zh) * | 2013-12-26 | 2014-04-02 | 四川九洲电器集团有限责任公司 | 一种资源访问控制方法 |
CN105429999A (zh) * | 2015-12-17 | 2016-03-23 | 北京荣之联科技股份有限公司 | 基于云平台的统一身份认证系统 |
CN110198318A (zh) * | 2019-06-03 | 2019-09-03 | 浪潮云信息技术有限公司 | 一种容器服务用户认证方法 |
-
2019
- 2019-10-08 CN CN201910950344.1A patent/CN110557406A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070186106A1 (en) * | 2006-01-26 | 2007-08-09 | Ting David M | Systems and methods for multi-factor authentication |
CN103701801A (zh) * | 2013-12-26 | 2014-04-02 | 四川九洲电器集团有限责任公司 | 一种资源访问控制方法 |
CN105429999A (zh) * | 2015-12-17 | 2016-03-23 | 北京荣之联科技股份有限公司 | 基于云平台的统一身份认证系统 |
CN110198318A (zh) * | 2019-06-03 | 2019-09-03 | 浪潮云信息技术有限公司 | 一种容器服务用户认证方法 |
Non-Patent Citations (4)
Title |
---|
KEYCLOAK: "auth-services-architecture"", 《HTTPS://GITHUB.COM/KEYCLOAK/KEYCLOAK-DOCUMENTATION/BLOB/3.4/AUTHORIZATION_SERVICES/TOPICS/AUTH-SERVICES-ARCHITECTURE.ADOC》 * |
LIU YANG: "keycloak单点登录平台", 《LY798.GITHUB.IO/2018/12/03KEYCLOAK单点登录平台》 * |
NETWORK: "Authorization Services Guide", 《HTTPS://WEB.ARCHIVE.ORG/WEB/20180405170419/HTTP://WWW.KEYCLOAK.ORG/DOCS/LATEST/AUTHORIZATION_SERVICES/INDEX.HTML》 * |
WEIXIN_34407348: "Keycloaks授权服务指南", 《HTTPS://BLOG.CSDN.NET/WEIXIN_34407348/ARTICLE/DETAILS/91815697》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112039873A (zh) * | 2020-08-28 | 2020-12-04 | 浪潮云信息技术股份公司 | 一种单点登录访问业务系统的方法 |
CN111800440A (zh) * | 2020-09-08 | 2020-10-20 | 平安国际智慧城市科技股份有限公司 | 多策略访问控制登录方法、装置、计算机设备及存储介质 |
CN113239344A (zh) * | 2021-05-12 | 2021-08-10 | 建信金融科技有限责任公司 | 一种访问权限控制方法和装置 |
CN113239344B (zh) * | 2021-05-12 | 2023-05-05 | 中国建设银行股份有限公司 | 一种访问权限控制方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220198047A1 (en) | Process Control Software Security Architecture Based On Least Privileges | |
US20210314312A1 (en) | System and method for transferring device identifying information | |
EP2620893B1 (en) | Role-based access control permissions | |
US8839354B2 (en) | Mobile enterprise server and client device interaction | |
CN110557406A (zh) | 一种基于Keycloak角色权限控制系统的方法 | |
US20160057150A1 (en) | Event analytics for determining role-based access | |
CN113711563A (zh) | 基于细粒度令牌的访问控制 | |
EP3185507B1 (en) | Access control method and apparatus | |
US20120266239A1 (en) | Authorized data access based on the rights of a user and a location | |
CN107257337A (zh) | 一种多端共享的权限控制方法及其系统 | |
CN111914234A (zh) | 一种应用于运维审计系统的数据安全管理方法 | |
RU2415466C1 (ru) | Способ управления идентификацией пользователей информационных ресурсов неоднородной вычислительной сети | |
WO2017114210A1 (zh) | 一种数据处理系统的安全控制装置及方法 | |
CN110598388A (zh) | 权限系统登陆访问控制方法 | |
Qazi | Study of zero trust architecture for applications and network security | |
KR20070076342A (ko) | 그리드 환경에서 사용자 그룹 역할/권한 관리 시스템 및접근 제어 방법 | |
KR101277507B1 (ko) | 스마트폰 환경을 위한 상황인식 기반 보안 시스템 | |
US20200021591A1 (en) | Automated creation of dynamic privileged access resources | |
US20100043049A1 (en) | Identity and policy enabled collaboration | |
US11132471B1 (en) | Methods and apparatus for secure access | |
CN110879886B (zh) | 用于运行网络服务器的方法 | |
CN115422526B (zh) | 角色权限管理方法、设备及存储介质 | |
Kou et al. | Research on Telecommuting Security Solution Based on Zero Trust Architecture | |
Piger et al. | A comprehensive approach to self-restricted delegation of rights in grids | |
Neelakandhan et al. | Achieving least privilege at cloud scale with cloud infrastructure entitlements management |
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 |
Application publication date: 20191210 |
|
RJ01 | Rejection of invention patent application after publication |