基于策略的數據保護的制作方法
【技術領域】
[0001] 本公開涉及用于提供基于策略的數據保護的方法和能夠執行這種方法的系統。
【背景技術】
[0002] 如今我們處于數據爆發的年代。具體地,存在著個人數據的爆發,其中,個人持續 產生大量的數據,且服務和設備還能夠代表個人進行工作。當聚集、處理和注意到這些數據 時,這些數據捕捉到我們的簡檔、偏好、行為以及更多的東西。這是創建個性化服務以及所 產生的貨幣化機會的重要基礎。不幸的是,作為數據的名義上的所有者,用戶對如何共享和 使用他們的數據并沒有完全的控制權,且對于他們正被使用的數據的貨幣化,他們也沒有 從中獲得太多收益。原因之一是數據的所有權通常是邏輯上的而非物質上的。
[0003] -般而言,可以使用適合的策略語言來描述通信網絡中交換數據的網絡節點如何 處理資源,例如,如文件、網頁、圖像或視頻。在表述性狀態轉移(REST)框架下,通常將資源 表示為REST端點URL。這種類型的策略通常通過引用該資源的實例來描述要保護的資源。 此外,需要知道請求者(或請求者的一些屬性),以能夠選擇正確的策略。在策略中,規則 通常規定訪問某個資源的條件。這樣的規則可以例如被規定為"應用A僅可以在工作日的 早上9點到下午5點之間讀取我的位置數據"。這些類型的策略語言通常使用不同的格式 (例如,如可擴展標記語言(XML)來描述具體的策略。此外,這種語言在對應該強制執行什 么的表達性方面可以不同。
[0004] 例如,可擴展訪問控制標記語言(XACML)是在使用XML來描述訪問資源的規則的 信息社會高級開放標準(OASIS)標準內規定的策略語言的一個實例。XACML還使用XML描 述訪問控制判決請求/響應語言,其允許形成用于詢問是否允許給定動作且用于相應地解 譯結果的查詢。此外,XACML提供找到應用于給定請求的策略并將請求針對該策略進行評 估的能力。
[0005] 在XACML使用場景中,可假設個人或應用需要采取涉及資源的動作,該資源可例 如從文件系統或網絡服務器提供,其中,該資源受到策略執行點(PEP)的保護。PEP將會基 于與請求者、所討論的資源、所請求的動作以及可能可涉及請求的任何其他信息相關聯的 一個或多個屬性來形成請求。PEP然后將會向策略判決點(PDP)發送該請求,PDP將會考慮 該請求和應用于該請求的策略,并提出與是否應該授權訪問有關的答復。將對請求的答復 返回給PEP,PEP可在然后允許或拒絕請求者訪問資源。
[0006] 數據存儲器通過多種不同的變型可用,例如,數據庫(例如,如關系數據庫,非僅 結構化查詢語言(NoSQL)數據庫或圖形數據庫)、文件系統(例如,如Unix、Wind 〇WS文件系 統)或分布式文件系統(例如,如Hadoop分布式文件系統(HDFS))的形式,或者文檔(例 如,如逗號分隔值(CSV)文件匯集)的形式。數據存儲器的實例因此可以是數據庫、文件系 統或多個文檔中的任一種。不同種類的數據庫存儲具有不同數據單位的數據。分別地,在 關系數據庫和NoSQL數據庫中,可識別的最小數據單位是行,相反,在圖形數據庫中,最小 可識別數據單位代之是節點或邊緣,而在文檔匯集的文件系統中,最小可識別數據單位可 以代之是文件或文件中的行。現有用于保護數據存儲器中的數據的解決方案通常是粗粒度 的,其中,請求者或者對數據所有者的所有數據具有完全的訪問權,或者對數據所有者的任 何數據都沒有訪問權,并且該控制規則是靜態預定義的。
【發明內容】
[0007] 本文檔的目標是通過建議一種方法來解決上述問題中的至少一些,該方法使用戶 能夠靈活地定義策略,搜索應用于所定義的策略的資源以及高效地修改和/或刪除所定義 的策略。
[0008] 根據一個方案,提供了一種保護數據存儲器中存儲的資源的方法,其中,能夠基于 針對每一個相應資源所定義的、并以分層方式所構建的不同策略來保護不同資源,由此通 過以下方式來允許以可變粒度保護所述不同資源:定義策略,使得策略中針對具體資源所 定義的最細粒度的策略能夠在執行涉及該資源的請求時動態應用于該資源。
[0009] 更具體地,可通過以下方式定義策略:針對表示至少一個數據項的種類來定義第 一策略,使得所述第一策略應用于所述種類以及所述種類的未針對其定義策略的每個子 類,其中,針對所述子類中已針對其定義了不同于所述第一策略的策略的每個子類,在執行 涉及所述子類的至少一個的請求時,所述策略越權所述第一策略。
[0010] 可通過以下方式來執行對要應用于種類所表示的至少一個數據項的策略的定義: 將策略與唯一的標識或名稱相關聯,其中,每個唯一的標識或名稱識別所述數據項之一或 所述種類,由此使得所述策略可識別。
[0011] 根據一個實施例,可針對包括至少一個數據項并作為所述種類的之前未針對其定 義策略的子類的每個子類來定義策略,所述策略可以是不同于所述第一策略的策略,所述 定義是通過將所述第一策略的內容復制到不同于所述第一策略的每個策略來執行的。
[0012] 根據另一實施例,代之,可通過以下方式定義策略:針對包括至少一個數據項并作 為所述種類的之前未針對其定義策略的子類的每個子類來定義策略,所述策略可以是不同 于所述第一策略的策略,所述定義是通過向每個子類的相應策略提供對所述第一策略進行 引用的引用來執行的。
[0013] 根據另一實施例,代之,可通過以下方式定義策略:通過將包括至少一個數據項并 作為所述種類的之前未針對其定義策略的子類的每個子類作為要應用所述第一策略的資 源來列出,定義策略,所述策略可以是不同于所述第一策略的策略。
[0014] 根據另一方案,建議了一種用于搜索資源的方法,其中,已根據前述任一實施例針 對所述資源定義了策略,所述搜索是通過以下方式執行的:識別從請求者接收到的查詢; 識別所請求的數據項;通過針對每個識別出的數據項將與具體策略相關聯的唯一的標識或 名稱與所存儲的策略相匹配,根據相關策略來確定所述請求者能夠訪問的數據項;以及根 據匹配的策略向所述請求者提供響應。
[0015] 根據另一方案,建議了一種更新第一策略的方法,其中,已根據上述任一實施例, 針對表示至少一個數據項的種類定義了所述第一策略,除了更新針對表示所述數據項的種 類所定義的所述第一策略之外,所述方法還包括:更新針對所述種類的子類所定義的與所 述第一策略具有相同內容的每個策略。
[0016] 根據另一方案,建議了一種用于刪除第一策略的方法,其中,已根據上述任一實施 例,針對表示至少一個數據項的種類定義了所述第一策略,除了刪除針對所述數據項所定 義的所述第一策略之外,所述方法還包括:刪除針對所述種類的子類所定義的與所述第一 策略具有相同內容的每個策略。
[0017] 根據另一方案,建議了一種計算機程序,包括指令,所述指令當在至少一個處理器 上執行時使所述至少一個處理器執行根據上述任一方法所述的方法。
[0018] 根據另一方案,提供了一種能夠包括數據存儲器中存儲的資源的系統,包括至少 一個處理器和包括指令的至少一個存儲器,所述指令在由所述至少一個處理器執行時使所 述系統基于針對每一個相應資源所定義的、并以分層方式所構建的策略來保護不同資源, 由此通過以下方式來允許以可變粒度保護所述不同資源:定義策略,使得策略中針對具體 資源所定義的最細粒度的策略能夠在執行涉及該資源的請求時動態應用于該資源。
[0019] 所建議的系統通常還包括在由所述至少一個處理器執行時使系統執行以下操作 的指令:針對種類所表示的資源的數據項定義第一策略,使得所述第一策略應用于所述種 類表示的每個數據項以及未針對其定義策略的資源子類所表示的每個數據項,其中,針對 所述子類中已針對其定義了不同于所述第一策略的策略的每個子類所表示的數據項,在執 行涉及所述數據項中的至少一個數據項的請求時,這樣的策略越權所述第一策略。
[0020] 所建議的系統通常還包括在由所述至少一個處理器執行時使系統執行以下操作 的指令:通過將策略與唯一的標識或名稱相關聯,定義要應用于種類的策略,其中,每一個 唯一的標識或名稱識別所述數據項之一或所述種類,由此使得所述系統可識別所述策略。
[0021] 根據一個實施例,上述系統還包括在由所述至少一個處理器執行時使系統執行以 下操作的指令:針對包括至少一個數據項并作為所述種類的之前未針對其定義策略的子類 的每個種類,定義策略,所述定義是通過將所述第一策略的內容復制到不同于所述第一策 略的每個策略來執行的。
[0022] 根據又一實施例,所述系統還包括在由所述至少一個處理器執行時使系統執行以 下操作的指令:針對包括至少一個數據項并作為所述種類的之前未針對其定義策略的子類 的每個子類,定義策略,所述策略可以是不同于所述第一策略的策略,所述定義是通過向每 個子類的相應策略提供對所述第一策略進行引用的引用來執行的。
[0023] 根據又一實施例,所述系統還包括在由所述至少一個處理器執行時使系統執行以 下操作的指令:通過將包括至少一個數據項并作為所述種類的之前未針對其定義策略的子 類的每個子類作為要應用所述第一策略的子類來列出,定義策略,所述策略可以是不同于 所述第一策略的策略。
[0024] 根據另一方案,所述系統還包括在由所述至少一個處理器執行時使系統通過以下 方式搜索已針對其定義了策略的資源的指令:識別從請求者接收到的查詢;識別所請求的 數據項;通過針對每個識別出的數據項將與具體策略相關聯的唯一的標識或名稱與所存儲 的策略相匹配,根據相關策略來確定所述請求者能夠訪問的數據項;以及根據匹配的策略 向所述請求者提供響應。
[0025] 所建議的系統通常還包括當由所述至少一個處理器執行時使系統執行以下操作 的其他指令:更新第一策略并更新針對所述種類的子類所定義的與所述第一策略具有相同 內容的每個策略,且以類似的方式,系統還包括當由所述至少一個處理器執行時使系統執 行以下操作的其他指令:刪除針對種類所表示至少一個數據項定義的第一策略并刪除針對 所述種類的子類所定義的與所述第一策略具有相同內容的每個策略。
【附圖說明】
[0026] 現在將關于附圖更詳細地描述實施例,在附圖中:
[0027] 圖1是包括PDV和PPM的系統的示意性示意。
[0028] 圖2是圖1的PPM的更詳細的示意。
[0029] 圖3是包括多個PDV和PPM的系統的示意。
[0030] 圖4是圖2的PPM的更詳細的示意。
[0031] 圖5是圖2的PPM的另一更詳細的示意。
[0032] 圖6是根據一個實施例用于定義策略的方法的示意。
[0033] 圖7是用于對已針對資源定義的策略進行識別的資源標簽的示意。
[0034]