Apache Ranger && HDFS


Apache Ranger && HDFS

標簽(空格分隔): Hadoop


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 提供了單個目錄與單個人之間多對多的權限模型

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 自帶的用戶:屬組提交隊列鑒權。

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修改默認權限,例如:

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”:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM