CN117193944A - 应用运行环境生成方法、装置、服务器以及存储设备 - Google Patents
应用运行环境生成方法、装置、服务器以及存储设备 Download PDFInfo
- Publication number
- CN117193944A CN117193944A CN202311206883.7A CN202311206883A CN117193944A CN 117193944 A CN117193944 A CN 117193944A CN 202311206883 A CN202311206883 A CN 202311206883A CN 117193944 A CN117193944 A CN 117193944A
- Authority
- CN
- China
- Prior art keywords
- user
- application
- running
- current container
- target
- 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
- 238000000034 method Methods 0.000 title claims abstract description 76
- 238000012795 verification Methods 0.000 claims abstract description 78
- 238000004458 analytical method Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 description 18
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Storage Device Security (AREA)
Abstract
本申请提供一种应用运行环境生成方法、装置、服务器以及存储设备,可用于云计算领域以及除云计算领域以外的其他领域。该方法包括:在启动当前容器时,获取所述当前容器对应的运行用户的用户信息;所述运行用户为在当前容器中部署的目标应用对应的非root用户;所述用户信息包括用户标识和用户权限,所述用户标识基于所述目标应用的应用标识所生成;基于所述用户标识和用户权限对所述运行用户进行身份可信性验证,若确定所述运行用户通过验证,则基于所述用户标识生成所述当前容器的目标运行环境,以使所述当前容器可以运行所述目标应用。本申请的方法,提高了容器中应用运行的安全性。
Description
技术领域
本申请涉及云计算领域,尤其涉及一种应用运行环境生成方法、装置、服务器以及存储设备。
背景技术
随着云原生技术的广泛应用,容器作为云原生应用的主要交付方式,已经被广泛使用。
在目前的容器平台生态环境下,以root权限运行容器会导致容器存在诸多安全问题。例如root权限容易被攻击者利用,导致容器中的应用程序被操纵,从而影响应用程序的安全性。此外,在多个云原生平台上使用容器等特定场景下,容器中应用程序以root权限运行也会面临一些特定的问题,如部署和管理复杂度的增加等。
目前,为了解决以root用户运行容器所导致的安全问题,现有技术通常会将容器运行的root用户切换为普通用户。然而,这种方案仍然存在一些缺点。例如,存在操作繁琐、容易出错等问题,容易导致应用程序无法正常运行。
发明内容
本申请提供一种应用运行环境生成方法、装置、服务器以及存储设备,用以解决现有技术中以非root用户运行容器时易导致容器中应用无法正常运行的问题。
第一方面,本申请提供一种应用运行环境生成方法,包括:
在启动当前容器时,获取所述当前容器对应的运行用户的用户信息;所述运行用户为在当前容器中部署的目标应用对应的非root用户;所述用户信息包括用户标识和用户权限,所述用户标识基于所述目标应用的应用标识所生成;
基于所述用户标识和用户权限对所述运行用户进行身份可信性验证,若确定所述运行用户通过验证,则基于所述用户标识生成所述当前容器的目标运行环境,以使所述当前容器可以运行所述目标应用。
可选的,在启动当前容器之前,所述方法还包括:
获取所述目标应用的应用代码源文件,生成所述应用代码源文件对应的代码镜像文件,并将所述代码镜像文件存储至所述当前容器,以实现将所述目标应用部署于所述当前容器。
可选的,在将所述代码镜像文件存储至所述当前容器之前,所述方法还包括:
获取所述目标应用的应用标识,基于所述应用标识确定所述目标应用对应的运行用户的用户标识;并基于所述用户标识和所述应用标识生成所述目标应用对应的运行用户;
获取所述运行用户对应的用户权限,并将所述用户权限和所述用户标识写入所述代码镜像文件。
可选的,基于所述用户标识和用户权限对所述运行用户进行身份可信性验证,包括:
基于预设的标识验证信息和所述用户标识生成第一可信性验证结果,并基于预设的权限验证信息和所述用户权限生成第二可信性验证结果;
基于所述第一可信性验证结果和所述第二可信性验证结果生成所述运行用户的身份可信性验证结果。
可选的,基于所述用户标识生成所述当前容器的目标运行环境,包括:
基于所述用户标识确定所述目标运行环境的第一环境变量,并基于所述第一环境变量生成所述当前容器的目标运行环境。
可选的,在生成所述当前容器的目标运行环境之后,所述方法还包括:
获取所述目标应用在运行过程中的运行日志,并对所述运行日志进行日志分析,得到所述目标运行应用对应的运行分析结果。
可选的,在生成所述当前容器的目标运行环境之后,所述方法还包括:
基于所述用户权限确定所述目标应用的运行权限,并基于所述运行权限控制所述目标应用运行。
第二方面,本申请提供一种应用运行环境生成装置,包括:
用户信息获取模块,用于在启动当前容器时,获取所述当前容器对应的运行用户的用户信息;所述运行用户为在当前容器中部署的目标应用对应的非root用户;所述用户信息包括用户标识和用户权限,所述用户标识基于所述目标应用的应用标识所生成;
运行环境生成模块,用于基于所述用户标识和用户权限对所述运行用户进行身份可信性验证,若确定所述运行用户通过验证,则基于所述用户标识生成所述当前容器的目标运行环境,以使所述当前容器可以运行所述目标应用。
可选的,该装置还包括:
代码镜像文件生成模块,用于在启动当前容器之前,获取所述目标应用的应用代码源文件,生成所述应用代码源文件对应的代码镜像文件,并将所述代码镜像文件存储至所述当前容器,以实现将所述目标应用部署于所述当前容器。
可选的,用户标识生成模块,用于在将所述代码镜像文件存储至所述当前容器之前,获取所述目标应用的应用标识,基于所述应用标识确定所述目标应用对应的运行用户的用户标识;并基于所述用户标识和所述应用标识生成所述目标应用对应的运行用户;
用户权限获取模块,用于获取所述运行用户对应的用户权限,并将所述用户权限和所述用户标识写入所述代码镜像文件。
可选的,运行环境生成模块,包括:
可信性验证结果生成单元,用于基于预设的标识验证信息和所述用户标识生成第一可信性验证结果,并基于预设的权限验证信息和所述用户权限生成第二可信性验证结果;
身份可信性验证结果生成单元,用于基于所述第一可信性验证结果和所述第二可信性验证结果生成所述运行用户的身份可信性验证结果。
可选的,身份可信性验证结果,包括:
目标运行环境生成单元,用于基于所述用户标识确定所述目标运行环境的第一环境变量,并基于所述第一环境变量生成所述当前容器的目标运行环境。
可选的,该装置还包括:
运行日志获取模块,用于在生成所述当前容器的目标运行环境之后,获取所述目标应用在运行过程中的运行日志,并对所述运行日志进行日志分析,得到所述目标运行应用对应的运行分析结果。
可选的,该装置还包括:
运行权限确定模块,用于在生成所述当前容器的目标运行环境之后,基于所述用户权限确定所述目标应用的运行权限,并基于所述运行权限控制所述目标应用运行。
第三方面,本申请提供一种服务器,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面所述的方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面所述的方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现第一方面所述的方法。
本申请提供的应用运行环境生成方法,通过在将目标应用部署至当前容器中时,基于目标应用的应用标识自动生成运行用户的用户标识,进而基于用户标识和获取到的用户权限生成不具备root权限的运行用户,进而将上述用户信息写入目标应用的代码镜像文件后,将代码镜像文件存储至当前容器中,实现目标应用的部署操作;进一步的,在部署完成后启动当前容器,并基于目标应用的运行用户的用户信息对运行用户进行身份可信性验证,并在运行用户通过验证时,基于用户标识生成当前容器的目标运行环境,以便于后续在当前容器中以非root用户正常运行目标应用;实现在简单操作的情况下以非root用户正常运行应用中的应用程序,进而实现提高容器中应用运行的安全性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请提供的一种应用运行环境生成方法的应用场景图;
图2为本申请实施例提供的一种应用运行环境生成方法的流程示意图;
图3为本申请实施例提供的另一种应用运行环境生成方法的流程示意图;
图4为本申请实施例提供的一种应用运行环境生成装置的结构示意图;
图5为本申请实施例提供的一种服务器的结构示意图;
图6为本申请实施例提供的一种服务器的框图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,本申请提供的应用运行环境生成方法和装置可用于云计算领域,也可用于除云计算领域之外的任意领域,本申请提供的应用运行环境生成方法和装置的应用领域不做限定。
在实际应用中,由于root权限具有极高的系统特权,容器以具有root权限的用户(root用户)运行会带来系统安全方面的隐患,为了解决以root用户运行容器所导致的安全问题,现有技术通常会将容器运行的root用户切换为不具有root权限的普通用户。例如,通过手动在Dockerfile中添加用户ID和用户组ID来生成不具有root权限的运行用户,即以非root用户运行容器应用。但是,本申请发明人发现上述方案在实施过程中存在一些问题:比如手动添加用户ID和用户组ID存在容易出错等问题,并且在应用安装过程中需要设置目录权限存在操作复杂、不够自动化和智能化的问题;此外,如果容器中运行的应用需要使用某些特权操作,如启动cron任务守护进程,普通用户就无法进行操作,导致应用无法正常运行。
本申请提供的应用运行环境生成方法,旨在解决现有技术的如上技术问题。具体的,通过自动生成用户ID和用户组ID,实现在简单操作的情况下以非root用户正常运行应用中的应用程序,进而实现提高容器中应用运行的安全性。
图1为本申请提供的一种应用运行环境生成方法的应用场景图。便于理解,下面结合图1对本申请实施例所适用的应用场景进行说明。参见图1,云平台中运行有多个容器,各容器中设置有应用运行环境生成装置,该装置可以在对应的容器中生成多个应用以及各目标应用对应的运行用户和目标运行环境,以使运行用户可以在目标运行环境中运行对应的目标应用。
具体的,应用运行环境生成装置在启动容器前,通过预先设置的应用生成模块基于待部署的目标应用的应用代码源文件生成代码镜像文件,并基于该目标应用的应用标识生成对应的运行用户的用户标识,进而生成具有非root权限的运行用户;设置运行用户的用户权限,将用户权限和用户标识写入代码镜像文件中,将代码镜像文件存储至当前容器中,实现在当前容器中部署目标应用。进一步的,在启动当前容器时,获取容器中运行的目标应用对应的运行用户的用户标识,基于用户标识和用户权限对运行用户进行身份可信性验证,若确定运行用户通过验证,则基于用户标识生成当前容器的目标运行环境,以使当前容器可以运行目标应用。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2为本申请实施例提供的一种应用运行环境生成方法的流程示意图。该方法可以由应用运行环境生成装置执行,该应用运行环境生成装置可以是服务器,本实施例中的方法可以通过软件、硬件或者软硬件结合的方式来实现,如图2所示,该方法包括如下步骤。
S210、在启动当前容器时,获取当前容器对应的运行用户的用户信息。
在本申请实施例中,当前容器为部署在多容器平台中的任一容器。在当前容器中可以运行多个部署好的目标应用,各部署好的应用需要通过运行用户在当前容器中运行。其中,运行用户为在当前容器中部署的目标应用对应的非root用户。需要解释的是,若在容器中部署应用时将应用对应的运行用户的用户权限设置为root权限,即以root用户运行应用,则容易导致应用在运行时出现安全问题,所以可以将运行用户的用户权限设置为非root权限,即得到非root用户。但是现有技术中在生成非root用户时采用手动方式生成用户标识,导致操作繁琐,且以出现安全问题;基于此,本申请技术方案中在生成具有root权限的运行用户时采用的方式是通过运行用户对应的目标应用的应用标识自动生成用户标识,进而实现快捷自动地生成非root用户,实现提高运行用户生成的效率,进而提升后续应用运行时的安全性。
具体的,为了使当前容器可以正常启动并运行各目标应用,需要预先在启动应用前部署好各目标应用。
可选的,本申请实施例中在容器中部署目标应用的方法可以包括:获取目标应用的应用代码源文件,生成应用代码源文件对应的代码镜像文件,并将代码镜像文件存储至当前容器,以实现将目标应用部署于当前容器。
在实际应用中,将目标应用部署至当前容器中的过程可以理解为将目标应用的应用源码文件复制一份存储于当前容器的预设位置中。具体的,以任一目标应用的部署过程进行示例性的说明:确定待部署于当前容器的目标应用,并基于预设的代码存储位置获取目标应用的应用代码源文件,并对该应用代码源文件进行文件复制处理,得到对应的代码镜像文件,进而将代码镜像文件存储至当前容器中的预设位置,实现将目标应用部署于当前容器中。
需要说明的是,为了实现后续当前容器运行目标应用的运行用户为非root用户,可以在得到目标应用的代码镜像文件时在该文件中写入运行用户的用户信息,并将写入后的代码镜像文件存储于当前容器中。可选的,本申请实施例中在代码镜像文件写入运行用户的用户信息的方法可以包括:获取目标应用的应用标识,基于应用标识确定目标应用对应的运行用户的用户标识;并基于用户标识和应用标识生成目标应用对应的运行用户;获取运行用户对应的用户权限,并将用户权限和用户标识写入代码镜像文件。
在本申请中,用户信息可以包括运行用户的用户标识。具体的,在目标应用的应用代码源文件中进行标识读取,得到目标应用的应用标识,进而可以通过对应用标识进行预设方式的标识处理,得到目标应用对应的运行用户的用户标识;其中,用户标识可以是运行用户的用户ID和用户组ID。示例性的,标识处理方式可以是基于预设的编码组件对应用标识进行编码转换,得到运行用户的用户ID和用户组ID,也可以是在应用标识的基础上添加预设字符串,当然还可以根据实际情况选择其他标识处理方式,本申请对于标识处理方式不做具体限定。进一步的,将获取到的应用标识和用户标识作为生成运行用户的环境变量写入代码镜像文件中的预设位置,以实现生成目标应用对应的运行用户。
需要说明的是,为了保证运行用户在当前容器中运行目标应用时的容器安全性,本申请实施例技术方案还预先基于各目标应用的应用属性等信息预先为运行用户设定了小于root权限的用户权限,并在生成目标应用的运行用户时,获取运行用户对应的用户权限,并将用户权限也作为运行用户的用户信息写入用户标识在代码镜像文件中的存储位置,实现生成运行用户对应的具备非root权限的运行用户,即非root用户。
进一步的,在将上述用户信息写入代码镜像文件之后,将写入信息后的代码镜像文件存储至当前容器中,实现在当前容器中部署目标应用的同时生成目标应用对应的运行用户,进而可以实现后续以运行用户在当前容器中运行目标应用。
在上述实施方式的基础上,当在平台中启动当前容器时,为了使容器启动后可以正常运行部署于当前容器中的各目标应用,可以获取各目标应用分别对应的运行用户的用户信息,并基于各用户信息确定当前容器是否可以正常运行目标应用。
S220、基于用户标识和用户权限对运行用户进行身份可信性验证,若确定运行用户通过验证,则基于用户标识生成当前容器的目标运行环境。
在本申请实施例中,对于任一目标应用来说,在基于上述实施方式获得目标应用对应的运行用户的用户信息时,可以基于对用户信息进行查验等处理确定当前容器是否可以正常运行目标应用。
具体的,用户信息包括用户标识和用户权限,相应的,确定是否可以运行目标应用的方法可以包括:基于用户标识和用户权限对运行用户进行双重身份验证,并在运行用户通过验证时,基于用户标识生成当前容器的目标运行环境,以便于后续在当前容器中正常运行目标应用。具体的,关于对运行用户的可信性验证以及生成目标运行环境的具体步骤可在后续实施方式中进行详细描述,即此处不再对上述内容进行详述。
在上述技术方案中,通过在将目标应用部署至当前容器中时,基于目标应用的应用标识自动生成运行用户的用户标识,进而基于用户标识和获取到的用户权限生成不具备root权限的运行用户,进而将上述用户信息写入目标应用的代码镜像文件后,将代码镜像文件存储至当前容器中,实现目标应用的部署操作;进一步的,在部署完成后启动当前容器,并基于目标应用的运行用户的用户信息对运行用户进行身份可信性验证,并在运行用户通过验证时,基于用户标识生成当前容器的目标运行环境,以便于后续在当前容器中以非root用户正常运行目标应用;实现在简单操作的情况下以非root用户正常运行应用中的应用程序,进而实现提高容器中应用运行的安全性。
图3为本申请实施例提供的另一种应用运行环境生成方法的流程示意图。本实施例可理解为上述实施例介绍的方法中提及步骤的具体化介绍实施例,参见图3,该方法具体可以包括:
S310、在启动当前容器时,获取当前容器对应的运行用户的用户信息。
具体的,对步骤S310中技术手段、技术效果、技术名词的理解与举例,可参照上述实施例中对步骤S210的解释。
S320、基于用户标识和用户权限对运行用户进行身份可信性验证,若确定运行用户通过验证,则基于用户标识生成当前容器的目标运行环境。
具体的,对步骤S320中技术手段、技术效果、技术名词的理解与举例,可参照上述实施例中对步骤S220的解释。
在上述实施方式的基础上,在本实施例中,步骤S320的步骤中具体可以包括:
S321、基于预设的标识验证信息和用户标识生成第一可信性验证结果,并基于预设的权限验证信息和用户权限生成第二可信性验证结果。
在本申请实施例中,运行用户的用户信息包括用户标识和用户权限,在对运行用户进行身份科信息验证时,可以分别对用户标识和用户权限进行验证,进而基于得到的两个验证结果确定运行用户是否可以通过验证。
具体的,获取当前容器中预先生成的标识验证信息,在实际应用中,由于用户标识时基于应用标识所生成的,所以可以基于应用标识生成标识验证信息,进而将标识验证信息对用户标识进行验证,可以提高验证结果的准确性。具体的,将标识验证信息和用户标识进行匹配验证处理,并生成运行用户在验证过程中的第一可信验证结果。
在本申请实施例中,获取当前容器中预先生成的权限验证信息,需要说明的是,权限验证信息可以是基于当前容器中预先获取到的运行用户的用户权限所生成的。进一步的额,将权限验证信息和用户权限进行匹配验证处理,并生成运行用户在验证过程中的第二可信验证结果。
S322、基于第一可信性验证结果和第二可信性验证结果生成运行用户的身份可信性验证结果。
在本申请实施例中,为了进一步提高运行用户后续运行目标应用时的安全性,在基于上述实施方式中获得第一可信验证结果和第二可信验证结果的基础上,可选的,可以在第一可信验证结果和第二可信验证结果均为验证通过时,确定运行用户的身份可信性验证结果才为验证通过,反之,若有任一验证结果未验证通过,则运行用户的身份可信性验证结果即为未验证通过。
S323、基于用户标识确定目标运行环境的第一环境变量,并基于第一环境变量生成当前容器的目标运行环境。
在本申请实施例中,基于上述实施方式对运行用户进行双重身份验证,并在运行用户通过验证时,基于用户标识生成当前容器的目标运行环境,以便于后续在当前容器中正常运行目标应用。
具体的,生成目标运行环境的方法可以包括:将用户标识作为生成运行目标应用的目标运行环境所需的第一环境变量。需要说明的是,本申请中还需要将生成目标运行环境所需的其他变量作为第二环境变量,并将第二环境变量与该第一环境变量写入当然容器中的预设位置,以实现生成目标运行环境。
在上述方案中,通过在将目标应用部署至当前容器中时,基于目标应用的应用标识自动生成运行用户的用户标识,进而基于用户标识和获取到的用户权限生成不具备root权限的运行用户,进而将上述用户信息写入目标应用的代码镜像文件后,将代码镜像文件存储至当前容器中,实现目标应用的部署操作;进一步的,在部署完成后启动当前容器,并基于目标应用的运行用户的用户信息对运行用户进行身份可信性验证,并在运行用户通过验证时,基于用户标识生成当前容器的目标运行环境,以便于后续在当前容器中以非root用户正常运行目标应用;实现在简单操作的情况下以非root用户正常运行应用中的应用程序,进而实现提高容器中应用运行的安全性。
在上述实施方式的基础上,在生成目标运行环境之后,在目标运行环境中以运行用户运行目标应用。需要说明的是,运行用户在运行目标应用时基于用户权限确定目标应用的运行权限,并基于运行权限控制目标应用运行,实现当前容器在运行时对容器中的目标应用的运行环境进行限制,防止容器中运行的目标应用对主机系统造成潜在威胁,进一步保证了容器在运行时的安全性。
在上述实施方式的基础上,本申请提供的技术方案还包括:在生成当前容器的目标运行环境之后,获取目标应用在运行过程中的运行日志,并对运行日志进行日志分析,得到目标运行应用对应的运行分析结果,实现帮助用户进行目标应用的故障排查和性能分析,进一步保证了容器在运行时的安全性。
图4为本申请实施例提供的一种应用运行环境生成装置的结构示意图。参见图4,该装置包括:用户信息获取模块410和运行环境生成模块420;其中,
用户信息获取模块410,用于在启动当前容器时,获取当前容器对应的运行用户的用户信息;运行用户为在当前容器中部署的目标应用对应的非root用户;用户信息包括用户标识和用户权限,用户标识基于目标应用的应用标识所生成;
运行环境生成模块420,用于基于用户标识和用户权限对运行用户进行身份可信性验证,若确定运行用户通过验证,则基于用户标识生成当前容器的目标运行环境,以使当前容器可以运行目标应用。
可选的,该装置还包括:
代码镜像文件生成模块,用于在启动当前容器之前,获取目标应用的应用代码源文件,生成应用代码源文件对应的代码镜像文件,并将代码镜像文件存储至当前容器,以实现将目标应用部署于当前容器。
可选的,用户标识生成模块,用于在将代码镜像文件存储至当前容器之前,获取目标应用的应用标识,基于应用标识确定目标应用对应的运行用户的用户标识;并基于用户标识和应用标识生成目标应用对应的运行用户;
用户权限获取模块,用于获取运行用户对应的用户权限,并将用户权限和用户标识写入代码镜像文件。
可选的,运行环境生成模块420,包括:
可信性验证结果生成单元,用于基于预设的标识验证信息和用户标识生成第一可信性验证结果,并基于预设的权限验证信息和用户权限生成第二可信性验证结果;
身份可信性验证结果生成单元,用于基于第一可信性验证结果和第二可信性验证结果生成运行用户的身份可信性验证结果。
可选的,运行环境生成模块420,包括:
目标运行环境生成单元,用于基于用户标识确定目标运行环境的第一环境变量,并基于第一环境变量生成当前容器的目标运行环境。
可选的,该装置还包括:
运行日志获取模块,用于在生成当前容器的目标运行环境之后,获取目标应用在运行过程中的运行日志,并对运行日志进行日志分析,得到目标运行应用对应的运行分析结果。
可选的,该装置还包括:
运行权限确定模块,用于在生成当前容器的目标运行环境之后,基于用户权限确定目标应用的运行权限,并基于运行权限控制目标应用运行。
图5为本申请实施例提供的一种服务器的结构示意图。如图5所示,本实施例的服务器可以包括:
至少一个处理器501;以及
与至少一个处理器通信连接的存储器502;
其中,存储器502存储有可被至少一个处理器501执行的指令,指令被至少一个处理器501执行,以使服务器执行如上述任一实施例的方法。
可选地,存储器502既可以是独立的,也可以跟处理器501集成在一起。
本实施例提供的服务器的实现原理和技术效果可以参见前述各实施例,此处不再赘述。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当处理器执行计算机执行指令时,实现前述任一实施例的方法。
本申请实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现前述任一实施例的方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例方法的部分步骤。
应理解,上述处理器可以是中央处理单元(Central Processing Unit,简称CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于服务器或主控设备中。
图6为本申请实施例提供的一种服务器的框图。参见图6,服务器800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)接口812,传感器组件814,以及通信组件816。
处理组件802通常控制服务器800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在服务器800的操作。这些数据的示例包括用于在服务器800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为服务器800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为服务器800生成、管理和分配电力相关联的组件。
多媒体组件808包括在服务器800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当服务器800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当服务器800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为服务器800提供各个方面的状态评估。例如,传感器组件814可以检测到服务器800的打开/关闭状态,组件的相对定位,例如组件为服务器800的显示器和小键盘,传感器组件814还可以检测服务器800或服务器800一个组件的位置改变,用户与服务器800接触的存在或不存在,服务器800方位或加速/减速和服务器800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于服务器800和其他设备之间有线或无线方式的通信。服务器800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,服务器800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由服务器800的处理器820执行以完成上述方法。例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当该存储介质中的指令由服务器的处理器执行时,使得服务器能够执行上述服务器的应用运行环境生成方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (10)
1.一种应用运行环境生成方法,其特征在于,应用于多容器平台,所述方法包括:
在启动当前容器时,获取所述当前容器对应的运行用户的用户信息;所述运行用户为在当前容器中部署的目标应用对应的非root用户;所述用户信息包括用户标识和用户权限,所述用户标识基于所述目标应用的应用标识所生成;
基于所述用户标识和用户权限对所述运行用户进行身份可信性验证,若确定所述运行用户通过验证,则基于所述用户标识生成所述当前容器的目标运行环境,以使所述当前容器可以运行所述目标应用。
2.根据权利要求1所述的方法,其特征在于,在启动当前容器之前,所述方法还包括:
获取所述目标应用的应用代码源文件,生成所述应用代码源文件对应的代码镜像文件,并将所述代码镜像文件存储至所述当前容器,以实现将所述目标应用部署于所述当前容器。
3.根据权利要求2所述的方法,其特征在于,在将所述代码镜像文件存储至所述当前容器之前,所述方法还包括:
获取所述目标应用的应用标识,基于所述应用标识确定所述目标应用对应的运行用户的用户标识;并基于所述用户标识和所述应用标识生成所述目标应用对应的运行用户;
获取所述运行用户对应的用户权限,并将所述用户权限和所述用户标识写入所述代码镜像文件。
4.根据权利要求1所述的方法,其特征在于,基于所述用户标识和用户权限对所述运行用户进行身份可信性验证,包括:
基于预设的标识验证信息和所述用户标识生成第一可信性验证结果,并基于预设的权限验证信息和所述用户权限生成第二可信性验证结果;
基于所述第一可信性验证结果和所述第二可信性验证结果生成所述运行用户的身份可信性验证结果。
5.根据权利要求1所述的方法,其特征在于,基于所述用户标识生成所述当前容器的目标运行环境,包括:
基于所述用户标识确定所述目标运行环境的第一环境变量,并基于所述第一环境变量生成所述当前容器的目标运行环境。
6.根据权利要求1所述的方法,其特征在于,在生成所述当前容器的目标运行环境之后,所述方法还包括:
获取所述目标应用在运行过程中的运行日志,并对所述运行日志进行日志分析,得到所述目标运行应用对应的运行分析结果。
7.根据权利要求1所述的方法,其特征在于,在生成所述当前容器的目标运行环境之后,所述方法还包括:
基于所述用户权限确定所述目标应用的运行权限,并基于所述运行权限控制所述目标应用运行。
8.一种应用运行环境生成装置,其特征在于,应用于多容器平台,所述装置包括:
用户信息获取模块,用于在启动当前容器时,获取所述当前容器对应的运行用户的用户信息;所述运行用户为在当前容器中部署的目标应用对应的非root用户;所述用户信息包括用户标识和用户权限,所述用户标识基于所述目标应用的应用标识所生成;
运行环境生成模块,用于基于所述用户标识和用户权限对所述运行用户进行身份可信性验证,若确定所述运行用户通过验证,则基于所述用户标识生成所述当前容器的目标运行环境,以使所述当前容器可以运行所述目标应用。
9.一种服务器,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311206883.7A CN117193944A (zh) | 2023-09-18 | 2023-09-18 | 应用运行环境生成方法、装置、服务器以及存储设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311206883.7A CN117193944A (zh) | 2023-09-18 | 2023-09-18 | 应用运行环境生成方法、装置、服务器以及存储设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117193944A true CN117193944A (zh) | 2023-12-08 |
Family
ID=88995933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311206883.7A Pending CN117193944A (zh) | 2023-09-18 | 2023-09-18 | 应用运行环境生成方法、装置、服务器以及存储设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117193944A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117492872A (zh) * | 2023-12-29 | 2024-02-02 | 深圳海智创科技有限公司 | 环境配置方法、装置、系统及存储介质 |
-
2023
- 2023-09-18 CN CN202311206883.7A patent/CN117193944A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117492872A (zh) * | 2023-12-29 | 2024-02-02 | 深圳海智创科技有限公司 | 环境配置方法、装置、系统及存储介质 |
CN117492872B (zh) * | 2023-12-29 | 2024-05-24 | 深圳海智创科技有限公司 | 环境配置方法、装置、系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2017518598A (ja) | 権限管理方法、装置、プログラムおよび記録媒体 | |
CN108008955B (zh) | 显示自定义控件信息的方法、装置 | |
CN107766701B (zh) | 电子设备、动态库文件保护方法及装置 | |
CN106406956B (zh) | 应用程序的安装方法及装置 | |
EP3176719B1 (en) | Methods and devices for acquiring certification document | |
CN111199039B (zh) | 应用程序的安全性校验方法、装置及终端设备 | |
CN117193944A (zh) | 应用运行环境生成方法、装置、服务器以及存储设备 | |
CN108153540B (zh) | 系统升级的方法、装置、终端及存储介质 | |
US10402562B2 (en) | Method and device for encrypting application | |
CN108229173B (zh) | 系统启动的方法及装置 | |
CN108228263A (zh) | 系统启动的方法及装置 | |
CN108664821B (zh) | 卡片复制方法、装置及存储介质 | |
CN112631695A (zh) | 一种数据校验方法、装置、电子设备及存储介质 | |
CN108021808B (zh) | 账本安全加固方法、装置及电子设备 | |
CN106709285B (zh) | 应用锁界面的显示方法及装置 | |
CN111813426A (zh) | 一种指纹数据处理方法及装置 | |
CN116506215B (zh) | 访问处理方法、装置、电子设备以及存储介质 | |
CN110928595A (zh) | 一种权限操作方法及装置 | |
CN112020059B (zh) | Nfc指令处理方法、nfc指令处理装置及存储介质 | |
CN107391972B (zh) | 软件控制方法、装置和移动终端 | |
CN111596949B (zh) | 一种开发应用程序的方法及装置 | |
CN111241522B (zh) | 固件签名方法及装置、存储介质 | |
CN112667852B (zh) | 基于视频的搜索方法、装置、电子设备及存储介质 | |
CN114648828B (zh) | 一种门禁管理方法、系统、电子设备及非瞬态可存储介质 | |
CN113392393B (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 |