CN111597518B - 一种Docker引擎用户权限安全控制方法及装置 - Google Patents
一种Docker引擎用户权限安全控制方法及装置 Download PDFInfo
- Publication number
- CN111597518B CN111597518B CN202010317593.XA CN202010317593A CN111597518B CN 111597518 B CN111597518 B CN 111597518B CN 202010317593 A CN202010317593 A CN 202010317593A CN 111597518 B CN111597518 B CN 111597518B
- Authority
- CN
- China
- Prior art keywords
- user
- line parameter
- command line
- user command
- parameter options
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种Docker引擎用户权限安全控制方法及装置,包括:在接收到用户的Docker命令时,获取用户的第一用户权限信息和第一用户命令行参数选项;将第一用户权限信息和第一用户命令行参数选项进行第一次封装;验证用户的第二权限信息和第二用户命令行参数选项是否是第一次封装后的第一用户权限信息和第一用户命令行参数选项;将验证完毕后的第二权限信息和第二用户命令行参数选项进行二次封装发送给Docker引擎。通过对用户的权限信息和命令行参数进行验证和两次包装,使用户在Docker引擎中的权限参数只能是固定的,无法使用别的权限参数来使用Docker引擎,避免了别人使用Docker引擎时盗用自己的数据,用户本身也无法获取其他人的权限,访问非授权的数据,极大的提高了安全性。
Description
技术领域
本发明涉及计算机安全技术领域,尤其涉及一种Docker引擎用户权限安全控制方法及装置。
背景技术
目前,软件的开发越来越多,开发者们通过将开发出的软件放到Docker引擎中然后在Linux系统上进行操作,现有方法的步骤为:通过重新构建Docker镜像的方式,在Docker镜像中添加用户,并设置用户的uid和gid。并且对镜像仓库进行权限管理;限制用户执行docker命令或通过第三方工具、平台执行docker run来启动引擎。但是这种方法存在以下缺点:用户启动引擎的时候,可以自己提升引擎的权限为root权限;也可以指定引擎中运行的用户为任意用户;可以访问、修改、删除任意数据,执行任意程序。使得Docker引擎的安全性变得很低从而造成数据丢失或让盗窃进而对经济造成重大损失的问题。
发明内容
针对上述所显示出来的问题,本方法基于对用户发出的Docker命令中的用户权限信息和用户命令行参数选项进行封装、验证再封装来实现用户权限的安全控制。
一种Docker引擎用户权限安全控制方法,包括以下步骤:
在接收到用户的Docker命令时,获取所述用户的第一用户权限信息和第一用户命令行参数选项;
将所述第一用户权限信息和第一用户命令行参数选项进行第一次封装;
验证所述用户的第二权限信息和第二用户命令行参数选项是否是第一次封装后的第一用户权限信息和第一用户命令行参数选项;
将验证完毕后的第二权限信息和第二用户命令行参数选项进行二次封装发送给所述Docker引擎。
优选的,所述在接收到用户的Docker命令时,获取所述用户的第一用户权限信息和第一用户命令行参数选项,包括:
在接收到Docker命令时,拦截所述Docker命令;
确认发出所述Docker命令的用户的身份信息;
将所述身份信息输入到预先建立的id库中获取所述用户的用户id和组id;
将所述用户id和组id确定为所述第一用户权限信息;
对所述Docker命令进行行参数分析,获取分析结果;
将所述分析结果中符合预设条件的用户命令行参数选项确认为所述第一用户命令行参数选项。
优选的,所述将所述第一用户权限信息和第一用户命令行参数选项进行第一次封装,包括:
将所述第一用户权限信息和第一用户命令行参数选项进行审核;
审核完毕后将所述第一用户权限信息和第一用户命令行参数选项进行锁定;
将锁定之后的第一用户权限信息和第一用户命令行参数选项进行第一次封装;
对所述第一用户命令行参数选项进行分析,判断所述第一用户命令行参数选项是否与权限提升有关以及是否映射非授权的指令,输出判断结果。
优选的,所述验证所述用户的第二权限信息和第二用户命令行参数选项是否是第一次封装后的第一用户权限信息和第一用户命令行参数选项,包括:
对比所述用户的第二权限信息和所述第一权限信息是否相同,获取第一对比结果,对比所述第二用户命令行参数选项和所述第一用户命令行参数选项是否相同,获取第二对比结果;
若所述第一对比结果和所述第二对比结果都显示相同时,确认所述用户的第二权限信息和第二用户命令行参数选项为所述第一次封装后的第一用户权限信息和第一用户命令行参数选项;
若所述第一对比结果和所述第二对比结果有任一对比结果显示不相同时,提醒所述第二权限信息和第二用户命令行参数选项非所述第一次封装后的第一用户权限信息和第一用户命令行参数选项。
优选的,所述将将验证完毕后的第二权限信息和第二用户命令行参数选项进行二次封装发送给所述Docker引擎,包括:
当所述第二权限信息和第二用户命令行参数选项是第一次封装后的第一用户权限信息和第一用户命令行参数选项时,获取所述判断结果;
根据所述判断结果确定所述第一用户命令行参数选项中与权限提升有关以及映射非授权的指令的第三用户命令行参数选项;
从所述第二用户命令行参数选项中将所述第三用户命令行参数选项剔除,获得第四用户命令行参数选项,所述第四用户命令行参数选项为所述第二用户命令行参数选项中除所述第三用户命令行参数选项之外的第二用户命令行参数选项;
将所述第四用户命令行参数选项与所述第二权限信息锁定;
锁定之后将所述第二用户权限信息和所述第四用户命令行参数选项进行二次封装;
将二次封装完毕后的第二用户权限信息和第四用户命令行参数选项发送到所述Docker引擎。
一种Docker引擎用户权限安全控制装置,该装置包括:
获取模块,用于在接收到用户的Docker命令时,获取所述用户的第一用户权限信息和第一用户命令行参数选项;
第一封装模块,用于将所述第一用户权限信息和第一用户命令行参数选项进行第一次封装;
验证模块,用于验证所述用户的第二权限信息和第二用户命令行参数选项是否是第一次封装后的第一用户权限信息和第一用户命令行参数选项;
第二封装模块,用于将验证完毕后的第二权限信息和第二用户命令行参数选项进行二次封装发送给所述Docker引擎。
优选的,所述获取模块,包括:
拦截子模块,用于在接收到Docker命令时,拦截所述Docker命令;
第一确认子模块,用于确认发出所述Docker命令的用户的身份信息;
第一获取子模块,用于将所述身份信息输入到预先建立的id库中获取所述用户的用户id和组id;
第一确定子模块,用于将所述用户id和组id确定为所述第一用户权限信息;
分析子模块,用于对所述Docker命令进行行参数分析,获取分析结果;
第二确认子模块,用于将所述分析结果中符合预设条件的用户命令行参数选项确认为所述第一用户命令行参数选项。
优选的,所述第一封装模块,包括:
审核子模块,用于将所述第一用户权限信息和第一用户命令行参数选项进行审核;
第一锁定子模块,用于审核完毕后将所述第一用户权限信息和第一用户命令行参数选项进行锁定;
第一封装子模块,用于将锁定之后的第一用户权限信息和第一用户命令行参数选项进行第一次封装;
判断子模块,用于对所述第一用户命令行参数选项进行分析,判断所述第一用户命令行参数选项是否与权限提升有关以及是否映射非授权的指令,输出判断结果。
优选的,所述验证模块,包括:
对比子模块,用于对比所述用户的第二权限信息和所述第一权限信息是否相同,获取第一对比结果,对比所述第二用户命令行参数选项和所述第一用户命令行参数选项是否相同,获取第二对比结果;
确认子模块,用于若所述第一对比结果和所述第二对比结果都显示相同时,确认所述用户的第二权限信息和第二用户命令行参数选项为所述第一次封装后的第一用户权限信息和第一用户命令行参数选项;
提醒子模块,用于若所述第一对比结果和所述第二对比结果有任一对比结果显示不相同时,提醒所述第二权限信息和第二用户命令行参数选项非所述第一次封装后的第一用户权限信息和第一用户命令行参数选项。
优选的,所述第二封装模块,包括:
第二获取子模块,用于当所述第二权限信息和第二用户命令行参数选项是第一次封装后的第一用户权限信息和第一用户命令行参数选项时,获取所述判断结果;
第二确定子模块,用于根据所述判断结果确定所述第一用户命令行参数选项中与权限提升有关以及映射非授权的指令的第三用户命令行参数选项;
剔除子模块,用于从所述第二用户命令行参数选项中将所述第三用户命令行参数选项剔除,获得第四用户命令行参数选项,所述第四用户命令行参数选项为所述第二用户命令行参数选项中除所述第三用户命令行参数选项之外的第二用户命令行参数选项;
第二锁定子模块,用于将所述第四用户命令行参数选项与所述第二权限信息锁定;
第二封装子模块,用于锁定之后将所述第二用户权限信息和所述第四用户命令行参数选项进行二次封装;
发送子模块,用于将二次封装完毕后的第二用户权限信息和第四用户命令行参数选项发送到所述Docker引擎。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为本发明所提供的一种Docker引擎用户权限安全控制方法的工作流程图;
图2为一种Docker引擎用户权限安全控制方法的另一工作流程图;
图3为一种Docker引擎用户权限安全控制方法的工作流程截图;
图4为一种Docker引擎用户权限安全控制方法的另一工作流程截图;
图5为本发明所提供的一种Docker引擎用户权限安全控制装置的结构图;
图6为本发明所提供的一种Docker引擎用户权限安全控制装置的另一结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
目前,软件的开发越来越多,开发者们通过将开发出的软件放到Docker引擎中然后在Linux系统上进行操作,现有方法的步骤为:通过重新构建Docker镜像的方式,在Docker镜像中添加用户,并设置用户的uid和gid。并且对镜像仓库进行权限管理;限制用户执行docker命令或通过第三方工具、平台执行docker run来启动引擎。但是这种方法存在以下缺点:1、用户启动引擎的时候,可以自己提升引擎的权限为root权限;也可以指定引擎中运行的用户为任意用户;可以访问、修改、删除任意数据,执行任意程序。使得Docker引擎的安全性变得很低从而造成数据丢失或让盗窃进而对经济造成重大损失的问题。2、用户还可以登录到其他人的引擎中,获取其他人的权限,访问非授权的数据。为了解决上述问题,本实施例公开了一种基于对用户发出的Docker命令中的用户权限信息和用户命令行参数选项进行封装、验证再封装来实现用户权限的安全控制的方法。
一种Docker引擎用户权限安全控制方法,如图1所示,包括以下步骤:
步骤S101、在接收到用户的Docker命令时,获取用户的第一用户权限信息和第一用户命令行参数选项;
步骤S102、将第一用户权限信息和第一用户命令行参数选项进行第一次封装;
步骤S103、验证用户的第二权限信息和第二用户命令行参数选项是否是第一次封装后的第一用户权限信息和第一用户命令行参数选项;
步骤S104、将验证完毕后的第二权限信息和第二用户命令行参数选项进行二次封装发送给Docker引擎;
在本实施例中,根据Docker命令获取用户的第一用户权限信息和第一用户命令行参数选项,此时可以确定用户的第一权限参数,然后获取用户的第二权限参数是否和第一权限参数相同,以此来确定用户在使用Docker引擎的第权限参数,在使用Docker引擎时只会受限于第一权限参数,无法去根据其他参数来使用Docker引擎。使得整体的安全性提高。
在本实施例中,如图3和图4所示,利用Docker-Cli用户权限注入模块来获取用户客户端的第一用户权限信息和第一用户命令行参数选项,并且将上述第一用户权限信息和第一用户命令行参数选项进行第一次封装,将封装后的第一用户权限信息和第一用户命令行参数选项传输至Docker引擎,然后Docker Server权限拦截模块拦截Docker Server接收到的用户的第二权限信息和第二用户命令行参数选项,验证上述第二权限信息和第二用户命令行参数选项是否为封装后的第一用户权限信息和第一用户命令行参数选项,若是的话,则将第二权限信息和第二用户命令行参数选项进行第二次封装传输至Docker引擎,若不是的话,将第二权限信息和第二用户命令行参数选项中除包含上述封装后的第一用户权限信息和第一用户命令行参数选项之外的第二权限信息和第二用户命令行参数选项剔除掉,然后进行二次封装传输至Docker引擎。
上述技术方案的工作原理为:在接收到用户的Docker命令时,获取用户的第一用户权限信息和第一用户命令行参数选项;将第一用户权限信息和第一用户命令行参数选项进行第一次封装;验证用户的第二权限信息和第二用户命令行参数选项是否是第一次封装后的第一用户权限信息和第一用户命令行参数选项;将验证完毕后的第二权限信息和第二用户命令行参数选项进行二次封装发送给Docker引擎。
上述技术方案的有益效果为:通过对用户的权限信息和命令行参数进行验证和两次包装,使用户在Docker引擎中的权限参数只能是固定的,无法使用别的权限参数来使用Docker引擎,避免了别人使用Docker引擎时盗用自己的数据,用户本身也无法获取其他人的权限,访问非授权的数据,极大的提高了安全性,解决了现有技术中由于权限参数混乱导致的数据丢失或让盗窃进而对经济造成重大损失的问题。
在一个实施例中,在接收到用户的Docker命令时,获取用户的第一用户权限信息和第一用户命令行参数选项,包括:
在接收到Docker命令时,拦截Docker命令;
确认发出Docker命令的用户的身份信息;
将身份信息输入到预先建立的id库中获取用户的用户id和组id;
将用户id和组id确定为第一用户权限信息;
对Docker命令进行行参数分析,获取分析结果;
将分析结果中符合预设条件的用户命令行参数选项确认为第一用户命令行参数选项;
在本实施例中,上述预设条件为用户的命令行参数选项与权限提升无关并且没有映射非授权的命令。
上述技术方案的有益效果为:可以准确的判断出用户的用户id和组id,进而快速的确定用户的第一用户权限信息,用户提升权限的参数被严格限制,不存在用户自行提升权限的可能,进一步地提高了安全性。
在一个实施例中,,将第一用户权限信息和第一用户命令行参数选项进行第一次封装,包括:
将第一用户权限信息和第一用户命令行参数选项进行审核;
审核完毕后将第一用户权限信息和第一用户命令行参数选项进行锁定;
将锁定之后的第一用户权限信息和第一用户命令行参数选项进行第一次封装;
对第一用户命令行参数选项进行分析,判断第一用户命令行参数选项是否与权限提升有关以及是否映射非授权的指令,输出判断结果。
上述技术方案的有益效果为:通过将第一用户权限信息和第一用户命令行参数选项进行锁定来使得用户的权限参数是无法变化的,每个用户都有各自的权限参数,解决了现有技术中一个用户还可以登录到其他人的引擎中,获取其他人的权限,访问非授权的数据的问题。
在一个实施例中,如图2所示,验证用户的第二权限信息和第二用户命令行参数选项是否是第一次封装后的第一用户权限信息和第一用户命令行参数选项,包括:
步骤S201、对比用户的第二权限信息和第一权限信息是否相同,获取第一对比结果,对比第二用户命令行参数选项和第一用户命令行参数选项是否相同,获取第二对比结果;
步骤S202、若第一对比结果和第二对比结果都显示相同时,确认用户的第二权限信息和第二用户命令行参数选项为第一次封装后的第一用户权限信息和第一用户命令行参数选项;
步骤S203、若第一对比结果和第二对比结果有任一对比结果显示不相同时,提醒第二权限信息和第二用户命令行参数选项非第一次封装后的第一用户权限信息和第一用户命令行参数选项。
上述技术方案的有益效果为:通过判断第二用户命令行参数选项和第一用户命令行参数选项是否相同,避免了因身份信息错误而导致权限参数错误分配的问题,提高了准确性。同时,也可以准确的确定用户的第二权限参数是否是使用Docker引擎的参数,提高了安全性。
在一个实施例中,将验证完毕后的第二权限信息和第二用户命令行参数选项进行二次封装发送给Docker引擎,包括:
当第二权限信息和第二用户命令行参数选项是第一次封装后的第一用户权限信息和第一用户命令行参数选项时,获取判断结果;
根据判断结果确定第一用户命令行参数选项中与权限提升有关以及映射非授权的指令的第三用户命令行参数选项;
从第二用户命令行参数选项中将第三用户命令行参数选项剔除,获得第四用户命令行参数选项,第四用户命令行参数选项为第二用户命令行参数选项中除第三用户命令行参数选项之外的第二用户命令行参数选项;
将第四用户命令行参数选项与第二权限信息锁定;
锁定之后将第二用户权限信息和第四用户命令行参数选项进行二次封装;
将二次封装完毕后的第二用户权限信息和第四用户命令行参数选项发送到所述Docker引擎。
上述技术方案的有益效果为:限定了Docker引擎使用者的权限信息,第三者登录他人正在运行的引擎时,其拥有的权限为第三人本人所拥有的权限,而不会获得引擎创建者的用户权限,避免了到盗用数据情况的发生,提高了每一个用户的体验感。同时,用户提升权限的参数被严格限制,不存在用户自行提升权限的可能。进一步地提高了安全性。
本实施例还公开了一种Docker引擎用户权限安全控制装置,如图5所示,该装置包括:
获取模块501,用于在接收到用户的Docker命令时,获取用户的第一用户权限信息和第一用户命令行参数选项;
第一封装模块502,用于将第一用户权限信息和第一用户命令行参数选项进行第一次封装;
验证模块503,用于验证用户的第二权限信息和第二用户命令行参数选项是否是第一次封装后的第一用户权限信息和第一用户命令行参数选项;
第二封装模块504,用于将验证完毕后的第二权限信息和第二用户命令行参数选项进行二次封装发送给Docker引擎。
在一个实施例中,获取模块,包括:
拦截子模块,用于在接收到Docker命令时,拦截Docker命令;
第一确认子模块,用于确认发出Docker命令的用户的身份信息;
第一获取子模块,用于将身份信息输入到预先建立的id库中获取用户的用户id和组id;
第一确定子模块,用于将用户id和组id确定为第一用户权限信息;
分析子模块,用于对Docker命令进行行参数分析,获取分析结果;
第二确认子模块,用于将分析结果中符合预设条件的用户命令行参数选项确认为第一用户命令行参数选项。
在一个实施例中,第一封装模块,包括:
审核子模块,用于将第一用户权限信息和第一用户命令行参数选项进行审核;
第一锁定子模块,用于审核完毕后将第一用户权限信息和第一用户命令行参数选项进行锁定;
第一封装子模块,用于将锁定之后的第一用户权限信息和第一用户命令行参数选项进行第一次封装;
判断子模块,用于对第一用户命令行参数选项进行分析,判断第一用户命令行参数选项是否与权限提升有关以及是否映射非授权的指令,输出判断结果。
在一个实施例中,如图6所示,验证模块,包括:
对比子模块5031,用于对比用户的第二权限信息和第一权限信息是否相同,获取第一对比结果,对比第二用户命令行参数选项和第一用户命令行参数选项是否相同,获取第二对比结果;
确认子模块5032,用于若第一对比结果和第二对比结果都显示相同时,确认用户的第二权限信息和第二用户命令行参数选项为第一次封装后的第一用户权限信息和第一用户命令行参数选项;
提醒子模块5033,用于若第一对比结果和第二对比结果有任一对比结果显示不相同时,提醒第二权限信息和第二用户命令行参数选项非第一次封装后的第一用户权限信息和第一用户命令行参数选项。
在一个实施例中,第二封装模块,包括:
第二获取子模块,用于当第二权限信息和第二用户命令行参数选项是第一次封装后的第一用户权限信息和第一用户命令行参数选项时,获取判断结果;
第二确定子模块,用于根据判断结果确定第一用户命令行参数选项中与权限提升有关以及映射非授权的指令的第三用户命令行参数选项;
剔除子模块,用于从第二用户命令行参数选项中将第三用户命令行参数选项剔除,获得第四用户命令行参数选项,第四用户命令行参数选项为第二用户命令行参数选项中除第三用户命令行参数选项之外的第二用户命令行参数选项;
第二锁定子模块,用于将第四用户命令行参数选项与第二权限信息锁定;
第二封装子模块,用于锁定之后将第二用户权限信息和第四用户命令行参数选项进行二次封装;
发送子模块,用于将二次封装完毕后的第二用户权限信息和第四用户命令行参数选项发送到Docker引擎。
本领域技术人员应当理解的是,本发明中的第一、第二指的是不同应用阶段而已。
本领域技术用户员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种Docker引擎用户权限安全控制方法,其特征在于,包括以下步骤:
在接收到用户的Docker命令时,获取所述用户的第一用户权限信息和第一用户命令行参数选项;
将所述第一用户权限信息和第一用户命令行参数选项进行第一次封装;
验证所述用户的第二用户权限信息和第二用户命令行参数选项是否是第一次封装后的第一用户权限信息和第一用户命令行参数选项;
将验证完毕后的第二用户权限信息和第二用户命令行参数选项进行二次封装发送给所述Docker引擎。
2.根据权利要求1所述Docker引擎用户权限安全控制方法,其特征在于,所述在接收到用户的Docker命令时,获取所述用户的第一用户权限信息和第一用户命令行参数选项,包括:
在接收到Docker命令时,拦截所述Docker命令;
确认发出所述Docker命令的用户的身份信息;
将所述身份信息输入到预先建立的id库中获取所述用户的用户id和组id;
将所述用户id和组id确定为所述第一用户权限信息;
对所述Docker命令进行行参数分析,获取分析结果;
将所述分析结果中符合预设条件的用户命令行参数选项确认为所述第一用户命令行参数选项。
3.根据权利要求1所述Docker引擎用户权限安全控制方法,其特征在于,所述将所述第一用户权限信息和第一用户命令行参数选项进行第一次封装,包括:
将所述第一用户权限信息和第一用户命令行参数选项进行审核;
审核完毕后将所述第一用户权限信息和第一用户命令行参数选项进行锁定;
将锁定之后的第一用户权限信息和第一用户命令行参数选项进行第一次封装;
对所述第一用户命令行参数选项进行分析,判断所述第一用户命令行参数选项是否与权限提升有关以及是否映射非授权的指令,输出判断结果。
4.根据权利要求1所述Docker引擎用户权限安全控制方法,其特征在于,所述验证所述用户的第二用户权限信息和第二用户命令行参数选项是否是第一次封装后的第一用户权限信息和第一用户命令行参数选项,包括:
对比所述用户的第二用户权限信息和所述第一用户权限信息是否相同,获取第一对比结果,对比所述第二用户命令行参数选项和所述第一用户命令行参数选项是否相同,获取第二对比结果;
若所述第一对比结果和所述第二对比结果都显示相同时,确认所述用户的第二用户权限信息和第二用户命令行参数选项为所述第一次封装后的第一用户权限信息和第一用户命令行参数选项;
若所述第一对比结果和所述第二对比结果有任一对比结果显示不相同时,提醒所述第二用户权限信息和第二用户命令行参数选项非所述第一次封装后的第一用户权限信息和第一用户命令行参数选项。
5.根据权利要求3所述Docker引擎用户权限安全控制方法,其特征在于,所述将验证完毕后的第二用户权限信息和第二用户命令行参数选项进行二次封装发送给所述Docker引擎,包括:
当所述第二用户权限信息和第二用户命令行参数选项是第一次封装后的第一用户权限信息和第一用户命令行参数选项时,获取所述判断结果;
根据所述判断结果确定所述第一用户命令行参数选项中与权限提升有关以及映射非授权的指令的第三用户命令行参数选项;
从所述第二用户命令行参数选项中将所述第三用户命令行参数选项剔除,获得第四用户命令行参数选项,所述第四用户命令行参数选项为所述第二用户命令行参数选项中除所述第三用户命令行参数选项之外的第二用户命令行参数选项;
将所述第四用户命令行参数选项与所述第二用户权限信息锁定;
锁定之后将所述第二用户权限信息和所述第四用户命令行参数选项进行二次封装;
将二次封装完毕后的第二用户权限信息和第四用户命令行参数选项发送到所述Docker引擎。
6.一种Docker引擎用户权限安全控制装置,其特征在于,该装置包括:
获取模块,用于在接收到用户的Docker命令时,获取所述用户的第一用户权限信息和第一用户命令行参数选项;
第一封装模块,用于将所述第一用户权限信息和第一用户命令行参数选项进行第一次封装;
验证模块,用于验证所述用户的第二用户权限信息和第二用户命令行参数选项是否是第一次封装后的第一用户权限信息和第一用户命令行参数选项;
第二封装模块,用于将验证完毕后的第二用户权限信息和第二用户命令行参数选项进行二次封装发送给所述Docker引擎。
7.根据权利要求6所述Docker引擎用户权限安全控制装置,其特征在于,所述获取模块,包括:
拦截子模块,用于在接收到Docker命令时,拦截所述Docker命令;
第一确认子模块,用于确认发出所述Docker命令的用户的身份信息;
第一获取子模块,用于将所述身份信息输入到预先建立的id库中获取所述用户的用户id和组id;
第一确定子模块,用于将所述用户id和组id确定为所述第一用户权限信息;
分析子模块,用于对所述Docker命令进行行参数分析,获取分析结果;
第二确认子模块,用于将所述分析结果中符合预设条件的用户命令行参数选项确认为所述第一用户命令行参数选项。
8.根据权利要求6所述Docker引擎用户权限安全控制装置,其特征在于,所述第一封装模块,包括:
审核子模块,用于将所述第一用户权限信息和第一用户命令行参数选项进行审核;
第一锁定子模块,用于审核完毕后将所述第一用户权限信息和第一用户命令行参数选项进行锁定;
第一封装子模块,用于将锁定之后的第一用户权限信息和第一用户命令行参数选项进行第一次封装;
判断子模块,用于对所述第一用户命令行参数选项进行分析,判断所述第一用户命令行参数选项是否与权限提升有关以及是否映射非授权的指令,输出判断结果。
9.根据权利要求6所述Docker引擎用户权限安全控制装置,其特征在于,所述验证模块,包括:
对比子模块,用于对比所述用户的第二用户权限信息和所述第一用户权限信息是否相同,获取第一对比结果,对比所述第二用户命令行参数选项和所述第一用户命令行参数选项是否相同,获取第二对比结果;
确认子模块,用于若所述第一对比结果和所述第二对比结果都显示相同时,确认所述用户的第二用户权限信息和第二用户命令行参数选项为所述第一次封装后的第一用户权限信息和第一用户命令行参数选项;
提醒子模块,用于若所述第一对比结果和所述第二对比结果有任一对比结果显示不相同时,提醒所述第二用户权限信息和第二用户命令行参数选项非所述第一次封装后的第一用户权限信息和第一用户命令行参数选项。
10.根据权利要求8所述Docker引擎用户权限安全控制装置,其特征在于,所述第二封装模块,包括:
第二获取子模块,用于当所述第二用户权限信息和第二用户命令行参数选项是第一次封装后的第一用户权限信息和第一用户命令行参数选项时,获取所述判断结果;
第二确定子模块,用于根据所述判断结果确定所述第一用户命令行参数选项中与权限提升有关以及映射非授权的指令的第三用户命令行参数选项;
剔除子模块,用于从所述第二用户命令行参数选项中将所述第三用户命令行参数选项剔除,获得第四用户命令行参数选项,所述第四用户命令行参数选项为所述第二用户命令行参数选项中除所述第三用户命令行参数选项之外的第二用户命令行参数选项;
第二锁定子模块,用于将所述第四用户命令行参数选项与所述第二用户权限信息锁定;
第二封装子模块,用于锁定之后将所述第二用户权限信息和所述第四用户命令行参数选项进行二次封装;
发送子模块,用于将二次封装完毕后的第二用户权限信息和第四用户命令行参数选项发送到所述Docker引擎。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010317593.XA CN111597518B (zh) | 2020-04-21 | 2020-04-21 | 一种Docker引擎用户权限安全控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010317593.XA CN111597518B (zh) | 2020-04-21 | 2020-04-21 | 一种Docker引擎用户权限安全控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111597518A CN111597518A (zh) | 2020-08-28 |
CN111597518B true CN111597518B (zh) | 2023-05-05 |
Family
ID=72187576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010317593.XA Active CN111597518B (zh) | 2020-04-21 | 2020-04-21 | 一种Docker引擎用户权限安全控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111597518B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113434257A (zh) * | 2021-07-07 | 2021-09-24 | 曙光信息产业(北京)有限公司 | 一种Docker的操作方法、装置、服务器和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015196714A1 (zh) * | 2014-06-24 | 2015-12-30 | 小米科技有限责任公司 | 权限管理方法、装置及系统 |
CN109409051A (zh) * | 2018-11-05 | 2019-03-01 | 郑州云海信息技术有限公司 | 一种用户信息配置方法与装置 |
CN111026499A (zh) * | 2019-11-13 | 2020-04-17 | 广州文远知行科技有限公司 | 容器处理方法、装置、计算机设备和存储介质 |
-
2020
- 2020-04-21 CN CN202010317593.XA patent/CN111597518B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015196714A1 (zh) * | 2014-06-24 | 2015-12-30 | 小米科技有限责任公司 | 权限管理方法、装置及系统 |
CN109409051A (zh) * | 2018-11-05 | 2019-03-01 | 郑州云海信息技术有限公司 | 一种用户信息配置方法与装置 |
CN111026499A (zh) * | 2019-11-13 | 2020-04-17 | 广州文远知行科技有限公司 | 容器处理方法、装置、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
刘胜强 ; 王晶 ; .Docker的Hadoop平台架构分析.自动化与仪器仪表.2018,(第10期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN111597518A (zh) | 2020-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11762986B2 (en) | System for securing software containers with embedded agent | |
CN114726643B (zh) | 云平台上的数据存储、访问方法及装置 | |
US20210209221A1 (en) | System for securing software containers with encryption and embedded agent | |
CN110083604B (zh) | 一种数据确权方法及装置 | |
CN111049825A (zh) | 一种基于可信执行环境的安全多方计算方法和系统 | |
CN111475782B (zh) | 基于sgx软件扩展指令的api密钥保护方法及系统 | |
CN105429943B (zh) | 一种信息处理方法及其终端 | |
CN111597518B (zh) | 一种Docker引擎用户权限安全控制方法及装置 | |
CN115987696B (zh) | 一种基于区块链结构的零信任安全网关实现方法及装置 | |
CN113282946A (zh) | 基于高可信环境下数据访问过程的信息安全方法及系统 | |
WO2022100155A1 (zh) | 接口授权监控方法、装置、计算机设备和存储介质 | |
CN114553571A (zh) | 服务器管理方法、装置、电子设备及存储介质 | |
CN110727936B (zh) | 为应用授权的方法和设备 | |
CN110581833B (zh) | 一种业务安全保护方法及装置 | |
CN109948372B (zh) | 一种指定验证者的云存储中远程数据持有验证方法 | |
CN111680323A (zh) | 一种代码借阅保护方法和系统 | |
CN108307246B (zh) | 一种计算直播间人气的方法、存储介质、设备及系统 | |
US7134017B2 (en) | Method for providing a trusted path between a client and a system | |
CN107392010B (zh) | 执行Root操作的方法及装置、终端设备、存储介质 | |
CN110581863B (zh) | 一种云平台的单点登录方法、装置、设备及介质 | |
WO2020228564A1 (zh) | 一种应用服务方法与装置 | |
CN116628696A (zh) | 一种基于代理客户端的漏洞检测方法及相关设备 | |
CN113297563A (zh) | 访问片上系统特权资源的方法、装置及片上系统 | |
CN112380503B (zh) | 一种保护核心程序及内存的方法 | |
CN117131515B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |