Apache Ranger && HDFS

Apache Ranger && HDFS

標籤(空格分隔): Hadoopapache


HDFS

HDFS對於任何Hadoop大數據平臺來講都是核心組成部分,爲了增強對Hadoop平臺的數據保護,將安全控制深刻到HDFS層是很是有必要的。HDFS自己提供了Kerberos認證,而且提供了基於POSIX風格的權限和HDFS——ACL控制,固然它也可使用基於Apache Ranger的權限控制體系。安全

Apache Ranger (http://hortonworks.com/hadoop/ranger/) 是一個集中式的Hadoop體系的安全管理解決方案,它提供給管理者在HDFS或者其它Hadoop體系組件上建立和應用安全策略的功能。
POSIX:控制 用戶:屬組:其餘用戶權限類型,權限控制比較單一。但在傳統文件系統模型中已經知足。
HDFS權限:一,HDFS ACL:與傳統文件系統權限控制相似。二,Ranger 提供了單個目錄與單我的之間多對多的權限模型ide

Ranger是怎麼在HDFS上工做的?

Apache Ranger提供了一個和HDFS原生權限相匹配適應的受權模型。 HDFS Ranger插件會首先檢測是否存在對應的受權策略對應用戶受權,若是存在那麼用戶權限檢測經過。若是沒有這樣的策略,那麼Ranger插件會啓用HDFS原生的權限體系進行權限檢查(POSIX or HDFS ACL)。這種模型在Ranger中適用於HDFS和YARN服務。
image.png-50.8kB
對於 HDFS-YARN 這二者服務,默認打開Ranger鑑權模型後,先走Ranger策略,若是Ranger策略中沒有相應策略,那麼默認走 底層 HDFS,Yarn 使用的權限。便是HDFS ACL,YARN 自帶的用戶:屬組提交隊列鑑權。oop

Ranger的用戶界面可讓管理者很是容易地找到用戶的受權關係(Ranger policy or native HDFS) 用戶能夠方便的查看審計內容(路徑爲:Ranger→ Audit),若是在界面上「Access Enforcer」列的內容爲「Ranger-acl」,那說明Ranger的策略被應用到了用戶身上。若是「Access Enforcer」列的內容爲「Hadoop-acl」,表示該訪問是由HDFS原生的POSIX權限和HDFS ACL提供的,只有當 Ranger 中沒有對應策略纔會走 HDFS-ACL。
image.png-74.9kB大數據

如何確保在Ranger啓用後的安全?

當Ranger和Hadoop都安裝完後,建議管理員按下面的步驟進行配置:插件

1,Change HDFS umask to 077

2,Identify directory which can be managed by Ranger policies

3,Identify directories which need to be managed by HDFS native permissions

4,Enable Ranger policy to audit all records

1,改變HDFS掩碼爲077,肯定哪些目錄由Ranger受權管理,哪些目錄由HDFS原生權限控制。啓用Ranger的審計功能

2,指定哪些目錄由Ranger受權

建議這些目錄由Ranger來進行管理和受權(/user/hive/warehouse,/Hbase以及一些自定義的數據目錄) HDFS自己的受權模型對於這些需求來講顯得捉襟見肘。 可使用chmod修改默認權限,例如:code

hdfs dfs -chmod -R 000 /user/hive/warehouse
hdfs dfs -chmod -R 000 /hbase

3,管理員能夠照着這個圖對其它目錄進行用戶受權,你能夠經過如下方式進行受權驗證:例如 Hive-ACL和HDFS Ranger-ACL 的權限的同步。

4,建議讓HDFS原生權限管理/tmp和/user目錄。這些目錄一般被各類應用使用於建立用戶級的目錄。這裏你也須要設置/user目錄的權限爲「700」,/tmp等目錄也能夠直接設置「777」:

相關文章
相關標籤/搜索