Ranger Hive-HDFS ACL同步概述

Ranger资源映射服务器(Resource Mapping Server:RMS)可以将访问策略从Hive自动转换为HDFS。

关于Hive-HDFS ACL同步

旧版CDH用户使用Apache Sentry中的Hive策略,该策略自动将Hive权限与HDFS ACL链接在一起。这对于Spark或Hive使用的外部表数据特别方便。

以前,Ranger仅支持分别管理Hive策略和HDFS策略。现在使用Ranger RMS,您可以使用为Hive表定义的策略来授权对HDFS目录和文件的访问。RMS是启用Hive-HDFS ACL同步的服务。

RMS会定期连接到Hive Metastore,并将Hive元数据(数据库名称、表名)提取到HDFS的文件名映射。Ranger HDFS插件(在NameNode中运行)已通过附加的HivePolicyEnforcer模块进行了扩展。HDFS插件从Ranger Admin下载Hive策略,并从Ranger RMS下载映射。HDFS访问由HDFS策略和Hive策略共同决定。

Ranger RMS的假设和限制

假定表的所有分区都在为表指定的位置下。因此,表的权限将不会授权访问将数据存储在表指定位置之外的分区。例如,如果一个表位于HDFS目录/warehouse/foo中,则该表的所有分区必须具有该/warehouse/foo目录下的位置 。

部署CDP私有云基础版群集时,不会自动设置Ranger RMS服务。您必须分别安装和配置Ranger RMS。

在启动RMS并从Hive Metastore(HMS)运行第一次同步之前,应该先配置Ranger策略(具有rangerrms 用户访问权限)。

Ranger RMS ACL同步功能支持单个逻辑HMS,以评估通过Hive权限访问HDFS。这与CDH中的Sentry实现逻辑保持一致。

视图(传统视图和物化视图)上授予的权限不会扩展到HDFS访问。这与CDH中的Sentry实现保持一致。

如果私有云基础版部署通过单个Ranger支持多个逻辑HMS,则Ranger ACL同步仅适用于其中一个逻辑HMS。在其他逻辑HMS实例中对数据库/表授予的权限将不被视为授权HDFS访问。

与Sentry HDFS ACL同步的比较

RMS ACL同步功能类似于Sentry HDFS ACL同步功能,它下载并跟踪Hive表到HDFS位置映射的方式。

它与Sentry的不同之处在于,它完全透明地支持Ranger策略代表的所有功能。因此,此实现包括对基于标记的策略、安全区域、掩码和行过滤以及审核日志记录的支持。

此外,通过在HDFS端进行简单配置即可启用或禁用此功能,从而使每个安装都可以选择打开或关闭此功能。

配置Hive-HDFS ACL同步的高可用性

使用以下步骤为Ranger资源映射服务器(RMS)和Hive-HDFS ACL Sync配置高可用性。

在Cloudera Manager中,选择“ Ranger RMS”,然后选择“操作”>“添加角色实例”。

在“添加角色实例”页面上,单击“选择主机”。

在“所选主机”页面上,选择备份Ranger RMS主机。所选主机的“添加的角色”列中将显示“ Ranger RM(RR)”图标。单击确定继续。

新的备份主机将重新显示“添加角色实例”页面。点击继续。

在“查看更改”页面上查看设置,然后单击“继续”。

新角色实例将显示在“ Ranger RMS”页面上。

在Cloudera Manager中,选择Ranger RMS,然后单击Configuration。

选择“Ranger RMS服务器高可用性”复选框。在“Ranger RMS服务器ID”框中,为每个RMS服务器添加以逗号分隔的ID列表。

使用Ranger-rms-conf / ranger-rms-site.xml属性的Ranger RMS服务器高级配置代码片段(安全阀)的添加(+)图标可为每个RMS主机及其相应的服务器ID添加条目。

注意

如果启用了SSL,请使用端口8484。

点击保存更改,然后点击重新启动图标。

在Stale Configurations页面上,单击Restart Stale Services。

在“重新启动旧服务”页面上,选中“重新部署客户端配置”复选框,然后单击“立即重新启动”。

重新启动服务时,将显示进度指示器页面。服务重新启动后,单击完成。

配置Hive-HDFS ACL同步

安装后应完全配置Ranger资源映射服务器(RMS)。本主题提供有关RMS配置设置和工作流的更多信息。

重要配置信息

Ranger RMS通过Ranger Hive策略启用HDFS访问。必须使用HDFS的名称和Hive服务(AKA Repos)来配置Ranger RMS。在您的安装中,可能为HDFS和Hive创建了多个Ranger服务。这些可以从Ranger Admin Web UI中看到。RMS ACL同步旨在用于特定的一对HDFS和Hive Ranger服务。因此,在安装Ranger RMS之前识别这些服务名称很重要。这些名称应在Ranger RMS的安装过程中进行配置。Ranger HDFS服务名称的默认值为cm_hdfs,而Ranger Hive服务的默认名称为cm_hive。

在开始Ranger RMS安装之前,请确保上面安装中标识的Hive服务允许rangerrms用户 select默认访问所有数据库以及Hive服务的所有安全区域中的所有表。

默认情况下,Ranger RMS仅跟踪Hive中的外部表。要将Ranger RMS配置为也跟踪托管的Hive表,请将以下配置设置添加到Ranger RMS。

在Cloudera Manager中,为ranger-hdfs-security.xml选择HDFS>配置> HDFS服务高级配置代码段(安全阀),然后确认以下设置:

注意

如果启动Ranger RMS并与Hive Metastore同步后更改了这些配置中的任何一个,则让Ranger RMS使用新配置的唯一方法是执行以下步骤:

停止Ranger RMS。

登录到Ranger RMS数据库,然后运行delete from x_rms_mapping_provider;以从该表中删除唯一的行。

启动Ranger RMS。

重新启动后,Ranger RMS将重新同步Hive Metastore中的所有数据。这可能会花费大量时间,具体取决于Hive Metastore中Hive表的数量。

了解Ranger的RMS策略

在较高级别上,Ranger RMS工作流程如下:

将评估HDFS服务的Ranger策略。如果任何策略明确拒绝访问,则拒绝访问。

Ranger检查以查看所访问的位置是否映射到Hive表。

如果是,则会为映射的Hive表评估Hive策略。如果存在允许访问的HDFS策略,则允许访问。否则,默认的HDFS ACL确定访问。

请求的HDFS权限映射到Hive权限,如下所示:

如果没有明确允许访问映射表的Hive策略,则拒绝访问,否则允许访问。

在HDFS访问评估期间以及在Hive访问评估阶段(如果需要)都考虑了适当的标记策略。同样,将生成一个或多个日志记录,以指示由哪个策略(如果有)做出访问决定。

以下方案说明了如何确定访问权限。所有方案都假定Ranger HDFS策略未明确拒绝访问HDFS位置。

位置与Hive表不对应。

在这种情况下,仅当Ranger HDFS策略允许访问或HDFS 原生ACL允许访问时,才授予访问权限。审核日志将显示哪个策略(或Hadoop-acl)做出了决定。

位置对应于一个Hive表。

对于从原始HDFS请求派生的任何访问,Ranger Hive策略均明确拒绝访问映射表。Hive政策将拒绝访问。

没有匹配的Ranger Hive策略。

访问将被拒绝。审核日志将不指定策略。

游标策略会屏蔽映射表中的某些列。

访问将被拒绝。审核日志将显示Hive屏蔽策略。

映射的Hive表具有行过滤器策略

访问将被拒绝。审核日志将显示Hive行过滤器策略。

Ranger Hive策略允许访问映射表,以进行从原始HDFS访问请求派生的访问。

访问将被授予。如果访问最初是由HDFS策略授予的,则审核日志将显示HDFS策略。

hive插件 ranger_Ranger Hive-HDFS ACL同步相关推荐

  1. hive插件 ranger_hive 整合ranger

    一.安装hive插件 1.解压安装 #  tar zxvf ranger-2.0.0-SNAPSHOT-hive-plugin.tar.gz -C /data1/hadoop/ 2.修改install ...

  2. 执行sqoop 用shell_Mysql和Hive之间通过Sqoop进行数据同步

    文章回顾 理论 大数据框架原理简介 大数据发展历程及技术选型 实践 搭建大数据运行环境之一 搭建大数据运行环境之二 本地MAC环境配置 CPU数和内存大小 查看CPU数 sysctl machdep. ...

  3. Mysql和Hive之间通过Sqoop进行数据同步

    文章回顾 理论 大数据框架原理简介 大数据发展历程及技术选型 实践 搭建大数据运行环境之一 搭建大数据运行环境之二 本地MAC环境配置 CPU数和内存大小 查看CPU数 sysctl machdep. ...

  4. flume采集hive日志写到hdfs问题

    解决flume采集hive日志写到hdfs问题 在配置flume写日志到hdfs发现写不进去,很苦恼,查了很多资料,终于找到了原因! 原来 用Flume监听目录,在自己建的.conf文件中需要配置hd ...

  5. 这款 MySQL、Oracle、HDFS 数据同步工具,有点牛逼!

    点击上方"Java基基",选择"设为星标" 做积极的人,而不是积极废人! 每天 14:00 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | Java ...

  6. java hive和hbase整合,Hive入门3–Hive与HBase的整合

    开场白: Hive与HBase的整合功能的实现是利用两者本身对外的API接口互相进行通信,相互通信主要是依靠hive_hbase-handler.jar工具类 (Hive Storage Handle ...

  7. hive 安装_7.Hive介绍以及安装

    hive简介 Hive : 数据仓库. Hive:解释器,编译器,优化器等. Hive 运行时,元数据存储在关系型数据库里面. Hive架构 1.Hive将元数据存储在数据库中,如mysql.derb ...

  8. [hive学习翻译]Hive - Introduction

    术语"大数据"用于大数据集的集合,包括大量,高速度和各种日益增加的数据.使用传统的数据管理系统,很难处理大数据.因此,Apache Software Foundation引入了一个 ...

  9. Hive学习笔记 —— Hive的体系结构

    1. Hive的体系结构 Hadoop 用HDFS进行存储,利用MapReduce进行计算 元数据存储(MetaStore) 通常是存储在关心数据库,如mysql.derby中 在Hive执行HQL语 ...

最新文章

  1. PHP 设计模式 笔记与总结(9)数据对象映射模式
  2. print、printf、println在Java中的使用
  3. 感知机模拟或门的实现:权重和阈值的设置
  4. 现实迷途 第九章 N夜情(上)
  5. MyBatis 插件原理与自定义插件-代理和拦截是怎么实现的?
  6. Lync登录错误解决一例
  7. 详细说明 SourceTree 免登录,跳过初始设置的方法(Windows 版 )
  8. 矿业公司Aurum对其房东提起法律诉讼,要求收回矿机
  9. 小书匠编辑器使用手册
  10. 后端用java还是python_【后端开发】已学php再学java还是python?
  11. 计算机文化理论基础考试单机版,计算机文化基础授课计划表
  12. accp8.0转换教材第4章MySQL高级查询(二)理解与练习
  13. 算法与数据结构1800题 之线性表 (一)
  14. apk注册机加密_apk软件添加注册机方法 安卓apk添加授权教程
  15. 百德科技专业定制软件开发
  16. MAC删除自带ABC输入法
  17. RPM和YUM软件仓库的区别
  18. canvas教程10-绘制文本
  19. 2021-09-13 多组EQ切换
  20. lol计算机内存,电脑内存快满了,在玩LOL是弹出内存不足。然后清理了下内存设置了下虚拟内存后电脑出现滴咚的声音并卡机...

热门文章

  1. 计算机课屏幕以锁定,电脑无限宝锁定课堂怎么办
  2. 2012年奇虎360校园招聘实习生笔试编程题
  3. FC协议功能子模块,实现FC-1553协议,ASM协议,AV协议的应用,多种接口可定制
  4. 【C/C++】学前必看知识概览
  5. 106个汉语多音字一句话总结!
  6. 南京大二女生退学嫁入豪门 生下女孩被赶出家门
  7. 从此以后提及你 无关风雨无关晴
  8. 【个人研究】21世纪西方运用脑电(EEG)的音乐研究动向分析(一)
  9. 中国科学院计算机研究所李华,李华-中国科学院大学-UCAS
  10. #数据库--第1章 Windows 下的数据库导入 TPCH 数据(以 SQL Server 作为示例,MySQL同样适用)