CN110198318A - 一种容器服务用户认证方法 - Google Patents

一种容器服务用户认证方法 Download PDF

Info

Publication number
CN110198318A
CN110198318A CN201910474805.2A CN201910474805A CN110198318A CN 110198318 A CN110198318 A CN 110198318A CN 201910474805 A CN201910474805 A CN 201910474805A CN 110198318 A CN110198318 A CN 110198318A
Authority
CN
China
Prior art keywords
user
token
container service
access
role
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
Application number
CN201910474805.2A
Other languages
English (en)
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 CN201910474805.2A priority Critical patent/CN110198318A/zh
Publication of CN110198318A publication Critical patent/CN110198318A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/33User authentication using certificates
    • G06F21/335User authentication using certificates for accessing specific resources, e.g. using Kerberos tickets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances

Landscapes

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

Abstract

本发明特别涉及一种容器服务用户认证方法。该容器服务用户认证方法,用户访问keycloak集群换取令牌token;将令牌token放在页眉header中,访问容器服务后台应用程序编程接口API;容器服务对用户进行认证,若未能通过认证则拒绝用户访问;配置相关集群,对用户进行认证并限制可访问APIServer资源。该容器服务用户认证方法,不仅可以有效的对容器服务的访问权限进行管理,管理用户可访问的后台API,还能够管理用户可访问的kubernetes集群内部资源,进而保障了数据安全。

Description

一种容器服务用户认证方法
技术领域
本发明涉及容器服务用户认证技术领域,特别涉及一种容器服务用户认证方法。
背景技术
kubernetes,简称K8s,是用8代替8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用。Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。
传统的应用部署方式是通过插件或脚本来安装应用。这样做的缺点是应用的运行、配置、管理、所有生存周期将与当前操作系统绑定,这样做并不利于应用的升级更新/回滚等操作,当然也可以通过创建虚拟机的方式来实现某些功能,但是虚拟机非常重,并不利于可移植性。
新的方式是通过部署容器方式实现,每个容器之间互相隔离,每个容器有自己的文件系统,容器之间进程不会相互影响,能区分计算资源。相对于虚拟机,容器能快速部署,由于容器与底层设施、机器文件系统解耦的,所以它能在不同云、不同版本操作系统间进行迁移。
容器占用资源少、部署快,每个应用可以被打包成一个容器镜像,每个应用与容器间成一对一关系也使容器有更大优势。使用容器可以在build或release的阶段,为应用创建容器镜像,因为每个应用不需要与其余的应用堆栈组合,也不依赖于生产环境基础结构,这使得从研发到测试、生产能提供一致环境。类似地,容器比虚拟机轻量、更“透明”,这更便于监控和管理。
kubernetes是一个先进的容器编排系统,而容器服务具备创建删除kubernetes集群等集群管理功能。作为一个针对应用访问的开源的系统,keycloak具有以下核心概念:
a)users:可以登陆系统的实体,可以拥有一些相关属性;
b)groups:一个组的用户;
c)realms:域,realm下有一批用户,各个域之间是相互独立的,只能管理自己下面的用户;
d)clients:客户端,client可以请求keycloak对用户进行认证,也可以作为应用或者服务请求认证;
e)roles:角色,可以赋给用户;
f)user role mapping:用户与角色的映射关系,决定用户的访问资源权限。
近些年来,随着云计算、云服务的发展,容器技术得到了较为广泛的应用,而作为先进的容器编排系统,kubernetes也得到了越来越多的重视,而容器服务中对于用户的认证与权限设置则成为了一个重要的问题。
基于此,本发明提出了一种容器服务用户认证方法,基于keycloak实现了容器服务的用户认证,与相关权限设置。
发明内容
本发明为了弥补现有技术的缺陷,提供了一种简单高效的容器服务用户认证方法。
本发明是通过如下技术方案实现的:
一种容器服务用户认证方法,其特征在于,包括以下步骤:
A)用户访问keycloak集群换取令牌token;
B)将令牌token放在页眉header中,访问容器服务后台应用程序编程接口API(Application Programming Interface);
C)容器服务对用户进行认证,若通过认证则执行步骤D),若未能通过认证则拒绝用户访问;
D)配置相关集群,对用户进行认证并限制可访问APIServer资源。
所述步骤C)中,容器服务对用户进行认证,包括对令牌token格式及过期验证,组group认证,角色role认证和统一资源定位符url认证。
所述容器服务对令牌token格式及过期验证是指容器服务后台获取用户令牌token后,对令牌token进行解析,验证令牌token的格式以及令牌token是否过期,若令牌token格式不正确或者已过期,则拒绝用户访问。
所述容器服务对组group认证是指解析令牌token后,检查用户是否在正确的组group中,若不在,则拒绝用户访问。
所述容器服务对角色role认证是指解析令牌token后,检查用户的角色role,检查用户是否具有规定的角色role,若没有,则拒绝用户访问。
所述容器服务对统一资源定位符url认证是指预置统一资源定位符url权限文件,根据获取的用户的角色role,去检查用户是否具有访问该统一资源定位符url的权限,若没有,则拒绝用户访问。
所述步骤D)中,用户通过登录获取的令牌token用来访问相关集群的APIServer,进而获取相关资源,要通过令牌token进行认证,对kubernetes集群的APIServer配置认证所需相关配置项,并配置用户所能访问资源限制。
所述kubernetes集群的APIServer配置认证所需相关配置项包括--oidc-issuer-url,--oidc-client-id和--oidc-username-claim;其中--oidc-issuer-url为keycloak地址,--oidc-client-id为用户对应的keycloak中的clientid,--oidc-username-claim为jwt声明使用的用户名;
所述配置用户所能访问资源限制包括配置clusterrole与clusterrolebingding,在clusterrole中配置用户可访问的kubernetes集群资源,在clusterrolebingding中绑定相关用户。
本发明的有益效果是:该容器服务用户认证方法,不仅可以有效的对容器服务的访问权限进行管理,管理用户可访问的后台API,还能够管理用户可访问的kubernetes集群内部资源,进而保障了数据安全。
附图说明
附图1为本发明容器服务用户认证示意图。
附图2为本发明访问apiserver认证示意图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合实施例,对本发明进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
该容器服务用户认证方法,包括以下步骤:
A)用户访问keycloak集群换取令牌token;
B)将令牌token放在页眉header中,访问容器服务后台应用程序编程接口API(Application Programming Interface);
C)容器服务对用户进行认证,若通过认证则执行步骤D),若未能通过认证则拒绝用户访问;
D)配置相关集群,对用户进行认证并限制可访问APIServer资源。
所述步骤C)中,容器服务对用户进行认证,包括对令牌token格式及过期验证,组group认证,角色role认证和统一资源定位符url认证。
所述容器服务对令牌token格式及过期验证是指容器服务后台获取用户令牌token后,对令牌token进行解析,验证令牌token的格式以及令牌token是否过期,若令牌token格式不正确或者已过期,则拒绝用户访问。
所述容器服务对组group认证是指解析令牌token后,检查用户是否在正确的组group中,若不在,则拒绝用户访问。
所述容器服务对角色role认证是指解析令牌token后,检查用户的角色role,检查用户是否具有规定的角色role,若没有,则拒绝用户访问。
所述容器服务对统一资源定位符url认证是指预置统一资源定位符url权限文件,根据获取的用户的角色role,去检查用户是否具有访问该统一资源定位符url的权限,若没有,则拒绝用户访问。
所述步骤D)中,用户通过登录获取的令牌token用来访问相关集群的APIServer,进而获取相关资源,要通过令牌token进行认证,对kubernetes集群的APIServer配置认证所需相关配置项,并配置用户所能访问资源限制。
所述kubernetes集群的APIServer配置认证所需相关配置项包括--oidc-issuer-url,--oidc-client-id和--oidc-username-claim;其中--oidc-issuer-url为keycloak地址,--oidc-client-id为用户对应的keycloak中的clientid,--oidc-username-claim为jwt声明使用的用户名;
所述配置用户所能访问资源限制包括配置clusterrole与clusterrolebingding,在clusterrole中配置用户可访问的kubernetes集群资源,在clusterrolebingding中绑定相关用户。
该容器服务用户认证方法,基于keycloak给容器服务提供了一个总体的用户认证方法,通过这个方法能够对用户进行认证,并对用户可访问的资源进行限制,保障了kubernetes集群的数据安全。
以上所述的实施例,只是本发明具体实施方式的一种,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

Claims (9)

1.一种容器服务用户认证方法,其特征在于,包括以下步骤:
A)用户访问keycloak集群换取令牌token;
B)将令牌token放在页眉header中,访问容器服务后台应用程序编程接口API;
C)容器服务对用户进行认证,若通过认证则执行步骤D),若未能通过认证则拒绝用户访问;
D)配置相关集群,对用户进行认证并限制可访问APIServer资源。
2.根据权利要求1所述的容器服务用户认证方法,其特征在于:所述步骤C)中,容器服务对用户进行认证,包括对令牌token格式及过期验证,组group认证,角色role认证和统一资源定位符url认证。
3.根据权利要求2所述的容器服务用户认证方法,其特征在于:所述容器服务对令牌token格式及过期验证是指容器服务后台获取用户令牌token后,对令牌token进行解析,验证令牌token的格式以及令牌token是否过期,若令牌token格式不正确或者已过期,则拒绝用户访问。
4.根据权利要求2所述的容器服务用户认证方法,其特征在于:所述容器服务对组group认证是指解析令牌token后,检查用户是否在正确的组group中,若不在,则拒绝用户访问。
5.根据权利要求2所述的容器服务用户认证方法,其特征在于:所述容器服务对角色role认证是指解析令牌token后,检查用户的角色role,检查用户是否具有规定的角色role,若没有,则拒绝用户访问。
6.根据权利要求2所述的容器服务用户认证方法,其特征在于:所述容器服务对统一资源定位符url认证是指预置统一资源定位符url权限文件,根据获取的用户的角色role,去检查用户是否具有访问该统一资源定位符url的权限,若没有,则拒绝用户访问。
7.根据权利要求1所述的容器服务用户认证方法,其特征在于:所述步骤D)中,用户通过登录获取的令牌token用来访问相关集群的APIServer,进而获取相关资源,要通过令牌token进行认证,对kubernetes集群的APIServer配置认证所需相关配置项,并配置用户所能访问资源限制。
8.根据权利要求7所述的容器服务用户认证方法,其特征在于:所述kubernetes集群的APIServer配置认证所需相关配置项包括--oidc-issuer-url,--oidc-client-id和--oidc-username-claim;其中--oidc-issuer-url为keycloak地址,--oidc-client-id为用户对应的keycloak中的clientid,--oidc-username-claim为jwt声明使用的用户名。
9.根据权利要求7所述的容器服务用户认证方法,其特征在于:所述配置用户所能访问资源限制包括配置clusterrole与clusterrolebingding,在clusterrole中配置用户可访问的kubernetes集群资源,在clusterrolebingding中绑定相关用户。
CN201910474805.2A 2019-06-03 2019-06-03 一种容器服务用户认证方法 Pending CN110198318A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910474805.2A CN110198318A (zh) 2019-06-03 2019-06-03 一种容器服务用户认证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910474805.2A CN110198318A (zh) 2019-06-03 2019-06-03 一种容器服务用户认证方法

Publications (1)

Publication Number Publication Date
CN110198318A true CN110198318A (zh) 2019-09-03

Family

ID=67753749

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910474805.2A Pending CN110198318A (zh) 2019-06-03 2019-06-03 一种容器服务用户认证方法

Country Status (1)

Country Link
CN (1) CN110198318A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110557406A (zh) * 2019-10-08 2019-12-10 浪潮软件股份有限公司 一种基于Keycloak角色权限控制系统的方法
CN111428208A (zh) * 2020-06-09 2020-07-17 北京信安世纪科技股份有限公司 一种应用软件授权方法、装置及存储介质
CN111800440A (zh) * 2020-09-08 2020-10-20 平安国际智慧城市科技股份有限公司 多策略访问控制登录方法、装置、计算机设备及存储介质
CN111814186A (zh) * 2020-07-13 2020-10-23 四川虹魔方网络科技有限公司 智能设备运营平台的菜单权限访问控制方法
CN112994909A (zh) * 2019-12-12 2021-06-18 北京金山云网络技术有限公司 管理Kubernetes集群的方法、装置、设备及存储介质
CN113742714A (zh) * 2021-07-28 2021-12-03 深圳兆日科技股份有限公司 微服务间访问管理方法、设备、装置及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101572603A (zh) * 2008-04-30 2009-11-04 国际商业机器公司 分布式环境中的组成服务的统一访问控制系统及方法
CN103188248A (zh) * 2011-12-31 2013-07-03 卓望数码技术(深圳)有限公司 基于单点登录的身份认证系统及方法
CN105554004A (zh) * 2015-12-24 2016-05-04 北京轻元科技有限公司 一种混合云计算环境中容器服务的认证系统和方法
CN106161462A (zh) * 2016-08-29 2016-11-23 无锡华云数据技术服务有限公司 一种网络安全认证方法
US20170220011A1 (en) * 2016-01-29 2017-08-03 General Electric Company Development platform for industrial internet applications
CN107634951A (zh) * 2017-09-22 2018-01-26 携程旅游网络技术(上海)有限公司 Docker容器安全管理方法、系统、设备及存储介质
CN107852405A (zh) * 2015-07-02 2018-03-27 康维达无线有限责任公司 服务层的内容安全性
CN109474632A (zh) * 2018-12-28 2019-03-15 优刻得科技股份有限公司 对用户进行认证和权限管理的方法、装置、系统和介质
CN109818968A (zh) * 2019-02-28 2019-05-28 山东浪潮云信息技术有限公司 一种在已有web应用基础上实现单点登录的方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101572603A (zh) * 2008-04-30 2009-11-04 国际商业机器公司 分布式环境中的组成服务的统一访问控制系统及方法
CN103188248A (zh) * 2011-12-31 2013-07-03 卓望数码技术(深圳)有限公司 基于单点登录的身份认证系统及方法
CN107852405A (zh) * 2015-07-02 2018-03-27 康维达无线有限责任公司 服务层的内容安全性
CN105554004A (zh) * 2015-12-24 2016-05-04 北京轻元科技有限公司 一种混合云计算环境中容器服务的认证系统和方法
US20170220011A1 (en) * 2016-01-29 2017-08-03 General Electric Company Development platform for industrial internet applications
CN106161462A (zh) * 2016-08-29 2016-11-23 无锡华云数据技术服务有限公司 一种网络安全认证方法
CN107634951A (zh) * 2017-09-22 2018-01-26 携程旅游网络技术(上海)有限公司 Docker容器安全管理方法、系统、设备及存储介质
CN109474632A (zh) * 2018-12-28 2019-03-15 优刻得科技股份有限公司 对用户进行认证和权限管理的方法、装置、系统和介质
CN109818968A (zh) * 2019-02-28 2019-05-28 山东浪潮云信息技术有限公司 一种在已有web应用基础上实现单点登录的方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110557406A (zh) * 2019-10-08 2019-12-10 浪潮软件股份有限公司 一种基于Keycloak角色权限控制系统的方法
CN112994909A (zh) * 2019-12-12 2021-06-18 北京金山云网络技术有限公司 管理Kubernetes集群的方法、装置、设备及存储介质
CN111428208A (zh) * 2020-06-09 2020-07-17 北京信安世纪科技股份有限公司 一种应用软件授权方法、装置及存储介质
CN111428208B (zh) * 2020-06-09 2020-10-30 北京信安世纪科技股份有限公司 一种应用软件授权方法、装置及存储介质
CN111814186A (zh) * 2020-07-13 2020-10-23 四川虹魔方网络科技有限公司 智能设备运营平台的菜单权限访问控制方法
CN111800440A (zh) * 2020-09-08 2020-10-20 平安国际智慧城市科技股份有限公司 多策略访问控制登录方法、装置、计算机设备及存储介质
CN113742714A (zh) * 2021-07-28 2021-12-03 深圳兆日科技股份有限公司 微服务间访问管理方法、设备、装置及存储介质

Similar Documents

Publication Publication Date Title
CN110198318A (zh) 一种容器服务用户认证方法
US11824970B2 (en) Systems, methods, and apparatuses for implementing user access controls in a metadata driven blockchain operating via distributed ledger technology (DLT) using granular access objects and ALFA/XACML visibility rules
US11899817B2 (en) Systems, methods, and apparatuses for storing PII information via a metadata driven blockchain using distributed and decentralized storage for sensitive user information
US11469886B2 (en) System or method to implement record level access on metadata driven blockchain using shared secrets and consensus on read
CN108173850B (zh) 一种基于区块链智能合约的身份认证系统和身份认证方法
CN104320423B (zh) 基于Cookie的单点登录轻量级实现方法
US8955041B2 (en) Authentication collaboration system, ID provider device, and program
CN109981561A (zh) 单体架构系统迁移到微服务架构的用户认证方法
CN110069908A (zh) 一种区块链的权限控制方法及装置
US20130198801A1 (en) Authentication collaboration system and id provider device
CN108011862A (zh) 镜像仓库授权、访问、管理方法及服务器和客户端
CN110401655A (zh) 基于用户和角色的访问控制权限管理系统
CN106375323A (zh) 一种多租户模式下kerberos身份认证的方法
WO2014004412A1 (en) Identity risk score generation and implementation
CN106341233A (zh) 客户端登录服务器端的鉴权方法、装置、系统及电子设备
CN107770192A (zh) 在多系统中身份认证的方法和计算机可读存储介质
CN103095720A (zh) 一种基于会话管理服务器的云存储系统的安全管理方法
CN110199283A (zh) 用于在网络功能虚拟化环境中认证平台信任的系统和方法
SG193224A1 (en) Authentication collaboration system, id provider device, and program
CN110225039A (zh) 权限模型获取、鉴权方法、网关、服务器以及存储介质
CN110247758A (zh) 密码管理的方法、装置及密码管理器
CN104580081A (zh) 一种集成式单点登录系统
CN110266792A (zh) 地址转换方法、装置、设备与计算机可读存储介质
CN116415217A (zh) 基于零信任架构的即时授权系统
CN109241712A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20190903

RJ01 Rejection of invention patent application after publication