欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 一种对租户访问容器实例的权限的控制方法和装置独创技术43479字

一种对租户访问容器实例的权限的控制方法和装置

2020-12-28 05:53:58

一种对租户访问容器实例的权限的控制方法和装置

  技术领域

  本申请涉及计算机领域,尤其涉及一种对租户访问容器实例的权限的控制方法和装置。

  背景技术

  在公有云计算场景中,传统的,容器服务是以容器集群为单位向租户提供,容器集群包含容器管理平台。租户可以基于容器管理平台(例如kubernetes)生态的各种工具(例如kubectl客户端,kubernetes client library等),创建容器实例,在容器实例中部署自己的应用程序,并根据需要对容器实例进行增删改查等管理操作。在这种场景下,不同租户之间的网络隔离策略是集群级别的,即一个租户只能访问自己的容器集群,不能访问别的租户的容器集群,而同一个租户的容器集群中,各个容器实例彼此之前无需隔离。

  现有一种新的提供容器服务的方式,不再以容器集群为单位,而是以单个容器实例为单位向租户提供服务。相对于传统方式,新方式能够使得租户无需维护容器管理平台,而是不同的租户的容器实例均在同一个容器集群内,由云计算厂商来维护一个统一的容器管理平台。在这种场景下,不同租户之间的网络隔离策略是容器实例级别的(即租户只能访问自己的容器实例,而不能访问别的租户的容器实例),因此在租户访问容器实例时,需要对租户的权限进行控制。

  在新场景下,相关技术中的权限控制方案为:通过控制台或封装openAPI进行访问控制管理。具体为:对容器管理平台的操作接口二次封装为OpenAPI,租户调用OpenAPI来实现对容器实例的访问,在openAPI侧进行对租户权限的管理控制。但是这种方式会导致租户不能利用容器管理平台生态中的各种工具来管理容器实例,只能通过二次封装后的OpenAPI,导致租户对容器实例进行访问和管理的灵活性较差。

  发明内容

  本申请提供了一种对租户访问容器实例的权限的控制方法和装置,以至少解决相关技术中租户对容器实例进行访问和管理的灵活性较差的技术问题。

  根据本申请实施例的一个方面,提供了一种对租户访问容器实例的权限的控制方法,应用于容器集群中的容器管理平台,其中,所述容器集群还包括多个容器实例,所述多个容器实例属于至少两个不同的租户,不同租户的容器实例部署在不同的网络空间中以彼此隔离,所述方法包括:

  接收目标租户的容器创建请求,其中,所述容器创建请求用于请求在容器集群中创建容器实例;

  为所述目标租户在所述容器集群中创建目标用户帐户,其中,所述目标用户账户指定了所述目标租户在所述容器集群中的目标访问权限;

  创建所述目标用户账户对应的认证证书,其中,所述认证证书用于对所述目标租户的身份进行认证;

  生成所述目标用户帐户对应的目标配置文件,其中,所述目标配置文件用于使用所述容器管理平台提供的管理工具对所述目标租户在所述容器集群中创建的容器实例进行操作,所述目标配置文件中记录了所述目标租户和所述认证证书的证书信息。

  可选地,为所述目标租户在所述容器集群中创建目标用户帐户包括:

  在所述容器集群中为所述目标租户创建目标命名空间,其中,所述目标命名空间用于创建所述目标租户的容器实例;

  获取所述目标租户对应的所述目标访问权限,其中,所述目标访问权限用于指示允许所述目标租户访问所述目标命名空间以及允许所述目标租户访问的资源;

  在所述容器集群中创建所述目标租户对应的初始用户账户;

  将所述目标访问权限与所述初始用户账户进行绑定,得到所述目标用户账户。

  可选地,获取所述目标租户对应的所述目标访问权限包括以下之一:

  从多个角色中获取所述目标租户对应的第一初始角色,其中,所述第一初始角色用于指示允许所述目标租户访问的资源;将命名空间访问权限添加到所述第一初始角色中,得到目标角色作为所述目标访问权限,其中,所述命名空间访问权限用于指示允许所述目标租户访问所述目标命名空间;

  获取第二初始角色,其中,所述第二初始角色用于指示允许租户访问的初始资源;将所述第二初始角色修改为目标角色作为所述目标访问权限,其中,所述目标角色用于指示允许所述目标租户访问所述目标命名空间以及允许所述目标租户访问的资源。

  可选地,生成所述目标用户帐户对应的目标配置文件包括:

  生成目标格式的初始配置文件,其中,所述目标格式是符合所述容器集群的访问条件的格式;

  将所述目标租户和所述证书信息写入所述初始配置文件,得到所述目标配置文件。

  可选地,在生成所述目标用户帐户对应的目标配置文件之后,所述方法还包括:

  接收所述目标租户包括的用户发起的下载请求,其中,所述下载请求用于请求下载配置文件;

  响应所述下载请求获取所述目标租户对应的所述目标配置文件;

  将所述目标配置文件下载至所述用户所指示的下载位置。

  可选地,响应所述下载请求获取所述目标租户对应的所述目标配置文件包括:

  从具有对应关系的租户和用户账户中获取所述目标租户对应的所述目标用户账户;

  从具有对应关系的用户账户和配置文件中获取所述目标用户账户对应的所述目标配置文件。

  根据本申请实施例的另一方面,还提供了一种对租户访问容器实例的权限的控制装置,应用于容器集群中的容器管理平台,其中,所述容器集群还包括多个容器实例,所述多个容器实例属于至少两个不同的租户,不同租户的容器实例部署在不同的网络空间中以彼此隔离,所述装置包括:

  第一接收模块,用于接收目标租户的容器创建请求,其中,所述容器创建请求用于请求在容器集群中创建容器实例;

  第一创建模块,用于为所述目标租户在所述容器集群中创建目标用户帐户,其中,所述目标用户账户指定了所述目标租户在所述容器集群中的目标访问权限;

  第二创建模块,用于创建所述目标用户账户对应的认证证书,其中,所述认证证书用于对所述目标租户的身份进行认证;

  生成模块,用于生成所述目标用户帐户对应的目标配置文件,其中,所述目标配置文件用于使用所述容器管理平台提供的管理工具对所述目标租户在所述容器集群中创建的容器实例进行操作,所述目标配置文件中记录了所述目标租户和所述认证证书的证书信息。

  可选地,所述第一创建模块包括:

  第一创建单元,用于在所述容器集群中为所述目标租户创建目标命名空间;

  第一获取单元,用于获取所述目标租户对应的所述目标访问权限,其中,所述目标访问权限用于指示允许所述目标租户访问所述目标命名空间以及允许所述目标租户访问的资源;

  第二创建单元,用于在所述容器集群中创建所述目标租户对应的初始用户账户;

  绑定单元,用于将所述目标访问权限与所述初始用户账户进行绑定,得到所述目标用户账户。

  根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,程序运行时执行上述的方法。

  根据本申请实施例的另一方面,还提供了一种电子装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器通过计算机程序执行上述的方法。

  在本申请实施例中,采用接收目标租户的容器创建请求,其中,容器创建请求用于请求在容器集群中创建容器实例;为目标租户在容器集群中创建目标用户帐户,其中,目标用户账户指定了目标租户在容器集群中的目标访问权限;创建目标用户账户对应的认证证书,其中,认证证书用于对目标租户的身份进行认证;生成目标用户帐户对应的目标配置文件,其中,目标配置文件用于使用所述容器管理平台提供的管理工具对所述目标租户在所述容器集群中创建的容器实例进行操作,目标配置文件中记录了目标租户和认证证书的证书信息的方式,在目标租户请求创建容器实例时,为其创建对应的指定了目标租户在容器集群中的目标访问权限的目标用户账户和认证证书,从而生成记录了目标租户和证书信息的目标配置文件,用户可以通过该目标配置文件使用所述容器管理平台提供的管理工具对所述目标租户在所述容器集群中创建的容器实例进行操作,达到了既能够对用户的访问权限进行控制又能够允许用户灵活操作资源的目的,从而实现了提高租户对容器实例进行访问和管理的灵活性的技术效果,进而解决了相关技术中租户对容器实例进行访问和管理的灵活性较差的技术问题。

  附图说明

  此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。

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

  图1是根据本申请实施例的对租户访问容器实例的权限的控制方法的硬件环境的示意图;

  图2是根据本申请实施例的一种可选的对租户访问容器实例的权限的控制方法的流程图;

  图3是根据本申请可选实施例的一种访问权限控制过程的示意图;

  图4是根据本申请实施例的一种可选的对租户访问容器实例的权限的控制装置的示意图;

  图5是根据本申请实施例的一种电子装置的结构框图。

  具体实施方式

  为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

  需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

  根据本申请实施例的一方面,提供了一种对租户访问容器实例的权限的控制的方法实施例,应用于容器集群中的容器管理平台,其中,所述容器集群还包括多个容器实例,所述多个容器实例属于至少两个不同的租户,不同租户的容器实例部署在不同的网络空间中以彼此隔离。

  可选地,在本实施例中,上述对租户访问容器实例的权限的控制方法可以应用于如图1所示的由终端101和服务器103所构成的硬件环境中。如图1所示,服务器103通过网络与终端101进行连接,可用于为终端或终端上安装的客户端提供服务(如游戏服务、应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器103提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端101并不限定于PC、手机、平板电脑等。本申请实施例的对租户访问容器实例的权限的控制方法可以由服务器103来执行,也可以由终端101来执行,还可以是由服务器103和终端101共同执行。其中,终端101执行本申请实施例的对租户访问容器实例的权限的控制方法也可以是由安装在其上的客户端来执行。

  图2是根据本申请实施例的一种可选的对租户访问容器实例的权限的控制方法的流程图,如图2所示,该方法可以包括以下步骤:

  步骤S202,接收目标租户的容器创建请求,其中,所述容器创建请求用于请求在容器集群中创建容器实例;

  步骤S204,为所述目标租户在所述容器集群中创建目标用户帐户,其中,所述目标用户账户指定了所述目标租户在所述容器集群中的目标访问权限;

  步骤S206,创建所述目标用户账户对应的认证证书,其中,所述认证证书用于对所述目标租户的身份进行认证;

  步骤S208,生成所述目标用户帐户对应的目标配置文件,其中,所述目标配置文件用于使用所述容器管理平台提供的管理工具对所述目标租户在所述容器集群中创建的容器实例进行操作,所述目标配置文件中记录了所述目标租户和所述认证证书的证书信息。

  通过上述步骤S202至步骤S208,在目标租户请求创建容器实例时,为其创建对应的指定了目标租户在容器集群中的目标访问权限的目标用户账户和认证证书,从而生成记录了目标租户和证书信息的目标配置文件,用户可以通过该目标配置文件使用所述容器管理平台提供的管理工具对所述目标租户在所述容器集群中创建的容器实例进行操作,达到了既能够对用户的访问权限进行控制又能够允许用户灵活操作资源的目的,从而实现了提高租户对容器实例进行访问和管理的灵活性的技术效果,进而解决了相关技术中租户对容器实例进行访问和管理的灵活性较差的技术问题。

  在步骤S202提供的技术方案中,目标租户可以但不限于是容器集群上注册的租户,容器集群上的租户可以通过发送容器创建请求向容器集群请求创建容器实例功能,目标租户请求创建容器实例功能成功后就可以在容器集群上创建容器实例了。网络空间可以但不限于是云租户的虚拟私有云(VPC,Virtual Private Cloud)。

  在步骤S204提供的技术方案中,响应目标租户的容器创建请求可以首先在容器集群上为其创建对应的目标用户帐户,目标用户帐户用于指定该目标租户在容器集群中的目标访问权限,比如:允许目标租户访问的命名空间和集群上的资源。

  可选地,在本实施例中,目标用户帐户可以但不限于为一个user account,该目标租户在容器集群上的信息均可以记录在该user account中。

  在步骤S206提供的技术方案中,为目标用户账户创建对应的认证证书,该认证证书可以用于对目标租户的身份进行认证。目标租户可以使用该认证证书访问容器集群的资源。

  可选地,在本实施例中,认证证书可以但不限于是使用目标租户得到私钥生成的,生成后认证证书会存储在统一的证书管理平台,目标租户使用目标配置文件连接容器集群时,容器集群会读取目标配置文件中的证书信息,容器集群可以根据证书信息从证书管理平台调用该认证证书,并使用目标租户的公钥对其进行验证,验证通过后才可建立与目标租户之间的连接。

  在步骤S208提供的技术方案中,为目标用户账户生成对应的目标配置文件,目标配置文件中记录了目标租户和认证证书的证书信息。该目标配置文件用于使用容器管理平台提供的管理工具对目标租户在容器集群中创建的容器实例进行操作。使用目标配置文件对资源进行访问时会根据其中记录的目标租户来匹配权限进行验证。

  可选地,在本实施例中,上述管理工具可以但不限于包括k8s生态中的各种工具,比如:Kubectl以及kubernetes client library等。

  可选地,在本实施例中,目标配置文件可以但不限于是一个kubeconfig文件。Kubectl以及kubernetes client library等管理工具通过标准格式的kubeconfig文件直接来访问k8s集群,针对每个用户生成标准格式的kubeconfig文件,能够支持用户利用k8s生态中的各种工具(如kubectl客户端,kubernetes client library等)来管理容器实例,从而提高了租户访问集群资源的灵活性。

  作为一种可选的实施例,为所述目标租户在所述容器集群中创建目标用户帐户包括:

  S11,在所述容器集群中为所述目标租户创建目标命名空间,其中,所述目标命名空间用于创建所述目标租户的容器实例;

  S12,获取所述目标租户对应的所述目标访问权限,其中,所述目标访问权限用于指示允许所述目标租户访问所述目标命名空间以及允许所述目标租户访问的资源;

  S13,在所述容器集群中创建所述目标租户对应的初始用户账户;

  S14,将所述目标访问权限与所述初始用户账户进行绑定,得到所述目标用户账户。

  可选地,在本实施例中,在为目标租户创建容器实例功能时,为其创建目标命名空间,创建成功后目标租户创建的所有容器实例均存储在该目标命名空间中。

  可选地,在本实施例中,命名空间可以但不限于是namespace,创建的namespace和容器集群的租户一一对应并且namespace的名字中含有user_id信息作为namespace的标识。

  可选地,在本实施例中,目标访问权限用于指示允许目标租户访问目标命名空间以及允许目标租户访问的资源。也就是说,目标访问权限中指示了目标租户只能够访问为其创建的目标命名空间,并指示了目标租户在容器集群中能够访问的资源。

  可选地,在本实施例中,目标访问权限可以但不限于通过生成或者查找角色ROLE来获取。在角色ROLE中限定了该类型的角色可以对哪些资源进行哪些操作,从而实现限制用户的访问权限的目的。

  可选地,在本实施例中,首先为目标租户生成初始用户账户,再将该初始用户账户绑定到获取到的目标访问权限上,从而得到目标用户账户。

  作为一种可选的实施例,获取所述目标租户对应的所述目标访问权限包括以下之一:

  S21,从多个角色中获取所述目标租户对应的第一初始角色,其中,所述第一初始角色用于指示允许所述目标租户访问的资源;将命名空间访问权限添加到所述第一初始角色中,得到目标角色作为所述目标访问权限,其中,所述命名空间访问权限用于指示允许所述目标租户访问所述目标命名空间;

  S22,获取第二初始角色,其中,所述第二初始角色用于指示允许租户访问的初始资源;将所述第二初始角色修改为目标角色作为所述目标访问权限,其中,所述目标角色用于指示允许所述目标租户访问所述目标命名空间以及允许所述目标租户访问的资源。

  可选地,在本实施例中,一种获取目标访问权限的方式是在容器集群中预先创建了多个角色,每个角色用于指示允许租户访问的容器集群中的资源,根据目标租户的权限从多个角色中获取其权限对应的角色作为第一初始角色,将用于指示允许目标租户访问目标命名空间的命名空间访问权限添加到该第一初始角色中,得到目标角色作为目标租户的目标访问权限。

  可选地,在本实施例中,另一种获取目标访问权限的方式是预先在容器集群中创建第二初始角色来指示允许租户访问的初始资源,再根据允许目标租户访问的目标命名空间以及允许目标租户访问的资源对第二初始角色进行修改,从而得到目标角色作为目标访问权限。

  作为一种可选的实施例,生成所述目标用户帐户对应的目标配置文件包括:

  S31,生成目标格式的初始配置文件,其中,所述目标格式是符合所述容器集群的访问条件的格式;

  S32,将所述目标租户和所述证书信息写入所述初始配置文件,得到所述目标配置文件。

  可选地,在本实施例中,目标配置文件的格式是符合容器集群的访问条件的目标格式,可以首先生成符合目标格式的初始配置文件,再将创建的目标用户账户对应的目标租户和认证证书的证书信息等数据添加到初始配置文件中,得到目标配置文件。

  作为一种可选的实施例,在生成所述目标用户帐户对应的目标配置文件之后,还包括:

  S41,接收所述目标租户包括的用户发起的下载请求,其中,所述下载请求用于请求下载配置文件;

  S42,响应所述下载请求获取所述目标租户对应的所述目标配置文件;

  S43,将所述目标配置文件下载至所述用户所指示的下载位置。

  可选地,在本实施例中,目标租户可以但不限于是组织,机构,集团,个人,家庭在容器集群上注册的,每个目标租户下可以但不限于包括一个或者多个用户,比如:视频网站可以成为容器集群上的注册租户,视频网站的使用者可以成为视频网站租户的注册用户,即视频网站租户包括使用者用户。一个家庭可以成为容器集群上的注册租户,家庭中的家庭成员可以成为家庭租户的注册用户,即家庭租户包括家庭成员用户。企业或者机构可以成为容器集群上的注册租户,企业或者机构中的员工或者部门可以成为企业或者机构租户的注册用户,即企业或者机构租户包括员工用户、部门用户。

  可选地,在本实施例中,租户和用户的注册关系也可以是多层的,集团可以成为容器集群上的注册租户,集团中的企业或者公司可以成为集团租户的注册用户,企业或者公司的员工或者部门可以成为企业用户或者公司用户的注册用户。即集团租户可以包括企业用户,公司用户,员工用户,部门用户等等。

  可选地,在本实施例中,目标租户包括的用户可以通过主动发送下载请求来获取目标租户对应的配置文件,从而通过配置文件使用容器管理平台提供的管理工具对容器集群中的资源进行灵活操作。接收到下载请求后,将与目标租户具有对应关系的目标配置文件返回给用户。可以将目标配置文件下载至用户所指示的下载位置,比如:用户从网页上发起下载请求,可以将下载请求下载至浏览器的默认下载位置,或者用户指定的位置(桌面,指定文件夹等等)。

  可选地,在本实施例中,目标租户包括的用户可以通过下载的目标配置文件使用集群提供的kubectl客户端,kubernetes client library等工具来管理其创建的容器实例。

  作为一种可选的实施例,响应所述下载请求获取所述目标租户对应的所述目标配置文件包括:

  S51,从具有对应关系的租户和用户账户中获取所述目标租户对应的所述目标用户账户;

  S52,从具有对应关系的用户账户和配置文件中获取所述目标用户账户对应的所述目标配置文件。

  可选地,在本实施例中,集群中存储了具有对应关系的租户和用户账户以及具有对应关系的用户账户和配置文件,也就是说,可以将目标租户作为键key查找到值value目标用户账户,再将目标用户账户作为键key查找到值value目标配置文件。

  本申请还提供了一种可选实施例,该可选实施例提供了一种容器实例集群中多租户的访问权限控制过程,在租户创建容器实例产品时,自动为租户创建一个user account,配置相应的访问权限,生成认证证书,最后得到一个该租户对应的kubeconfig文件,租户可以通过这个config文件使用k8s生态中的各种工具(如kubectl客户端,kubernetesclientlibrary等)来管理容器实例。图3是根据本申请可选实施例的一种访问权限控制过程的示意图,如图3所示,公有云用户(租户A和租户B)在创建容器实例产品时,为用户在kubernets集群中创建一个namespace,namespace和租户一一对应并且namespace的名字中含有user_id信息作为标识,例如:为租户A创建namespace A,为租户B创建namespace B。租户A创建的容器实例(比如:Pot A1和Pot A2)均创建在namespace A中,租户B创建的容器实例(比如:Pot B1和Pot B2)均创建在namespace B中。

  对于每个用户,在kubernetes集群中为其创建一个user account,例如:为租户A创建user account A,为租户B创建user account B,并为其创建证书,该认证证书用于访问kubernetes集群。为user account绑定role,role的规则为(限制用户只能访问自己的namespace,限制用户只能访问有限的resource,如Pod、Deployment等),比如:预先创建了初始role,初始role中限制了用户能访问的namespace为namespace X,限制用户只能访问有限的resource:pods、deployments和configmaps。对user account A与初始role进行角色绑定(RoleBinding),将初始role中的namespace X修改为namespace A,得到useraccount A对应的role。对user account B与初始role进行角色绑定(RoleBinding),将初始role中的namespace X修改为namespace B,得到user account B对应的role。

  公有云用户可下载user account对应的kubeconfig文件,然后通过kubectl客户端(或者client library等)管理容器实例。

  需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。

  通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。

  根据本申请实施例的另一个方面,还提供了一种用于实施上述对租户访问容器实例的权限的控制方法的对租户访问容器实例的权限的控制装置,应用于容器集群中的容器管理平台,其中,所述容器集群还包括多个容器实例,所述多个容器实例属于至少两个不同的租户,不同租户的容器实例部署在不同的网络空间中以彼此隔离。图4是根据本申请实施例的一种可选的对租户访问容器实例的权限的控制装置的示意图,如图4所示,该装置可以包括:

  第一接收模块42,用于接收目标租户的容器创建请求,其中,所述容器创建请求用于请求在容器集群中创建容器实例;

  第一创建模块44,用于为所述目标租户在所述容器集群中创建目标用户帐户,其中,所述目标用户账户指定了所述目标租户在所述容器集群中的目标访问权限;

  第二创建模块46,用于创建所述目标用户账户对应的认证证书,其中,所述认证证书用于对所述目标租户的身份进行认证;

  生成模块48,用于生成所述目标用户帐户对应的目标配置文件,其中,所述目标配置文件用于使用所述容器管理平台提供的管理工具对所述目标租户在所述容器集群中创建的容器实例进行操作,所述目标配置文件中记录了所述目标租户和所述认证证书的证书信息。

  需要说明的是,该实施例中的第一接收模块42可以用于执行本申请实施例中的步骤S202,该实施例中的第一创建模块44可以用于执行本申请实施例中的步骤S204,该实施例中的第二创建模块46可以用于执行本申请实施例中的步骤S206,该实施例中的生成模块48可以用于执行本申请实施例中的步骤S208。

  此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。

  通过上述模块,在目标租户请求创建容器实例时,为其创建对应的指定了目标租户在容器集群中的目标访问权限的目标用户账户和认证证书,从而生成记录了目标租户和证书信息的目标配置文件,用户可以通过该目标配置文件使用所述容器管理平台提供的管理工具对所述目标租户在所述容器集群中创建的容器实例进行操作,达到了既能够对用户的访问权限进行控制又能够允许用户灵活操作资源的目的,从而实现了提高租户对容器实例进行访问和管理的灵活性的技术效果,进而解决了相关技术中租户对容器实例进行访问和管理的灵活性较差的技术问题。

  作为一种可选的实施例,所述第一创建模块包括:

  第一创建单元,用于在所述容器集群中为所述目标租户创建目标命名空间,其中,所述目标命名空间用于创建所述目标租户的容器实例;

  第一获取单元,用于获取所述目标租户对应的所述目标访问权限,其中,所述目标访问权限用于指示允许所述目标租户访问所述目标命名空间以及允许所述目标租户访问的资源;

  第二创建单元,用于在所述容器集群中创建所述目标租户对应的初始用户账户;

  绑定单元,用于将所述目标访问权限与所述初始用户账户进行绑定,得到所述目标用户账户。

  作为一种可选的实施例,所述获取单元用于以下之一:

  从多个角色中获取所述目标租户对应的第一初始角色,其中,所述第一初始角色用于指示允许所述目标租户访问的资源;将命名空间访问权限添加到所述第一初始角色中,得到目标角色作为所述目标访问权限,其中,所述命名空间访问权限用于指示允许所述目标租户访问所述目标命名空间;

  获取第二初始角色,其中,所述第二初始角色用于指示允许租户访问的初始资源;将所述第二初始角色修改为目标角色作为所述目标访问权限,其中,所述目标角色用于指示允许所述目标租户访问所述目标命名空间以及允许所述目标租户访问的资源。

  作为一种可选的实施例,所述生成模块包括:

  生成单元,用于生成目标格式的初始配置文件,其中,所述目标格式是符合所述容器集群的访问条件的格式;

  写入单元,用于将所述目标租户和所述证书信息写入所述初始配置文件,得到所述目标配置文件。

  作为一种可选的实施例,所述装置还包括:

  第二接收模块,用于在生成所述目标用户帐户对应的目标配置文件之后,接收所述目标租户包括的用户发起的下载请求,其中,所述下载请求用于请求下载配置文件;

  获取模块,用于响应所述下载请求获取所述目标租户对应的所述目标配置文件;

  下载模块,用于将所述目标配置文件下载至所述用户所指示的下载位置。

  作为一种可选的实施例,所述获取模块包括:

  第二获取单元,用于从具有对应关系的租户和用户账户中获取所述目标租户对应的所述目标用户账户;

  第三获取单元,用于从具有对应关系的用户账户和配置文件中获取所述目标用户账户对应的所述目标配置文件。

  此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。

  根据本申请实施例的另一个方面,还提供了一种用于实施上述对租户访问容器实例的权限的控制方法的电子装置。

  图5是根据本申请实施例的一种电子装置的结构框图,如图5所示,该电子装置可以包括:一个或多个(图中仅示出一个)处理器501、存储器503、以及传输装置505,如图5所示,该电子装置还可以包括输入输出设备507。

  其中,存储器503可用于存储软件程序以及模块,如本申请实施例中的对租户访问容器实例的权限的控制方法和装置对应的程序指令/模块,处理器501通过运行存储在存储器503内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的对租户访问容器实例的权限的控制方法。存储器503可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器503可进一步包括相对于处理器501远程设置的存储器,这些远程存储器可以通过网络连接至电子装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

  上述的传输装置505用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置505包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置505为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。

  其中,具体地,存储器503用于存储应用程序。

  处理器501可以通过传输装置505调用存储器503存储的应用程序,以执行下述步骤:

  接收目标租户的容器创建请求,其中,所述容器创建请求用于请求在容器集群中创建容器实例;

  为所述目标租户在所述容器集群中创建目标用户帐户,其中,所述目标用户账户指定了所述目标租户在所述容器集群中的目标访问权限;

  创建所述目标用户账户对应的认证证书,其中,所述认证证书用于访问对所述目标租户的身份进行认证;

  生成所述目标用户帐户对应的目标配置文件,其中,所述目标配置文件用于使用所述容器管理平台提供的管理工具对所述目标租户在所述容器集群中创建的容器实例进行操作,所述目标配置文件中记录了所述目标租户和所述认证证书的证书信息。

  采用本申请实施例,提供了一种对租户访问容器实例的权限的控制的方案。在目标租户请求创建容器实例时,为其创建对应的指定了目标租户在容器集群中的目标访问权限的目标用户账户和认证证书,从而生成记录了目标租户和证书信息的目标配置文件,用户可以通过该目标配置文件使用所述容器管理平台提供的管理工具对所述目标租户在所述容器集群中创建的容器实例进行操作,达到了既能够对用户的访问权限进行控制又能够允许用户灵活操作资源的目的,从而实现了提高租户对容器实例进行访问和管理的灵活性的技术效果,进而解决了相关技术中租户对容器实例进行访问和管理的灵活性较差的技术问题。

  可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。

  本领域普通技术人员可以理解,图5所示的结构仅为示意,电子装置可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等电子设备。图5其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图5中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图5所示不同的配置。

  本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令电子设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。

  本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行对租户访问容器实例的权限的控制方法的程序代码。

  可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。

  可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:

  接收目标租户的容器创建请求,其中,所述容器创建请求用于请求在容器集群中创建容器实例;

  为所述目标租户在所述容器集群中创建目标用户帐户,其中,所述目标用户账户指定了所述目标租户在所述容器集群中的目标访问权限;

  创建所述目标用户账户对应的认证证书,其中,所述认证证书用于访问对所述目标租户的身份进行认证;

  生成所述目标用户帐户对应的目标配置文件,其中,所述目标配置文件用于使用所述容器管理平台提供的管理工具对所述目标租户在所述容器集群中创建的容器实例进行操作,所述目标配置文件中记录了所述目标租户和所述认证证书的证书信息。

  可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。

  可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

  上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

  上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。

  在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

  在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

  所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

  另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

  以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

《一种对租户访问容器实例的权限的控制方法和装置.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)