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服務。
對於 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。
如何確保在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