掌桥专利:专业的专利平台
掌桥专利
首页

容器云平台的权限控制方法及装置

文献发布时间:2024-04-18 19:58:21


容器云平台的权限控制方法及装置

技术领域

本发明涉及容器云技术领域,尤其涉及一种容器云平台的权限控制方法及装置。

背景技术

本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。

权限管理是运维体系的重要一环,合理有效的权限管理可以有效减少生产运维事故的发生,同时可以满足运维人员的相应运维需求,减少运维人员的误操作等。在现有的数据中心运维体系中,运维人员登陆权限和操作权限要严格管控,通过授权、二次授权以及提权等操作来保证相关操作的可控性。针对每一个角色对应的人员都要有对应的权限管理,并且在权限不足时通过授权可以提升为更高一级的权限。

传统的虚拟机的运维时代通常通过堡垒机来控制登陆人员的操作权限,并且可以控制登陆到具体虚拟机的用户等,以便控制用户的对应操作权限。但是在使用容器云平台后,容器云平台登陆时可以通过权限体系以便有对应的功能操作权限,但是具体登陆到某个容器内部时,由于容器的运行启动用户只有一个,就很难达到虚拟机的管控效果。如只读用户虽然没有容器云平台的修改权限,但可以登陆到容器内部时却可以删除文件或杀死进程等,导致系统不稳定;或者如果限制只读用户登录到容器内部,又不方便排查问题。

针对上述问题,目前尚未提出有效的解决方案。

发明内容

本发明实施例提供一种容器云平台的权限控制方法,用以提高管控容器云平台及容器的有效性和便利性,该方法包括:

在有用户登录容器云平台时,确定用户的第一角色;根据用户的第一角色,查询用户权限信息表,确定用户的第一权限信息,其中权限信息表记录有不同角色用户对应的权限信息;

在该用户进入到容器内部时,根据用户的第一角色,查询用户角色切换表,确定用户的第二角色,将用户从第一角色切换至第二角色,其中用户角色切换表记录有第一角色和第二角色之间的对应关系;

根据用户的第二角色,查询用户权限信息表,确定用户的第二权限信息。

本发明实施例还提供一种容器云平台的权限控制装置,用以提高管控容器云平台及容器的有效性和便利性,该装置包括:

第一权限信息确定模块,用于在有用户登录容器云平台时,确定用户的第一角色;根据用户的第一角色,查询用户权限信息表,确定用户的第一权限信息,其中权限信息表记录有不同角色用户对应的权限信息;

角色查询与切换模块,用于在该用户进入到容器内部时,根据用户的第一角色,查询用户角色切换表,确定用户的第二角色,将用户从第一角色切换至第二角色,其中用户角色切换表记录有第一角色和第二角色之间的对应关系;

第二权限信息确定模块,用于根据用户的第二角色,查询用户权限信息表,确定用户的第二权限信息。

本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述容器云平台的权限控制方法。

本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述容器云平台的权限控制方法。

本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述容器云平台的权限控制方法。

本发明实施例中,在有用户登录容器云平台时,确定用户的第一角色;根据用户的第一角色,查询用户权限信息表,确定用户的第一权限信息,其中权限信息表记录有不同角色用户对应的权限信息;在该用户进入到容器内部时,根据用户的第一角色,查询用户角色切换表,确定用户的第二角色,将用户从第一角色切换至第二角色,其中用户角色切换表记录有第一角色和第二角色之间的对应关系;根据用户的第二角色,查询用户权限信息表,确定用户的第二权限信息。

本发明通过按照容器云平台和容器内部用户的对应关系,在登录时切换至对应的用户,可以实现对容器云平台和容器内部用户权限体系的联动管理,满足已有的运维管理的权限管控,满足了运维的基本需求,有效的做到了权限隔离及权限控制,提高了管控容器云平台及容器的有效性和便利性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1为本发明实施例中容器云平台的权限控制方法的处理流程图;

图2为本发明实施例中建立用户权限信息表的方法流程图;

图3为本发明实施例中建立用户角色切换表的方法流程图;

图4为本发明实施例中容器云平台的权限控制装置的结构示意图;

图5为本发明一实施例的计算机设备结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。

首先,对本发明实施例中的技术名词进行介绍:

容器云:容器云是近两年在云计算技术中新兴的一种产品形态,实际上是按照容器为资源分割,封装整个软件运行时环境,为开发者和系统管理员提供用于构建,发布和运行分布式应用的平台。当容器云专注于资源共享与隔离、容器编排与部署,它更接近laas的概念,当容器云渗透到应用支撑与运行时环境时,它更接近于Paas。在很多企业中,应用程序发布是一项涉及多个团队、压力很大、风险很高的活动。然而在具备DevOps能力的组织中,应用程序发布的风险很低。因为与传统的瀑布式开发模型相比,迭代式开发更加便捷。

容器:容器(Container)是一种更轻量级,更灵活的虚拟化处理方式,它将一个应用程序所需的一切打包在一起。容器包括所有代码,各种依赖甚至操作系统,这让应用程序几乎在任何地方都可以运行。因此它的诞生,解决了一个重要问题:如何确保应用程序从一个环境移动到另一个环境的正确运行。它只是虚拟了操作系统,而不像虚拟机一样去虚拟底层计算机。

基础镜像:Docker基础镜像是Docker中最基础、最底层的镜像。在Docker中,镜像是一种可以被打包部署的软件包,基础镜像是所有其他镜像的基石。Docker基础镜像用于构建其他的镜像,其本身就是最基本的环境和组件的集合,是一个最小的操作系统镜像。Docker基础镜像包括从操作系统到各种组件的完整的安装程序,可以在其上安装各种应用。

应用镜像:系统镜像+应用程序,常见的应用程序如LAMP、LNMP、WordPress、宝塔面板Nodeis等等,即在原有系统镜像的基础上,安装了应用程序,用于满足某些应用如网站的部署需求,降低了服务器的使用门槛。

系统镜像:纯净版的操作系统,比如我们常用的Windows server、Centos8.1等等,都是系统镜像。

图1为本发明实施例中容器云平台的权限控制方法的处理流程图。如图1所示,本发明实施例中容器云平台的权限控制方法可以包括:

步骤101、在有用户登录容器云平台时,确定用户的第一角色;根据用户的第一角色,查询用户权限信息表,确定用户的第一权限信息,其中权限信息表记录有不同角色用户对应的权限信息;

步骤102、在该用户进入到容器内部时,根据用户的第一角色,查询用户角色切换表,确定用户的第二角色,将用户从第一角色切换至第二角色,其中用户角色切换表记录有第一角色和第二角色之间的对应关系;

步骤103、根据用户的第二角色,查询用户权限信息表,确定用户的第二权限信息。

下面介绍本发明实施例中容器云平台的权限控制方法的具体执行步骤:

首先对于步骤101,在有用户登录容器云平台时,可以先确定用户的第一角色;再根据用户的第一角色,查询用户权限信息表,确定用户的第一权限信息,其中权限信息表记录有不同角色用户对应的权限信息。具体的,用户的第一权限信息表征用户在登录容器云平台时可以执行的权限范围。

在一个实施例中,所述用户角色至少可以包括以下角色其中之一:维护者、开发者或访客。

需要说明的是,依托现有的容器云平台权限管理体系,可以将权限管理分为3级,不同角色用户对应不同等级的权限,例如用户角色可以包括:维护者(Maintainer)、开发者(Developer)和访客(Guest)的权限。其中,Maintainer权限而可以拥有所在系统下所有部署空间资源的管理权限,主要包括各种资源的增删改查权限;Developer权限可以拥有所在系统下所有部署空间资源的除删除操作以外的管理权限;Guest权限可以拥有所在系统下所有部署空间资源的只读权限。在实施例中,还可以预先建立用户权限信息表。

图2为本发明实施例中建立用户权限信息表的方法流程图。如图2所示,在一个实施例中,还可以包括:

步骤201、预先设置不同角色用户对应的权限信息;

步骤202、根据不同角色用户对应的权限信息,建立用户权限信息表。

在一个实施例中,还可以包括:预先在容器的基础镜像里增加开发者和访客。

在一个实施例中,还可以包括:根据基础镜像制作应用镜像,继承基础镜像的用户角色及对应的权限信息。

在一个实施例中,所述容器云平台与多个容器通过接口方式连接。

具体实施时,为实现对容器云平台和容器内部用户权限体系的联动管理,可以对基础镜像进行改造。在基础镜像里增加Developer和Guest用户,并分别对两个用户设置对应的权限,其中Guest用户设置为较少的操作权限,主要用于查看相关日志和信息。

改造基础镜像和设置操作权限的具体步骤可以如下所示:按照规范要求容器内进程要使用非root用户启动和运行,并且不允许运行sshd等远程登陆服务,因此默认进入容器内部是通过kubectl exec的接口方式进入,并且进入后使用的是启动的普通用户。该普通用户为运行程序的用户,定义为Developer用户,并指定Developer的gid(用户标识)和uid(用户组标识);同时可以增加Guest用户,并对rm(删除目录或文件)、su(切换用户)、sudo(允许系统管理员让普通用户执行一些或者全部的root命令)等高危权限进行严格控制;同时,还可以设置Developer用户可以免密切换至Guest用户;Developer用户和Guest用户其他权限参照传统虚拟机方式设置。

所有的容器镜像基于基础镜像或基础镜像的衍生镜像制作,并且用户权限默认已经按上述方式加载至基础镜像内部,不允许开发人员修改,只能按规范增加应用的相关文件等。

在根据用户的第一角色,确定用户的第一权限信息之后,可以执行步骤102-103、在该用户进入到容器内部时,根据用户的第一角色,查询用户角色切换表,确定用户的第二角色,将用户从第一角色切换至第二角色,其中用户角色切换表记录有第一角色和第二角色之间的对应关系。然后可以根据用户的第二角色,查询用户权限信息表,确定用户的第二权限信息。具体的,用户的第二权限信息表征用户在进入到容器内部时可以执行的权限范围。

图3为本发明实施例中建立用户角色切换表的方法流程图。如图3所示,在一个实施例中,还可以包括:

步骤301、预先设置第一角色和第二角色之间的对应关系;

步骤302、根据第一角色和第二角色之间的对应关系,建立用户角色切换表。

具体实施时,用户角色切换表例如表1所示,当登录容器云平台的用户为Maintainer和Developer权限时,对应的登陆到容器内部的用户为Developer。当登录容器云平台的用户为Guest权限时,容器云平台在调用kubectl exec接口时会自动切换至Guest用户。而且容器云平台的三个权限级别可以更改授权,或者主动申请提权以获取对应的操作权限。

表1

如上,通过容器云平台的权限管理以及容器内部权限的联动管理可以满足现有运维体系的管控要求,有效的完善了现有运维能力。

本发明实施例中还提供了一种容器云平台的权限控制装置,如下面的实施例所述。由于该装置解决问题的原理与容器云平台的权限控制方法相似,因此该装置的实施可以参见容器云平台的权限控制方法的实施,重复之处不再赘述。

图4为本发明实施例中容器云平台的权限控制装置的结构示意图。如图4所示,本发明实施例中容器云平台的权限控制装置具体可以包括:

第一权限信息确定模块401,用于在有用户登录容器云平台时,确定用户的第一角色;根据用户的第一角色,查询用户权限信息表,确定用户的第一权限信息,其中权限信息表记录有不同角色用户对应的权限信息;

角色查询与切换模块402,用于在该用户进入到容器内部时,根据用户的第一角色,查询用户角色切换表,确定用户的第二角色,将用户从第一角色切换至第二角色,其中用户角色切换表记录有第一角色和第二角色之间的对应关系;

第二权限信息确定模块403,用于根据用户的第二角色,查询用户权限信息表,确定用户的第二权限信息。

在一个实施例中,所述用户角色至少包括以下角色其中之一:

维护者、开发者或访客。

在一个实施例中,还包括增加模块,用于:

预先在容器的基础镜像里增加开发者和访客。

在一个实施例中,还包括应用镜像制作模块,用于:

根据基础镜像制作应用镜像,继承基础镜像的用户角色及对应的权限信息。

在一个实施例中,所述容器云平台与多个容器通过接口方式连接。

在一个实施例中,还包括用户权限信息表建立模块,用于:

预先设置不同角色用户对应的权限信息;

根据不同角色用户对应的权限信息,建立用户权限信息表。

在一个实施例中,还包括用户角色切换表建立模块,用于:

预先设置第一角色和第二角色之间的对应关系;

根据第一角色和第二角色之间的对应关系,建立用户角色切换表。

基于前述发明构思,如图5所示,本发明还提出了一种计算机设备500,包括存储器510、处理器520及存储在存储器510上并可在处理器520上运行的计算机程序530,所述处理器520执行所述计算机程序530时实现前述容器云平台的权限控制方法。

本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述容器云平台的权限控制方法。

本发明实施例还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序被处理器执行时实现上述容器云平台的权限控制方法。

综上所述,本发明实施例中,在有用户登录容器云平台时,确定用户的第一角色;根据用户的第一角色,查询用户权限信息表,确定用户的第一权限信息,其中权限信息表记录有不同角色用户对应的权限信息;在该用户进入到容器内部时,根据用户的第一角色,查询用户角色切换表,确定用户的第二角色,将用户从第一角色切换至第二角色,其中用户角色切换表记录有第一角色和第二角色之间的对应关系;根据用户的第二角色,查询用户权限信息表,确定用户的第二权限信息。

本发明通过按照容器云平台和容器内部用户的对应关系,在登录时切换至对应的用户,可以实现对容器云平台和容器内部用户权限体系的联动管理,满足已有的运维管理的权限管控,满足了运维的基本需求,有效的做到了权限隔离及权限控制,提高了管控容器云平台及容器的有效性和便利性。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 多节点路径选择方法、装置、云平台资源调度方法及装置
  • 基于权限控制的邮件发送方法、装置及系统
  • 设备间的绑定及权限控制方法、装置、设备及存储介质
  • 权限控制方法、装置及服务器
  • 权限控制方法、装置、电子设备及计算机可读存储介质
  • 一种基于CMDB系统和RBAC模型实现容器云平台的租户权限控制方法
  • 一种基于云平台的权限控制方法、装置、设备及存储介质
技术分类

06120116484486