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服务。
对于 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
3,管理员可以照着这个图对其它目录进行用户授权,你可以通过以下方式进行授权验证:例如 Hive-ACL和HDFS Ranger-ACL 的权限的同步。
4,建议让HDFS原生权限管理/tmp和/user目录。这些目录通常被各种应用使用于创建用户级的目录。这里你也需要设置/user目录的权限为“700”,/tmp等目录也可以直接设置“777”:
Apache Ranger && HDFS的更多相关文章
- Apache Ranger对HDFS的访问权限控制的原理分析(一)
介绍 Aapche Ranger是以插件的形式集成到HDFS中,由Ranger Admin管理访问策略,Ranger插件定期轮询Admin更新策略到本地,并根据策略信息进行用户访问权限的判定.Rang ...
- 【】Apache Ranger剖析:Hadoop生态圈的安全管家
前言 2016年,Hadoop迎来了自己十周岁生日.过去的十年,Hadoop雄霸武林盟主之位,号令天下,引领大数据技术生态不断发展壮大,一时间百家争鸣,百花齐放.然而,兄弟多了不好管,为了抢占企业级市 ...
- Apache Ranger 编译安装部署
1. 概述 Apache Ranger是大数据领域的一个集中式安全管理框架,目的是通过制定策略(policies)实现对Hadoop组件的集中式安全管理.用户可以通过Ranger实现对集群中数据的安全 ...
- Apache Ranger安装部署
1.概述 Apache Ranger提供了一个集中式的安全管理框架,用户可以通过操作Ranger Admin页面来配置各种策略,从而实现对Hadoop生成组件,比如HDFS.YARN.Hive.HBa ...
- Hive:org.apache.hadoop.hdfs.protocol.NSQuotaExceededException: The NameSpace quota (directories and files) of directory /mydir is exceeded: quota=100000 file count=100001
集群中遇到了文件个数超出限制的错误: 0)昨天晚上spark 任务突然抛出了异常:org.apache.hadoop.hdfs.protocol.NSQuotaExceededException: T ...
- Hadoop程序运行中的Error(1)-Error: org.apache.hadoop.hdfs.BlockMissingException
15/03/18 09:59:21 INFO mapreduce.Job: Task Id : attempt_1426641074924_0002_m_000000_2, Status : FAIL ...
- org.apache.hadoop.hdfs.server.namenode.SafeModeException: Cannot create directory /user/hive/warehouse/page_view. Name node is in safe mode
FAILED: Error in metadata: MetaException(message:Got exception: org.apache.hadoop.ipc.RemoteExceptio ...
- hadoop错误FATAL org.apache.hadoop.hdfs.server.namenode.NameNode Exception in namenode join java.io.IOException There appears to be a gap in the edit log
错误: FATAL org.apache.hadoop.hdfs.server.namenode.NameNode Exception in namenode join java.io.IOExcep ...
- apache ranger源码编译
官方文档 http://ranger.apache.org/quick_start_guide.html Quick Start Guide Build Process 1. Check out th ...
随机推荐
- ns nat rule
ns nat rule NAT实现方式: NAT的实现方式有三种,即静态转换(Static Nat).动态转换(Dynamic Nat) 和 端口多路复用(OverLoad). 静态转换是指将内部网络 ...
- python增量爬虫
import pymysql def insert_db(db_table, issue, time_str, num_code): host = '127.0.0.1' user = 'root' ...
- HBASE学习笔记(五)
一.HBase的RowKey设计原则 1.我们知道HBase是三维有序存储的,通过RowKey(行键),ColumnKey(Column family和qualifier)和TimeStamp(时间戳 ...
- vue中使用qrcode,遇到两次渲染的问题
1.安装 qrcodejs2: npm install qrcodejs2 --save 2.页面中引入: import QRCode from "qrcodejs2"; co ...
- rsync 文件同步 linux
3.rsync+sersync更快更节约资源实现web数据同步4.unison+inotify实现web数据双向同步
- vue中使用proxy配置不同端口和ip接口
问题描述: 使用vue-cli创建的项目,开发地址是localhost:8080,由于后台开发不同的模块,导致每个模块请求的ip和端口号不一致 例如:http://192.168.10.22:8081 ...
- vue中优化CheckBox初始状态被选中问题
<template> <div class="hello"> <h2>我是主界面</h2> <!-- <h2>我是 ...
- Java面向对象(三) 【面向对象深入:抽象类,接口,内部类等】
面向对象(Object Oriented) 1.抽象类抽象就是将拥有共同方法和属性的对象提取出来.提取后,重新设计一个更加通用.更加大众化的类,就叫抽象类.1)abstract 关键字修饰类.方法,即 ...
- VToRay C-S config
Server config: { "inbounds": [{ "port": 20000, //Server Listening Port "pro ...
- Go语言基础之操作Redis
Go语言操作Redis 在项目开发中redis的使用也比较频繁,本文介绍了Go语言如何操作Redis. Redis介绍 Redis是一个开源的内存数据库,Redis提供了5种不同类型的数据结构,很多业 ...