Apache Ranger && HDFS

做~自己de王妃 提交于 2020-05-02 02:20:59

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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!