偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

為什么Cloudera要?jiǎng)?chuàng)建Hadoop安全組件Sentry?

大數(shù)據(jù) Hadoop
大數(shù)據(jù)平臺(tái)上細(xì)粒度的訪(fǎng)問(wèn)權(quán)限控制各家都在做,當(dāng)然平臺(tái)廠商方面主導(dǎo)的還是Cloudera和Hortonworks兩家,Cloudera主推Sentry為核心的授權(quán)體系;Hortonwork一方面靠對(duì)開(kāi)源社區(qū)走向得把控,另一方面靠收購(gòu)的XA Secure。無(wú)論今后兩家公司對(duì)大數(shù)據(jù)平臺(tái)市場(chǎng)的影響力如何變化,大數(shù)據(jù)平臺(tái)上的細(xì)粒度授權(quán)訪(fǎng)問(wèn)都值得我們?nèi)W(xué)習(xí)。

1.  大數(shù)據(jù)的安全體系

要說(shuō)清楚這個(gè)問(wèn)題,還得從大數(shù)據(jù)平臺(tái)安全體系的四個(gè)層次說(shuō)起:外圍安全、數(shù)據(jù)安全、訪(fǎng)問(wèn)安全以及訪(fǎng)問(wèn)行為監(jiān)控;如下圖所示;

外圍安全技術(shù)多指?jìng)鹘y(tǒng)意義上提到的網(wǎng)絡(luò)安全技術(shù),如防火墻,登陸認(rèn)證等;

數(shù)據(jù)安全從狹義上說(shuō)包括對(duì)用戶(hù)數(shù)據(jù)的加解密,又可細(xì)分為存儲(chǔ)加密和傳輸加密;還包括用戶(hù)數(shù)據(jù)的脫敏,脫敏可以看做“輕量級(jí)”的數(shù)據(jù)加密。如某人的生日為“2014-12-12”,脫敏后的數(shù)據(jù)為“2014-x-x”。數(shù)據(jù)的輪廓依然存在,但已無(wú)法精確定位數(shù)值。脫敏的程度越高數(shù)據(jù)可辨認(rèn)度越低。上述的例子還可脫敏為“x-x-x”,相當(dāng)于完全對(duì)外屏蔽該信息。

訪(fǎng)問(wèn)安全主要是對(duì)用戶(hù)的授權(quán)進(jìn)行管理。Linux/Unix系統(tǒng)中用戶(hù)-組的讀、寫(xiě)、執(zhí)行權(quán)限管理堪稱(chēng)其中的經(jīng)典模型。HDFS對(duì)這一概念進(jìn)行了擴(kuò)充,形成了更加完備的ACL體系;另外隨著大數(shù)據(jù)的應(yīng)用的普及和深入,文件內(nèi)部數(shù)據(jù)訪(fǎng)問(wèn)權(quán)限差異化的需求也變得越來(lái)越重要;

訪(fǎng)問(wèn)行為監(jiān)控多指記錄用戶(hù)對(duì)系統(tǒng)的訪(fǎng)問(wèn)行為:如查看哪個(gè)文件;運(yùn)行了哪些SQL查詢(xún);訪(fǎng)問(wèn)行為監(jiān)控一方面為了進(jìn)行實(shí)時(shí)報(bào)警,迅速處置非法或者危險(xiǎn)的訪(fǎng)問(wèn)行為;另一方面為了事后調(diào)查取證,從長(zhǎng)期的數(shù)據(jù)訪(fǎng)問(wèn)行為中分析定位特定的目的。

在這四個(gè)安全的層次中,第三層同上層業(yè)務(wù)的關(guān)系最為直接:應(yīng)用程序的多租戶(hù),分權(quán)限訪(fǎng)問(wèn)控制都直接依賴(lài)這一層的技術(shù)實(shí)現(xiàn)。

2.  HDFS的授權(quán)體系

在上述的第三層中,Hadoop生態(tài)圈長(zhǎng)久以來(lái)一直沿用Linux/Unix系統(tǒng)的授權(quán)管理模型,將文件的訪(fǎng)問(wèn)權(quán)限分為讀-寫(xiě)兩種權(quán)限(HDFS上沒(méi)有可執(zhí)行文件的概念),將權(quán)限的所有者劃分為三個(gè)大類(lèi):擁有者(owner),所在組(group),以及其他人(other)。這種模型限制權(quán)限的所有者只能有三類(lèi)。如果試圖增加一個(gè)新的“組”,并設(shè)定該組的用戶(hù)擁有不同于owner,group或other的權(quán)限,現(xiàn)有的Linux/Unix授權(quán)模型是無(wú)法優(yōu)雅地解決這個(gè)問(wèn)題的。

舉例來(lái)說(shuō)明上述狀況:假設(shè)有一個(gè)銷(xiāo)售部門(mén),部門(mén)經(jīng)理manager具有修改銷(xiāo)售數(shù)據(jù)sales_data的權(quán)利;銷(xiāo)售部門(mén)的成員具有查看sales_data的權(quán)利,銷(xiāo)售部門(mén)以外的人無(wú)法看到銷(xiāo)售數(shù)據(jù)sales_data。那么對(duì)于銷(xiāo)售數(shù)據(jù)sales_data的授權(quán)如下所示:

  1. -rw-r-----   3  manager sales      0   2015-01-25  18:51  sales_data 

后來(lái)該銷(xiāo)售部門(mén)擴(kuò)充了人員,又來(lái)兩個(gè)銷(xiāo)售經(jīng)理,一個(gè)叫manager1,另一個(gè)叫manager2。這兩個(gè)銷(xiāo)售經(jīng)理也被允許修改銷(xiāo)售數(shù)據(jù)。這種情況下,manager1和manager2只能使用一個(gè)新賬號(hào)manager_account,然后使該賬號(hào)能夠使用setuid對(duì)sales_data進(jìn)行修改。這使得對(duì)同一份數(shù)據(jù)的權(quán)限管理變得復(fù)雜而不容易維護(hù)。

由于上述問(wèn)題的存在,Hadoop2.4.0中添加了對(duì)HDFS ACL(Access Control Lists)的支持。這一新特性很好地解決了上述的問(wèn)題。然而隨著Hadoop在企業(yè)中廣泛地應(yīng)用,越來(lái)越多的業(yè)務(wù)場(chǎng)景要求大數(shù)據(jù)訪(fǎng)問(wèn)控制的粒度也不再局限在文件級(jí)別,而是更加細(xì)致地約束文件內(nèi)部的數(shù)據(jù)哪些能被讀寫(xiě),哪些只能被讀,哪些完全不允許被訪(fǎng)問(wèn)。對(duì)于基于SQL的大數(shù)據(jù)引擎來(lái)說(shuō),數(shù)據(jù)訪(fǎng)問(wèn)不止要到表粒度,更要精確到行列級(jí)別。

3.  Hiveserver2的授權(quán)

Hive是早期將高級(jí)查詢(xún)語(yǔ)言SQL引入Hadoop平臺(tái)的引擎之一,早期的Hive服務(wù)器進(jìn)程被稱(chēng)作Hiveserver1;Hiveserver1既不支持處理并行的多個(gè)連接,又不支持訪(fǎng)問(wèn)授權(quán)控制;后來(lái)這兩個(gè)問(wèn)題在Hiveserver2上被解決,Hiveserver2能夠使用grant/revoke語(yǔ)句來(lái)限制用戶(hù)對(duì)數(shù)據(jù)庫(kù)、表、視圖的訪(fǎng)問(wèn)權(quán)限,行列權(quán)限的控制是通過(guò)生成視圖來(lái)實(shí)現(xiàn)的;但Hiveserver2的授權(quán)管理體系被認(rèn)為存在問(wèn)題,那就是任何通過(guò)認(rèn)證登陸的用戶(hù)都能夠?yàn)樽约涸黾訉?duì)任何資源的訪(fǎng)問(wèn)權(quán)限。也就是說(shuō)Hiveserver2提供的不是一種安全的授權(quán)體系,Hiveserver2的授權(quán)體系是為防止正常用戶(hù)誤操作而提供保障機(jī)制;不是為保護(hù)敏感數(shù)據(jù)的安全性而設(shè)計(jì)的。然而這些更多的是某些公司的說(shuō)辭,事實(shí)上Hiveserver2自身的安全體系也在逐步完善,上述問(wèn)題也在快速修復(fù)中。

但授權(quán)管理其實(shí)不止是Hive需要,其他的查詢(xún)引擎也迫切需要這些技術(shù)來(lái)完善和規(guī)范應(yīng)用程序?qū)?shù)據(jù)的訪(fǎng)問(wèn)。對(duì)于細(xì)粒度授權(quán)管理的實(shí)現(xiàn),很大一部分功能在各引擎之間是可以公用的,因此獨(dú)立實(shí)現(xiàn)的授權(quán)管理工具是非常必要的。

4.  Sentry提供的安全授權(quán)管理

在這樣的背景下,Cloudera公司的一些開(kāi)發(fā)者利用Hiveserver2中現(xiàn)有的授權(quán)管理模型,擴(kuò)展并細(xì)化了很多細(xì)節(jié),完成了一個(gè)相對(duì)具有使用價(jià)值的授權(quán)管理工具Sentry,下圖是Sentry與Hiveserver2中的授權(quán)管理模型的對(duì)比:

 

Sentry的很多基本模型和設(shè)計(jì)思路都來(lái)源于Hiveserver2,但在其基礎(chǔ)之上加強(qiáng)了RBAC的概念。在Sentry中,所有的權(quán)限都只能授予角色,當(dāng)角色被掛載到用戶(hù)組的時(shí)候,該組內(nèi)的用戶(hù)才具有相應(yīng)的權(quán)限。權(quán)限à角色à用戶(hù)組à用戶(hù),這一條線(xiàn)的映射關(guān)系在Sentry中顯得尤為清晰,這條線(xiàn)的映射顯示了一條權(quán)限如何能最后被一個(gè)用戶(hù)所擁有;從權(quán)限到角色,再到用戶(hù)組都是通過(guò)grant/revoke的SQL語(yǔ)句來(lái)授予的。從“用戶(hù)組”到能夠影響“用戶(hù)”是通過(guò)Hadoop自身的用戶(hù)-組映射來(lái)實(shí)現(xiàn)的。Hadoop提供兩種映射:一種是本地服務(wù)器上的Linux/Unix用戶(hù)到所在組的映射;另一種是通過(guò)LDAP實(shí)現(xiàn)的用戶(hù)到所屬組的映射;后者對(duì)于大型系統(tǒng)而言更加適用,因?yàn)榫哂屑信渲?,易于修改的好處?/p>

Sentry將Hiveserver2中支持的數(shù)據(jù)對(duì)象從數(shù)據(jù)庫(kù)/表/視圖擴(kuò)展到了服務(wù)器,URI以及列粒度。雖然列的權(quán)限控制可以用視圖來(lái)實(shí)現(xiàn),但是對(duì)于多用戶(hù),表數(shù)量巨大的情況,視圖的方法會(huì)使得給視圖命名變得異常復(fù)雜;而且用戶(hù)原先寫(xiě)的針對(duì)原表的查詢(xún)語(yǔ)句,這時(shí)就無(wú)法直接使用,因?yàn)橐晥D的名字可能與原表完全不同。

目前Sentry1.4能夠支持的授權(quán)級(jí)別還局限于SELECT,INSERT,ALL這三個(gè)級(jí)別,但后續(xù)版本中已經(jīng)能夠支持到與Hiveserver2現(xiàn)有的水平。Sentry來(lái)源于Hiveserver2中的授權(quán)管理模型,但卻不局限于只管理Hive,而希望能管理Impala, Solr等其他需要授權(quán)管理的查詢(xún)引擎,Sentry的架構(gòu)圖如下所示:

Sentry的體系結(jié)構(gòu)中有三個(gè)重要的組件:一是Binding;二是Policy Engine;三是Policy Provider。

Binding實(shí)現(xiàn)了對(duì)不同的查詢(xún)引擎授權(quán),Sentry將自己的Hook函數(shù)插入到各SQL引擎的編譯、執(zhí)行的不同階段。這些Hook函數(shù)起兩大作用:一是起過(guò)濾器的作用,只放行具有相應(yīng)數(shù)據(jù)對(duì)象訪(fǎng)問(wèn)權(quán)限的SQL查詢(xún);二是起授權(quán)接管的作用,使用了Sentry之后,grant/revoke管理的權(quán)限完全被Sentry接管,grant/revoke的執(zhí)行也完全在Sentry中實(shí)現(xiàn);對(duì)于所有引擎的授權(quán)信息也存儲(chǔ)在由Sentry設(shè)定的統(tǒng)一的數(shù)據(jù)庫(kù)中。這樣所有引擎的權(quán)限就實(shí)現(xiàn)了集中管理。

Policy Engine判定輸入的權(quán)限要求與已保存的權(quán)限描述是否匹配,Policy Provider負(fù)責(zé)從文件或者數(shù)據(jù)庫(kù)中讀取出原先設(shè)定的訪(fǎng)問(wèn)權(quán)限。Policy Engine以及Policy Provider其實(shí)對(duì)于任何授權(quán)體系來(lái)說(shuō)都是必須的,因此是公共模塊,后續(xù)還可服務(wù)于別的查詢(xún)引擎。

5.  小結(jié)

大數(shù)據(jù)平臺(tái)上細(xì)粒度的訪(fǎng)問(wèn)權(quán)限控制各家都在做,當(dāng)然平臺(tái)廠商方面主導(dǎo)的還是Cloudera和Hortonworks兩家,Cloudera主推Sentry為核心的授權(quán)體系;Hortonwork一方面靠對(duì)開(kāi)源社區(qū)走向得把控,另一方面靠收購(gòu)的XA Secure。無(wú)論今后兩家公司對(duì)大數(shù)據(jù)平臺(tái)市場(chǎng)的影響力如何變化,大數(shù)據(jù)平臺(tái)上的細(xì)粒度授權(quán)訪(fǎng)問(wèn)都值得我們?nèi)W(xué)習(xí)。

6.  引用

責(zé)任編輯:林師授 來(lái)源: 明略數(shù)據(jù)
相關(guān)推薦

2020-10-20 11:33:36

聯(lián)網(wǎng)安全

2019-11-13 14:38:34

Executors阿里線(xiàn)程池

2014-04-09 10:55:55

Cloudera\Sp

2010-06-04 16:47:49

實(shí)現(xiàn)Hadoop

2010-05-13 13:53:43

2015-08-06 10:14:15

造輪子facebook

2022-08-15 08:27:02

基站網(wǎng)絡(luò)

2010-06-04 17:03:17

實(shí)現(xiàn)Hadoop

2013-03-12 14:30:09

Ubuntu操作系統(tǒng)

2015-09-23 17:07:38

2024-07-12 15:45:13

2010-06-04 16:31:14

實(shí)現(xiàn)Hadoop

2018-04-08 15:32:47

Hadoop大數(shù)據(jù)Gartner

2013-07-19 09:43:16

2014-08-25 10:00:18

開(kāi)源

2015-05-12 11:04:42

Java EE學(xué)習(xí)Java EE

2019-11-27 10:25:15

SaaS云端IT架構(gòu)

2017-04-05 16:40:45

2017-09-08 08:35:16

Android代碼API設(shè)計(jì)

2021-02-11 13:30:56

Nodejs源碼c++
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)