zoukankan      html  css  js  c++  java
  • 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”:

  • 相关阅读:
    多态的作用-游戏编程展示------新标准c++程序设计
    类与类之间的两种关系------新标准c++程序设计
    复制构造函数被调用的三种情况------新标准c++程序设计
    Dynamics CRM2011 隐藏sub-grid 新建项和添加现有项按钮
    Dynamics CRM Odata QueryUrl中的SetName问题
    Dynamics CRM 修改自定义实体名字及属性前缀(架构名称)
    Dynamics CRM 请求服务时报access is denied错误
    Dynamics CRM2011中通过JS脚本方式显示和隐藏ribbon中的自定义按钮
    (转载)表服务器无法打开与报表服务器数据库的连接。所有请求和处理都要求与数据库建立连接。
    如何将sqlserver的windows验证模式改为SQL Server 和 Windows 混合身份验证模式
  • 原文地址:https://www.cnblogs.com/hit-zb/p/11401235.html
Copyright © 2011-2022 走看看