鬼佬大哥大
  • / 13
  • 下載費用:30 金幣  

一種DOCKER容器內數據的訪問方法及裝置.pdf

摘要
申請專利號:

CN201510497067.5

申請日:

2015.08.13

公開號:

CN105160269A

公開日:

2015.12.16

當前法律狀態:

撤回

有效性:

無權

法律詳情: 發明專利申請公布后的視為撤回IPC(主分類):G06F 21/62申請公布日:20151216|||實質審查的生效IPC(主分類):G06F 21/62申請日:20150813|||公開
IPC分類號: G06F21/62(2013.01)I 主分類號: G06F21/62
申請人: 浪潮電子信息產業股份有限公司
發明人: 徐崢
地址: 250100山東省濟南市高新區浪潮路1036號
優先權:
專利代理機構: 濟南信達專利事務所有限公司37100 代理人: 李世喆
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201510497067.5

授權公告號:

||||||

法律狀態公告日:

2018.06.19|||2016.01.13|||2015.12.16

法律狀態類型:

發明專利申請公布后的視為撤回|||實質審查的生效|||公開

摘要

本發明提供一種Docker容器內數據的訪問方法及裝置,方法包括:設置位于當前Docker容器外部的請求端具有對當前Docker容器內部數據所對應的掛載路徑和容器路徑的訪問權限,其中,該位于當前Docker容器外部的該請求端包括文件、目錄、進程、注冊表和服務中的任意一種,獲取外部的目標請求端對當前Docker容器內部的目標數據的訪問請求;根據預先設置的訪問權限,判斷所述目標請求端是否具有對所述目標數據所對應的目標掛載路徑和目標容器路徑的訪問權限;在判斷結果為是時,允許所述目標請求端訪問所述目標掛載路徑和所述容器路徑所對應的所述目標數據。根據本方案,可以提高數據的安全性。

權利要求書

權利要求書
1.  一種Docker容器內數據的訪問方法,其特征在于,設置位于當前Docker容器外部的請求端具有對當前Docker容器內部數據所對應的掛載路徑和容器路徑的訪問權限,其中,該位于當前Docker容器外部的該請求端包括文件、目錄、進程、注冊表和服務中的任意一種,還包括:
獲取外部的目標請求端對當前Docker容器內部的目標數據的訪問請求;
根據預先設置的訪問權限,判斷所述目標請求端是否具有對所述目標數據所對應的目標掛載路徑和目標容器路徑的訪問權限;
在判斷結果為是時,允許所述目標請求端訪問所述目標掛載路徑和所述容器路徑所對應的所述目標數據。

2.  根據權利要求1所述的方法,其特征在于,所述設置位于當前Docker容器外部的請求端具有對當前Docker容器內部數據所對應的掛載路徑和容器路徑的訪問權限,包括:
設置位于當前Docker容器外部的請求端具有對當前Docker容器內部數據所對應的掛載路徑和容器路徑的讀操作權限和/或寫操作權限;
和/或,
設置位于當前Docker容器外部的任何一個請求端都不具有對當前Docker容器內部的數據所對應的掛載路徑和容器路徑的訪問權限;
和/或,
設置位于當前Docker容器外部的請求端具有在設定時間段內,對當前Docker容器內部數據所對應的掛載路徑和容器路徑的訪問權限。

3.  根據權利要求1或2所述的方法,其特征在于,在所述獲取外部的目標請求端對當前Docker容器內部的目標數據的訪問請求之前,進一步包括:
將相應地的掛載路徑和容器路徑發送至對當前Docker容器內部數據所對應的掛載路徑和容器路徑具有訪問權限的位于當前Docker容器外部的請求端。

4.  一種Docker容器內數據的訪問裝置,其特征在于,包括:
存儲單元,用于存儲位于當前Docker容器外部的請求端具有對當前Docker容器內部數據所對應的掛載路徑和容器路徑的訪問權限,其中,該位于當前Docker容器外部的該請求端包括文件、目錄、進程、注冊表和服務中的任意一種;
獲取單元,用于獲取外部的目標請求端對當前Docker容器內部的目標數據的訪問請求;
判斷單元,用于根據預先設置的訪問權限,判斷所述目標請求端是否具有對所述目標數據所對應的目標掛載路徑和目標容器路徑的訪問權限;在判斷結果為是時,允許所述目標請求端訪問所述目標掛載路徑和所述容器路徑所對應的所述目標數據。

5.  根據權利要求4所述的Docker容器內數據的訪問裝置,其特征在于,所述存儲單元,用于存儲位于當前Docker容器外部的請求端具有對當前Docker容器內部數據所對應的掛載路徑和容器路徑的讀操作權限和/或寫操作權限;和/或,存儲位于當前Docker容器外部的任何一個請求端都不具有對當前Docker容器內部的數據所對應的掛載路徑和容器路徑的訪問權限;和/或,存儲位于當前Docker容器外部的請求端具有在設定時間段內,對當前Docker容器內部數據所對應的掛載路徑和容器路徑的訪問權限。

6.  根據權利要求4或5所述的Docker容器內數據的訪問裝置,其特征在于,進一步包括:
發送單元,用于將相應地的掛載路徑和容器路徑發送至對當前Docker容器內部數據所對應的掛載路徑和容器路徑具有訪問權限的位于當前Docker容器外部的請求端。

說明書

說明書一種Docker容器內數據的訪問方法及裝置
技術領域
本發明涉及信息安全技術領域,特別涉及一種Docker容器內數據的訪問方法及裝置。
背景技術
隨著計算機和網絡技術的發展,云計算等網絡計算平臺的廣泛應用,越來越多的關鍵業務系統運行在網絡計算平臺。網絡計算平臺的業務應用往往有大量的人員及用戶共同維護或使用一個服務器,而一切業務應用的核心都是用戶的數據,因此用戶私有數據隔離與共享等數據安全問題就突顯的尤為重要。
目前,系統可以創建多個Docker容器,每一個Docker容器相當于一個虛擬機,通過將用戶私有數據存儲在不同的Docker容器內部,通過Docker容器的隔離實現Docker容器內數據的隔離,并且允許Docker容器內部的進程可以訪問Docker容器內的數據,以及允許獲知該Dccker容器的訪問路徑的進程進行訪問。
然而,若黑客獲知到Docker容器的訪問路徑,則可以根據該訪問路徑去訪問該Docker容器內的數據,從而給Docker容器內數據的安全帶來影響。
發明內容
有鑒于此,本發明提供一種Docker容器內數據的訪問方法及裝置,以提高Docker容器內數據的安全性。
本發明提供料一種Docker容器內數據的訪問方法,設置位于當前Docker容器外部的請求端具有對當前Docker容器內部數據所對應的掛載路徑和容器路徑的訪問權限,其中,該位于當前Docker容器外部的該請求端包括文件、目錄、進程、注冊表和服務中的任意一種,還包括:
獲取外部的目標請求端對當前Docker容器內部的目標數據的訪問請求;
根據預先設置的訪問權限,判斷所述目標請求端是否具有對所述目標數據所對應的目標掛載路徑和目標容器路徑的訪問權限;
在判斷結果為是時,允許所述目標請求端訪問所述目標掛載路徑和所述容器路徑所對應的所述目標數據。
優選地,所述設置位于當前Docker容器外部的請求端具有對當前Docker容器內部數據所對應的掛載路徑和容器路徑的訪問權限,包括:
設置位于當前Docker容器外部的請求端具有對當前Docker容器內部數據所對應的掛載路徑和容器路徑的讀操作權限和/或寫操作權限;
和/或,
設置位于當前Docker容器外部的任何一個請求端都不具有對當前Docker容器內部的數據所對應的掛載路徑和容器路徑的訪問權限;
和/或,
設置位于當前Docker容器外部的請求端具有在設定時間段內,對當前Docker容器內部數據所對應的掛載路徑和容器路徑的訪問權限。
優選地,在所述獲取外部的目標請求端對當前Docker容器內部的目標數據的訪問請求之前,進一步包括:
將相應地的掛載路徑和容器路徑發送至對當前Docker容器內部數據所對應的掛載路徑和容器路徑具有訪問權限的位于當前Docker容器外部的請求端。
本發明提供了一種Docker容器內數據的訪問裝置,包括:
存儲單元,用于存儲位于當前Docker容器外部的請求端具有對當前Docker容器內部數據所對應的掛載路徑和容器路徑的訪問權限,其中,該位于當前Docker容器外部的該請求端包括文件、目錄、進程、注冊表和服務中的任意一種;
獲取單元,用于獲取外部的目標請求端對當前Docker容器內部的目標數據的訪問請求;
判斷單元,用于根據預先設置的訪問權限,判斷所述目標請求端是否具有對所述目標數據所對應的目標掛載路徑和目標容器路徑的訪問權限;在判斷結果為是時,允許所述目標請求端訪問所述目標掛載路徑和所述容器路徑所對應的所述目標數據。
優選地,所述存儲單元,用于存儲位于當前Docker容器外部的請求端具有對當前Docker容器內部數據所對應的掛載路徑和容器路徑的讀操作權限和/或寫操作權限;和/或,存儲位于當前Docker容器外部的任何一個請求端都不具有對當前Docker容器內部的數據所對應的掛載路徑和容器路徑的訪問權限;和/或,存儲位于當前Docker容器外部的請求端具有在設定時間段內,對當前Docker容器內部數據所對應的掛載路徑和容器路徑的訪問權限。
優選地,進一步包括:
發送單元,用于將相應地的掛載路徑和容器路徑發送至對當前Docker容器內部數據所對應的掛載路徑和容器路徑具有訪問權限的位于當前Docker容器外部的請求端。
本發明實施例提供了一種Docker容器內數據的訪問方法及裝置,通過設置位于當前Docker容器外部的請求端具有對當前Docker容器內部數據所對應的掛載路徑和容器路徑的訪問權限,即使有黑客獲知到Docker容器內數據的掛載路徑和容器路徑,也無法直接訪問該數據,通過設置的訪問權限對訪問請求進行強制訪問控制,以使對掛載路徑和容器路徑具有訪問權限的外部請求端才能夠對該目標數據的進行訪問,從而進一步提高了數據的安全性。
附圖說明
圖1是本發明實施例提供的方法流程圖;
圖2是本發明另一實施例提供的方法流程圖;
圖3是本發明實施例提供的裝置所在設備的硬件架構圖;
圖4是本發明實施例提供的裝置結構示意圖;
圖5是本發明另一實施例提供的裝置結構示意圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述。顯然,所描述的實施例僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
如圖1所示,本發明實施例提供了一種Docker容器內數據的訪問方法,該方法可以包括以下步驟:
步驟101:設置位于當前Docker容器外部的請求端具有對當前Docker容器內部數據所對應的掛載路徑和容器路徑的訪問權限,其中,該位于當前Docker容器外部的該請求端包括文件、目錄、進程、注冊表和服務中的任意一種。
步驟102:獲取外部的目標請求端對當前Docker容器內部的目標數據的訪問請求。
步驟103:根據預先設置的訪問權限,判斷目標請求端是否具有對目標數據所對應的目標掛載路徑和目標容器路徑的訪問權限。
步驟104:在判斷結果為是時,允許目標請求端訪問目標掛載路徑和容器路徑所對應的目標數據。
根據上述方案,通過設置位于當前Docker容器外部的請求端具有對當前Docker容器內部數據所對應的掛載路徑和容器路徑的訪問權限,即使有黑客獲知到Docker容器內數據的掛載路徑和容器路徑,也無法直接訪問該數據,通過設置的訪問權限對訪問請求進行強制訪問控制,以使對掛載路徑和容器路徑具有訪問權限的外部請求端才能夠對該目標數據的進行訪問,從而進一步提高了數據的安全性。
為使本發明的目的、技術方案和優點更加清楚,下面結合附圖及具體實施例對本發明作進一步地詳細描述。
如圖2所示,本發明實施例提供了一種Docker容器內數據的訪問方法,該方法可以包括以下步驟:
步驟201:設置位于當前Docker容器外部的請求端具有對當前Docker容器內部數據所對應的掛載路徑和容器路徑的訪問權限。
本實施例中,Docker容器對內部私有數據安全性可以通過如下方式進行保證。
其中,Docker容器是包括有一個虛擬操作系統的虛擬機,對于一個正在運行的Docker容器,其操作系統都是一個從根目錄開始的虛擬文件系統,對于該Docker容器中所運行的腳本文件可以包括:


對于容器中的文件系統都是掛載到了真實系統中的一個目錄下面的,該目錄可以稱之為掛載路徑:/var/lib/docker/containers/<image-long-id>/rootfs。
對于Docker容器內部的數據,例如,/rootdf3880c17466:/#ll/total68/drwxr-xr-x2rootroot4096Jul2222:51bin,可以稱之為容器路徑。
所有Docker容器都是通過lxc來進行管理的,而lxc的配置文件是存儲在下面這個目錄中的:/var/lib/docker/containers/<image-long-id>/config.lxc。根據lxc配置文件的存儲目錄和Docker容器的掛載路徑可知,lxc配置文件和Docker容器都是存儲在/var/lib/docker/containers/<image-long-id>下,但又不再同一個文件夾下。
其中,image-long-id是Docker容器對應生成的唯一性編碼。例如,一個Docker容器的掛載路徑可以包括:/var/lib/docker/containers/inspur0b17407575cd642a6b7da3c7e417a55fad5bbd63152f89921925626d2b6/rootfs。
綜上可以獲知,Docker容器中數據的真實目錄需要包括容器路徑和掛載路徑。例如,/var/lib/docker/containers/<image-long-id>/rootfs/rootdf3880c17466:/#ll/total68/drwxr-xr-x2rootroot4096Jul2222:51bin。
對于不同的Docker容器,掛載點是不一樣的,相應地,不同Docker容器的掛載目錄不同。而Docker容器是不能穿越其根目錄上一級去訪問其他Docker容器的數據的,因此,每一個Docker容器都做到了文件系統的隔離,從而保證了Docker容器內數據的安全性。
在本實施例中,為了進一步提高Docker容器內數據的安全性,可以在Docker容器的各個層次上在增加一層防護。該增加的一層防護可以包括強制訪問控制策略,因此,需要設置位于當前Docker容器外部的請求端具有對當前Docker容器內部數據所對應的掛載路徑和容器路徑的訪問權限。其中,該位于當前Docker容器外部的該請求端包括文件、目錄、進程、注冊表和服務中的任意一種。
該強制訪問控制策略的主要元素可以包括主體、客體和權限;語義可以包括主體對客體具有的權限。比如主體是/bin/cat,客體是/home/testuser/cardinfo.txt讀取,表示/bin/cat可以讀取/home/testuser/cardinfo.txt。
其中,可以設置如下強制訪問控制策略:
1、設置位于當前Docker容器外部的請求端具有對當前Docker容器內部數據所對應的掛載路徑和容器路徑的讀操作權限和/或寫操作權限。
例如,設置位于當前Docker容器外部的/bin/cat、/dockerapp具有對當前Docker容器內部數據/var/lib/docker/containers/<image-long-id>/rootfs/rootdf3880c17466:/#ll/total68/drwxr-xr-x2rootroot4096Jul2222:51bin的讀寫操作權限。
2、設置位于當前Docker容器外部的任何一個請求端都不具有對當前Docker容器內部的數據所對應的掛載路徑和容器路徑的訪問權限。
例如,設置位于當前Docker容器外部的任何一個請求端都不具有對當前Docker容器內部數據/var/lib/docker/containers/<image-long-id>/rootfs/rootdf3880c17466:/#ll/total68/drwxr-xr-x2rootroot4096Jul2222:51bin的訪問權限。
3、設置位于當前Docker容器外部的請求端具有在設定時間段內,對當前Docker容器內部數據所對應的掛載路徑和容器路徑的訪問權限。
例如,設置位于當前Docker容器外部的/bin/cat具有在每天12:00-18:00的時間段內,對當前Docker容器內部數據/var/lib/docker/containers/<image-long-id>/rootfs/rootdf3880c17466:/#ll/total68/drwxr-xr-x2rootroot4096Jul2222:51bin的讀寫操作權限。
步驟202:將相應地的掛載路徑和容器路徑發送至對當前Docker容器內部數據所對應的掛載路徑和容器路徑具有訪問權限的位于當前Docker容器外部的請求端。
由于Docker容器外部的請求端不知道Docker容器內部數據所對應的掛載路徑和容器路徑,且有一些請求端需要訪問Docker容器內的數據,因此,需要將Docker容器內部數據所對應的掛載路徑和容器路徑發送至對所對應的掛載路徑和容器路徑具有訪問權限的位于當前Docker容器外部的請求端,從而能夠實現Docker容器外部具有權限的請求端的正常訪問。
步驟203:獲取外部的目標請求端對當前Docker容器內部的目標數據的訪問請求。
例如,獲取外部的目標請求端包括/bin/cat,當前Docker容器內部的目標數據是/var/lib/docker/containers/<image-long-id>/rootfs/rootdf3880c17466:/#ll/total68/drwxr-xr-x2rootroot4096Jul2222:51bin,其訪問請求是對該目標數據進行讀操作。
步驟204:根據預先設置的訪問權限,判斷所述目標請求端是否具有對所述目標數據所對應的目標掛載路徑和目標容器路徑的訪問權限。
假設,本實施例中預先設置的訪問權限包括設置位于當前Docker容器外部的/bin/cat具有在每天12:00-18:00的時間段內,對當前Docker容器內部數據/var/lib/docker/containers/<image-long-id>/rootfs/rootdf3880c17466:/#ll/total68/drwxr-xr-x2rootroot4096Jul2222:51bin的讀寫操作權限。
那么,需要確定當前目標請求端/bin/cat的訪問時間,若該訪問時間位于設定的每天12:00-18:00的時間段內,則確定/bin/cat具有對目標數據所對應的目標掛載路徑和目標容器路徑的訪問權限,否則,則確定/bin/cat不具有對目標數據所對應的目標掛載路徑和目標容器路徑的訪問權限。
步驟205:在判斷結果為是時,允許目標請求端訪問目標掛載路徑和容器路徑所對應的目標數據。
根據本方案,通過設置位于當前Docker容器外部的請求端具有對當前Docker容器內部數據所對應的掛載路徑和容器路徑的訪問權限,即使有黑客獲知到Docker容器內數據的掛載路徑和容器路徑,也無法直接訪問該數據,通過設置的訪問權限對訪問請求進行強制訪問控制,以使對掛載路徑和容器路徑具有訪問權限的外部請求端才能夠對該目標數據的進行訪問,從而進一步提高了數據的安全性。
如圖3、圖4所示,本發明實施例提供了一種Docker容器內數據的訪問裝置。裝置實施例可以通過軟件實現,也可以通過硬件或者軟硬件結合的方式實現。從硬件層面而言,如圖3所示,為本發明實施例Docker容器內數據的訪問裝置所在設備的一種硬件結構圖,除了圖3所示的處理器、內存、網絡接口、以及非易失性存儲器之外,實施例中裝置所在的設備通常還可以包括其他硬件,如負責處理報文的轉發芯片等等。以軟件實現為例,如圖4所示,作為一個邏輯意義上的裝置,是通過其所在設備的CPU將非易失性存儲器中對應的計算機程序指令讀取到內存中運行形成的。本實施例提供的Docker容器內數據的訪問裝置包括:
存儲單元401,用于存儲位于當前Docker容器外部的請求端具有對當前Docker容器內部數據所對應的掛載路徑和容器路徑的訪問權限,其中,該位于當前Docker容器外部的該請求端包括文件、目錄、進程、注冊表和服務中的任意一種;
獲取單元402,用于獲取外部的目標請求端對當前Docker容器內部的目標數據的訪問請求;
判斷單元403,用于根據預先設置的訪問權限,判斷所述目標請求端是否具有對所述目標數據所對應的目標掛載路徑和目標容器路徑的訪問權限;在判斷結果為是時,允許所述目標請求端訪問所述目標掛載路徑和所述容器路徑所對應的所述目標數據。
進一步地,所述存儲單元401,用于存儲位于當前Docker容器外部的請求端具有對當前Docker容器內部數據所對應的掛載路徑和容器路徑的讀操作權限和/或寫操作權限;和/或,存儲位于當前Docker容器外部的任何一個請求端都不具有對當前Docker容器內部的數據所對應的掛載路徑和容器路徑的訪問權限;和/或,存儲位于當前Docker容器外部的請求端具有在設定時間段內,對當前Docker容器內部數據所對應的掛載路徑和容器路徑的訪問權限。
如圖5所示,本發明實施例提供的Docker容器內數據的訪問裝置可以進一步包括:
發送單元501,用于將相應地的掛載路徑和容器路徑發送至對當前Docker容器內部數據所對應的掛載路徑和容器路徑具有訪問權限的位于當前Docker容器外部的請求端。
綜上,本發明實施例至少可以實現如下有益效果:
1、通過設置位于當前Docker容器外部的請求端具有對當前Docker容器內部數據所對應的掛載路徑和容器路徑的訪問權限,即使有黑客獲知到Docker容器內數據的掛載路徑和容器路徑,也無法直接訪問該數據,通過設置的訪問權限對訪問請求進行強制訪問控制,以使對掛載路徑和容器路徑具有訪問權限的外部請求端才能夠對該目標數據的進行訪問,從而進一步提高了數據的安全性。
上述設備內的各單元之間的信息交互、執行過程等內容,由于與本發明方法實施例基于同一構思,具體內容可參見本發明方法實施例中的敘述,此處不再贅述。
需要說明的是,在本文中,諸如第一和第二之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個······”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同因素。
本領域普通技術人員可以理解:實現上述方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成,前述的程序可以存儲在計算機可讀取的存儲介質中,該程序在執行時,執行包括上述方法實施例的步驟;而前述的存儲介質包括:ROM、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質中。
最后需要說明的是:以上所述僅為本發明的較佳實施例,僅用于說明本發明的技術方案,并非用于限定本發明的保護范圍。凡在本發明的精神和原則之內所做的任何修改、等同替換、改進等,均包含在本發明的保護范圍內。

關 鍵 詞:
一種 DOCKER 容器 數據 訪問 方法 裝置
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:一種DOCKER容器內數據的訪問方法及裝置.pdf
鏈接地址:http://www.wwszu.club/p-6401619.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
鬼佬大哥大