上圖顯示的是一個(gè)Hadoop文件系統(tǒng)的架構(gòu)圖,顯示出數(shù)據(jù)節(jié)點(diǎn)和客戶端如何交互。
節(jié)點(diǎn)的松散聯(lián)系帶來(lái)了許多性能優(yōu)勢(shì),但也帶來(lái)了獨(dú)特的安全挑戰(zhàn)。大數(shù)據(jù)數(shù)據(jù)庫(kù)并不使用集中化的“圍墻花園”模式(與“完全開(kāi)放”的互聯(lián)網(wǎng)相對(duì)而言,它指的是一個(gè)控制用戶對(duì)網(wǎng)頁(yè)內(nèi)容或相關(guān)服務(wù)進(jìn)行訪問(wèn)的環(huán)境),內(nèi)部的數(shù)據(jù)庫(kù)并不隱藏自己而使其它應(yīng)用程序無(wú)法訪問(wèn)。在這兒沒(méi)有“內(nèi)部的”概念,而大數(shù)據(jù)并不依賴(lài)數(shù)據(jù)訪問(wèn)的集中點(diǎn)。大數(shù)據(jù)將其架構(gòu)暴露給使用它的應(yīng)用程序,而客戶端在操作過(guò)程中與許多不同的節(jié)點(diǎn)進(jìn)行通信。
規(guī)模、實(shí)時(shí)性和分布式處理:大數(shù)據(jù)的本質(zhì)特征(使大數(shù)據(jù)解決超過(guò)以前數(shù)據(jù)管理系統(tǒng)的數(shù)據(jù)管理和處理需求,例如,在容量、實(shí)時(shí)性、分布式架構(gòu)和并行處理等方面)使得保障這些系統(tǒng)的安全更為困難。大數(shù)據(jù)集群具有開(kāi)放性和自我組織性,并可以使用戶與多個(gè)數(shù)據(jù)節(jié)點(diǎn)同時(shí)通信。驗(yàn)證哪些數(shù)據(jù)節(jié)點(diǎn)和哪些客戶應(yīng)當(dāng)訪問(wèn)信息是很困難的。別忘了,大數(shù)據(jù)的本質(zhì)屬性意味著新節(jié)點(diǎn)自動(dòng)連接到集群中,共享數(shù)據(jù)和查詢(xún)結(jié)果,解決客戶任務(wù)。
嵌入式安全:在涉及大數(shù)據(jù)的瘋狂競(jìng)賽中,大部分的開(kāi)發(fā)資源都用于改善大數(shù)據(jù)的可升級(jí)、易用性和分析功能上。只有很少的功能用于增加安全功能。但是,你希望得到嵌入到大數(shù)據(jù)平臺(tái)中的安全功能。你希望開(kāi)發(fā)人員在設(shè)計(jì)和部署階段能夠支持所需要的功能。你希望安全功能就像大數(shù)據(jù)集群一樣可升級(jí)、高性能、自組織。問(wèn)題是,開(kāi)源系統(tǒng)或多數(shù)商業(yè)系統(tǒng)一般都不包括安全產(chǎn)品。而且許多安全產(chǎn)品無(wú)法嵌入到Hadoop或其它的非關(guān)系型數(shù)據(jù)庫(kù)中。多數(shù)系統(tǒng)提供最少的安全功能,但不足以包括所有的常見(jiàn)威脅。在很大程度上,你需要自己構(gòu)建安全策略。
應(yīng)用程序:面向大數(shù)據(jù)集群的大多數(shù)應(yīng)用都是Web應(yīng)用。它們利用基于Web的技術(shù)和無(wú)狀態(tài)的基于REST的API。雖然全面討論大數(shù)據(jù)安全的這個(gè)問(wèn)題超出了本文的范圍,但基于Web的應(yīng)用程序和API給這些大數(shù)據(jù)集群帶來(lái)了一種最重大的威脅。在遭受攻擊或破壞后,它們可以提供對(duì)大數(shù)據(jù)集群中所存儲(chǔ)數(shù)據(jù)的無(wú)限制訪問(wèn)。應(yīng)用程序安全、用戶訪問(wèn)管理及授權(quán)控制非常重要,與重點(diǎn)保障大數(shù)據(jù)集群安全的安全措施一樣都不可或缺。
數(shù)據(jù)安全:存儲(chǔ)在大數(shù)據(jù)集群中的數(shù)據(jù)基本上都保存在文件中。每一個(gè)客戶端應(yīng)用都可以維持其自己的包含數(shù)據(jù)的設(shè)計(jì),但這種數(shù)據(jù)是存儲(chǔ)在大量節(jié)點(diǎn)上的。存儲(chǔ)在集群中的數(shù)據(jù)易于遭受正常文件容易感染的所有威脅,因而需要對(duì)這些文件進(jìn)行保護(hù),避免遭受非法的查看和復(fù)制。