本發(fā)明涉及軟件應(yīng)用開發(fā)技術(shù)領(lǐng)域,特別是涉及一種應(yīng)用容器引擎管理方法及系統(tǒng)。
背景技術(shù):
Docker是一種開源的應(yīng)用容器引擎,現(xiàn)有技術(shù)中,其操作用戶的管理方式是類root權(quán)限用戶,即操作用戶具有系統(tǒng)的所有權(quán)限,進(jìn)行相關(guān)操作。但這種管理方式存在如下缺陷:若某一用戶使用不當(dāng),會(huì)對(duì)其它容器甚至主機(jī)安全造成威脅;又或者,若某一用戶對(duì)鏡像庫(kù)安全性能不了解,拉取了有病毒鏡像,會(huì)直接威脅到Docker使用,甚至造成主機(jī)信息的泄露或者系統(tǒng)崩潰。可見,現(xiàn)有應(yīng)用容器引擎對(duì)操作用戶的管理方式使應(yīng)用容器引擎的安全性低。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的是提供一種應(yīng)用容器引擎管理方法及系統(tǒng),與現(xiàn)有技術(shù)相比,可提高應(yīng)用容器引擎使用的安全性。
為實(shí)現(xiàn)上述目的,本發(fā)明提供如下技術(shù)方案:
一種應(yīng)用容器引擎管理方法,包括:
在接收到應(yīng)用容器引擎客戶端發(fā)送的用戶登錄請(qǐng)求時(shí),根據(jù)所述用戶的登錄信息識(shí)別所述用戶的等級(jí);
在接收到所述應(yīng)用容器引擎客戶端發(fā)送的用戶操作指令時(shí),根據(jù)所述用戶的等級(jí),為所述用戶提供與其等級(jí)相匹配的應(yīng)用容器操作權(quán)限。
可選地,用戶的等級(jí)分為第一等級(jí)用戶、第二等級(jí)用戶和第三等級(jí)用戶,第一等級(jí)用戶、第二等級(jí)用戶和第三等級(jí)用戶的操作權(quán)限范圍依次減小。
可選地,所述第一等級(jí)用戶的操作權(quán)限為:可操作系統(tǒng)內(nèi)的所有容器;
所述第二等級(jí)用戶的操作權(quán)限為:可操作非特權(quán)的容器;
所述第三等級(jí)用戶的操作權(quán)限為:可開啟或者停止容器。
可選地,通過(guò)統(tǒng)一接口接收各應(yīng)用容器引擎客戶端發(fā)送的用戶登錄請(qǐng)求以及用戶操作指令。
可選地,還包括:設(shè)定用戶的等級(jí),并相應(yīng)設(shè)置該用戶的應(yīng)用容器操作權(quán)限。
一種應(yīng)用容器引擎管理系統(tǒng),包括:
登錄模塊,用于在接收到應(yīng)用容器引擎客戶端發(fā)送的用戶登錄請(qǐng)求時(shí),根據(jù)所述用戶的登錄信息識(shí)別所述用戶的等級(jí);
權(quán)限管理模塊,用于在接收到所述應(yīng)用容器引擎客戶端發(fā)送的用戶操作指令時(shí),根據(jù)所述用戶的等級(jí),為所述用戶提供與其等級(jí)相匹配的應(yīng)用容器操作權(quán)限。
可選地,用戶的等級(jí)分為第一等級(jí)用戶、第二等級(jí)用戶和第三等級(jí)用戶,第一等級(jí)用戶、第二等級(jí)用戶和第三等級(jí)用戶的操作權(quán)限范圍依次減小。
可選地,所述第一等級(jí)用戶的操作權(quán)限為:可操作系統(tǒng)內(nèi)的所有容器;
所述第二等級(jí)用戶的操作權(quán)限為:可操作非特權(quán)的容器;
所述第三等級(jí)用戶的操作權(quán)限為:可開啟或者停止容器。
可選地,還包括接口,通過(guò)所述接口接收各應(yīng)用容器引擎客戶端發(fā)送的用戶登錄請(qǐng)求以及用戶操作指令。
可選地,還包括:
用戶權(quán)限設(shè)定模塊,用于設(shè)定用戶的等級(jí),并相應(yīng)設(shè)置該用戶的應(yīng)用容器操作權(quán)限。
由上述技術(shù)方案可知,本發(fā)明所提供的應(yīng)用容器引擎管理方法及系統(tǒng),在接收到應(yīng)用容器引擎客戶端發(fā)送的用戶登錄請(qǐng)求時(shí),根據(jù)用戶的登錄信息識(shí)別所述用戶的等級(jí);應(yīng)用容器引擎客戶端發(fā)送用戶的操作指令,在接收到所述應(yīng)用容器引擎客戶端發(fā)送的用戶操作指令時(shí),根據(jù)所述用戶的等級(jí),為所述用戶提供與其等級(jí)相匹配的應(yīng)用容器操作權(quán)限。
本發(fā)明應(yīng)用容器引擎管理方法及系統(tǒng),對(duì)用戶劃分不同等級(jí),并針對(duì)不同等級(jí)用戶設(shè)置不同的操作權(quán)限,根據(jù)登錄用戶的等級(jí),為登錄用戶提供相應(yīng)的應(yīng)用容器操作權(quán)限,因此并不是每一用戶具有所有的操作權(quán)限。與現(xiàn)有方法相比可提高應(yīng)用容器引擎使用的安全性。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實(shí)施例提供的一種應(yīng)用容器引擎管理方法的示意圖;
圖2為本發(fā)明實(shí)施例提供的一種應(yīng)用容器引擎管理系統(tǒng)的示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明中的技術(shù)方案,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本發(fā)明保護(hù)的范圍。
請(qǐng)參考圖1,本發(fā)明實(shí)施例提供的一種應(yīng)用容器引擎管理方法,包括步驟:
S10::在接收到應(yīng)用容器引擎客戶端發(fā)送的用戶登錄請(qǐng)求時(shí),根據(jù)所述用戶的登錄信息識(shí)別所述用戶的等級(jí)。
本方法中,將應(yīng)用容器引擎操作用戶劃分管理等級(jí)。用戶在通過(guò)應(yīng)用容器引擎(Docker)客戶端登錄應(yīng)用容器引擎(Docker)服務(wù)器進(jìn)行操作時(shí),通過(guò)客戶端向應(yīng)用容器引擎服務(wù)器發(fā)送登錄請(qǐng)求,根據(jù)用戶的登錄信息識(shí)別出所述用戶的等級(jí)。
將應(yīng)用容器引擎操作用戶劃分多個(gè)不同管理等級(jí),各等級(jí)具有不同的操作權(quán)限范圍,用戶等級(jí)的數(shù)量可以靈活設(shè)置。示例性的,在一種具體實(shí)施方式中,可以將用戶的等級(jí)分為第一等級(jí)用戶、第二等級(jí)用戶和第三等級(jí)用戶,其中第一等級(jí)用戶、第二等級(jí)用戶和第三等級(jí)用戶的操作權(quán)限范圍依次減小。
S11:在接收到所述應(yīng)用容器引擎客戶端發(fā)送的用戶操作指令時(shí),根據(jù)所述用戶的等級(jí),為所述用戶提供與其等級(jí)相匹配的應(yīng)用容器操作權(quán)限。
用戶登錄后,在應(yīng)用容器引擎中進(jìn)行操作時(shí),通過(guò)客戶端向服務(wù)器發(fā)送操作指令。在接收到用戶的操作指令時(shí)根據(jù)所述用戶的等級(jí),為所述用戶提供與其等級(jí)相匹配的應(yīng)用容器操作權(quán)限,所述用戶只能進(jìn)行其權(quán)限范圍內(nèi)的操作,對(duì)于其權(quán)限范圍外的操作不能進(jìn)行。
示例性的,若將用戶的等級(jí)劃分為第一等級(jí)用戶、第二等級(jí)用戶和第三等級(jí)用戶,可設(shè)置第一等級(jí)用戶的操作權(quán)限為:可操作系統(tǒng)內(nèi)的所有容器;所述第二等級(jí)用戶的操作權(quán)限為:可操作非特權(quán)的容器;所述第三等級(jí)用戶的操作權(quán)限為:可開啟或者停止容器。
對(duì)于第一等級(jí)用戶,可認(rèn)為是超級(jí)管理員,可運(yùn)行所有容器,包括對(duì)容器的創(chuàng)建、刪除以及開啟運(yùn)行或者停止運(yùn)行等操作,并且賦予容器最大的權(quán)限。對(duì)于第二等級(jí)用戶,可認(rèn)為是一般管理員,可創(chuàng)建非特權(quán)容器,對(duì)非特權(quán)容器進(jìn)行創(chuàng)建、刪除以及開啟運(yùn)行或者停止運(yùn)行等操作。對(duì)于第三等級(jí)用戶,可認(rèn)為是普通管理員,只能對(duì)容器進(jìn)行開啟運(yùn)行、停止運(yùn)行等操作。
另外,本實(shí)施例應(yīng)用容器引擎管理方法中,通過(guò)統(tǒng)一接口接收各應(yīng)用容器引擎客戶端發(fā)送的用戶登錄請(qǐng)求以及用戶操作指令。
進(jìn)一步的,本實(shí)施例方法,還包括:設(shè)定用戶的等級(jí),并相應(yīng)設(shè)置該用戶的應(yīng)用容器操作權(quán)限。操作用戶在進(jìn)行注冊(cè)時(shí),可設(shè)定等級(jí),并相應(yīng)設(shè)置操作權(quán)限。
可以看出,本實(shí)施例應(yīng)用容器引擎管理方法,對(duì)用戶劃分不同等級(jí),并針對(duì)不同等級(jí)用戶設(shè)置不同的操作權(quán)限,根據(jù)登錄用戶的等級(jí),為登錄用戶提供相應(yīng)的應(yīng)用容器操作權(quán)限,因此并不是每一用戶具有所有的操作權(quán)限。與現(xiàn)有方法相比可提高應(yīng)用容器引擎使用的安全性。
現(xiàn)有技術(shù)中,在應(yīng)用容器引擎應(yīng)用中,有通過(guò)禁止非root權(quán)限用戶的/run/docker、socket接口的訪問(wèn)來(lái)加強(qiáng)安全性,但是這種方式首先管理不夠靈活,缺乏安全性。而本實(shí)施例應(yīng)用容器引擎管理方法通過(guò)對(duì)用戶的分層授權(quán)管理,實(shí)現(xiàn)了應(yīng)用容器引擎使用的靈活安全管理,提升管理的靈活性,提高管理系統(tǒng)的安全性。
相應(yīng)的,請(qǐng)參考圖2,本發(fā)明實(shí)施例還提供一種應(yīng)用容器引擎管理系統(tǒng),包括:
登錄模塊20,用于在接收到應(yīng)用容器引擎客戶端發(fā)送的用戶登錄請(qǐng)求時(shí),根據(jù)所述用戶的登錄信息識(shí)別所述用戶的等級(jí);
權(quán)限管理模塊21,用于在接收到所述應(yīng)用容器引擎客戶端發(fā)送的用戶操作指令時(shí),根據(jù)所述用戶的等級(jí),為所述用戶提供與其等級(jí)相匹配的應(yīng)用容器操作權(quán)限。
本實(shí)施例應(yīng)用容器引擎管理系統(tǒng),包括登錄模塊和權(quán)限管理模塊,在接收到應(yīng)用容器引擎客戶端發(fā)送的用戶登錄請(qǐng)求時(shí),根據(jù)用戶的登錄信息識(shí)別所述用戶的等級(jí);應(yīng)用容器引擎客戶端發(fā)送用戶的操作指令,在接收到所述應(yīng)用容器引擎客戶端發(fā)送的用戶操作指令時(shí),根據(jù)所述用戶的等級(jí),為所述用戶提供與其等級(jí)相匹配的應(yīng)用容器操作權(quán)限。
本實(shí)施例應(yīng)用容器引擎管理系統(tǒng),對(duì)用戶劃分不同等級(jí),并針對(duì)不同等級(jí)用戶設(shè)置不同的操作權(quán)限,根據(jù)登錄用戶的等級(jí),為登錄用戶提供相應(yīng)的應(yīng)用容器操作權(quán)限,因此并不是每一用戶具有所有的操作權(quán)限。與現(xiàn)有方法相比可提高應(yīng)用容器引擎使用的安全性。
本實(shí)施例應(yīng)用容器引擎管理系統(tǒng)中,將應(yīng)用容器引擎操作用戶劃分管理等級(jí)。用戶在通過(guò)應(yīng)用容器引擎(Docker)客戶端登錄應(yīng)用容器引擎(Docker)服務(wù)器進(jìn)行操作時(shí),通過(guò)客戶端向應(yīng)用容器引擎服務(wù)器發(fā)送登錄請(qǐng)求,通過(guò)登錄模塊20根據(jù)用戶的登錄信息識(shí)別出所述用戶的等級(jí)。
將應(yīng)用容器引擎操作用戶劃分多個(gè)不同管理等級(jí),各等級(jí)具有不同的操作權(quán)限范圍,用戶等級(jí)的數(shù)量可以靈活設(shè)置。示例性的,在一種具體實(shí)施方式中,可以將用戶的等級(jí)分為第一等級(jí)用戶、第二等級(jí)用戶和第三等級(jí)用戶,其中第一等級(jí)用戶、第二等級(jí)用戶和第三等級(jí)用戶的操作權(quán)限范圍依次減小。
用戶登錄后,在應(yīng)用容器引擎中進(jìn)行操作時(shí),通過(guò)客戶端向服務(wù)器發(fā)送操作指令。權(quán)限管理模塊21在接收到用戶的操作指令時(shí)根據(jù)所述用戶的等級(jí),為所述用戶提供與其等級(jí)相匹配的應(yīng)用容器操作權(quán)限,所述用戶只能進(jìn)行其權(quán)限范圍內(nèi)的操作,對(duì)于其權(quán)限范圍外的操作不能進(jìn)行。
示例性的,若將用戶的等級(jí)劃分為第一等級(jí)用戶、第二等級(jí)用戶和第三等級(jí)用戶,可設(shè)置第一等級(jí)用戶的操作權(quán)限為:可操作系統(tǒng)內(nèi)的所有容器;所述第二等級(jí)用戶的操作權(quán)限為:可操作非特權(quán)的容器;所述第三等級(jí)用戶的操作權(quán)限為:可開啟或者停止容器。
本實(shí)施例系統(tǒng)中,還包括接口,通過(guò)所述接口接收各應(yīng)用容器引擎客戶端發(fā)送的用戶登錄請(qǐng)求以及用戶操作指令。
進(jìn)一步的,本實(shí)施例系統(tǒng)還包括用戶權(quán)限設(shè)定模塊,用于設(shè)定用戶的等級(jí),并相應(yīng)設(shè)置該用戶的應(yīng)用容器操作權(quán)限。操作用戶可通過(guò)用戶權(quán)限設(shè)定模塊設(shè)定等級(jí),并相應(yīng)設(shè)置操作權(quán)限。
以上對(duì)本發(fā)明所提供的一種應(yīng)用容器引擎管理方法及系統(tǒng)進(jìn)行了詳細(xì)介紹。本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說(shuō)明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以對(duì)本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。