HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践
摘要:Ranger为组件提供基于PBAC的鉴权插件,供组件服务端运行,目前支持Ranger鉴权的组件有HDFS、Yarn、Hive、HBase、Kafka、Storm和Spark2x,后续会支持更多组件。
本文分享自华为云社区《MRS中使用Ranger实现权限管理全栈式实践》,作者:啊喔YeYe 。
前置工作
- 开通MRS 普通集群。免费试用30天
- 安装集群客户端,并了解如何使用
Ranger与各组件关系
Ranger为组件提供基于PBAC的鉴权插件,供组件服务端运行,目前支持Ranger鉴权的组件有HDFS、Yarn、Hive、HBase、Kafka、Storm和Spark2x,后续会支持更多组件。

Ranger集成hdfs权限管控最佳实践
步骤1:进入集群中的hdfs组件,选择右上角的“更多”选项中的启用ranger鉴权

步骤2:进入hdfs组件的实例选项中勾选所有选项后,再点“更多”按钮中的“重启实例”按钮,重启hdfs的所有实例

步骤3:进入mrs集群的ranger组件的首页后,点击rangeradmin进入ranger组件的管理页面

步骤4:在ranger的Service Manager中应会生成hdfs service name。此时点击hdfs servicename就会进入ranger配置权限管控hdfs的添加、删除、更新、查看策略的界面(可以添加、删除、更新、查看ranger权限管控hdfs的权限-策略)


步骤5:点击“Add New Policy”按钮 ,新建一条ranger权限管控hdfs的策略




步骤6:ranger权限管控hdfs的验证
1、进入集群客户端,切换用户:su - omm

2、执行 hdfs dfs –ls /user命令如果ranger权限管控hdfs的策略生效,此时应是omm用户不能查看到hadoop集群中的/user中的内容,会提示权限拒绝

Ranger集成Yarn权限管控最佳实践
步骤1:进入集群中的yarn组件,选择右上角的“更多”选项中的启用ranger鉴权

步骤2:在yarn组件中配置->全部配置中搜索acl 后,把yarn.acl.enable = false 更改为yarn.acl.enable = true进入yarn组件的实例选项中勾选所有选项后,再点“更多”按钮中的“重启实例”按钮,重启yarn的所有实例



步骤3:进入mrs集群的ranger组件的首页后,点击rangeradmin进入ranger组件的管理页面

步骤4:点击yarn service就会进入ranger配置权限管控yarn的添加、删除、更新、查看策略的界面(可以添加、删除、更新、查看ranger权限管控yarn的策略)


步骤5:点击“Add New Policy”按钮 ,新建一条ranger权限管控yarn的策略




步骤6:ranger权限管控yarn的验证
进入集群客户端,切换用户su - omm
执行
hadoop jar /tmp/hadoop-mapreduce-examples-3.1.1-hw-ei-310013.jar pi -Dmapreduce.job.queuename="root.launcher-job" 10 10


Ranger集成hive权限管控最佳实践
步骤1:进入集群中的hive组件,选择右上角的“更多”选项中的启用ranger鉴权

步骤2:进入hive组件的实例选项中勾选所有选项后,再点“更多”按钮中的“重启实例”按钮,重启hive的所有实例

步骤3:进入mrs集群的ranger组件的首页后,点击rangeradmin进入ranger组件的管理页面
步骤4:点击hive service name就会进入ranger配置权限管控hive的添加、删除、更新、查看策略的界面


步骤5:点击“Add New Policy”按钮 ,新建一条ranger权限管控hive的策略



步骤6:ranger权限管控hive的验证
进入集群客户端beeline -n test04 -p {password}

输入 select * from default.user_info; 后会提示test04用户会没有查询default库下user_info的权限

Ranger集成HBase权限管控最佳实践
步骤1:进入集群中的HBase组件,选择右上角的“更多”选项中的启用ranger鉴权。

步骤2:进入HBase组件的实例选项中勾选所有选项后,再点“更多”按钮中的“重启实例”按钮,重启HBase的所有实例

步骤3:进入mrs集群的ranger组件的首页后,点击rangeradmin进入ranger组件的管理页面
步骤4:点击进入ranger配置权限管控HBase的添加、删除、更新、查看策略的界面(可以添加、删除、更新、查看ranger权限管控HBase的策略)


步骤5:点击“Add New Policy”按钮 ,新建一条ranger权限管控HBase的策略



步骤6:ranger权限管控HBase的验证
进入集群客户端,切换用户su - test03,再输入 hbase shell 进入hbase的终端 ,再执行查看表test03表的命令:scan 'test03'


执行 scan ‘test03’ 命令如果ranger权限管控hbase的策略生效,此时应是test03用户不能查看到hbase表test03的内容不能创建表,会提示权限拒绝。
Ranger集成spark权限管控最佳实践
步骤1:进入集群中的spark组件,选择右上角的“更多”选项中的启用ranger鉴权。

步骤2:进入spark组件的实例选项中勾选所有选项后,再点“更多”按钮中的“重启实例”按钮,重启spark的所有实例

步骤3:进入mrs集群的ranger组件的首页后,点击rangeradmin进入ranger组件的管理页面
步骤4:因为spark是基于hive的,在ranger的ServiceManager页面中进入Hadoop sql hive版块中应会产生hadoop sql hive 版块。此时点击hadoop sql hive版块就会进入ranger配置权限管控spark的添加、删除、更新、查看策略的界面(可以添加、删除、更新、查看ranger权限管控spark的策略)


步骤5:点击“Add New Policy”按钮 ,新建一条ranger权限管控spark的策略



步骤6:ranger权限管控spark的验证
进入集群客户端,切换用户:su - omm

切换到omm用户后执行spark-sql 后进入spark sql的命令终端环境中 命令如果ranger权限管控spark的策略生效,此时应是omm用户不能查看到default库中表user_info中的数据的,会提示权限拒绝。

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践的更多相关文章
- Yii框架中使用SRBAC作为权限管理模块时遇到的问题
Yii框架中使用SRBAC作为权限管理模块时遇到的问题 看到Yii中提供RBAC的插件,SRBAC,就想用用. 结果按照手册上的安装办法,整来整去,安装完了,可就是进不了权限管理界面. 最后想到, ...
- 大数据入门到精通18--sqoop 导入关系库到hdfs中和hive表中
一,选择数据库,这里使用标准mysql sakila数据库 mysql -u root -D sakila -p 二.首先尝试把表中的数据导入到hdfs文件中,这样后续就可以使用spark来dataf ...
- Hue联合(hdfs yarn hive) 后续......................
1.启动hdfs,yarn start-all.sh 2.启动hive $ bin/hive $ bin/hive --service metastore & $ bin/hive --ser ...
- MySQL中的账号与权限管理
MySQL权限管理 权限系统的工作原理 MySQL权限系统通过下面两个阶段进行认证: (1)对连接的用户进行身份认证,合法的用户通过认证.不合法的用户拒绝连接. (2)对通过认 ...
- ci中简单实用的权限管理
实用的权限管理 对多数网站来说,使用完整的rbac权限管理杀鸡用牛刀绝对的吃力不讨好,因为我们只是简单分角色然后对角色进行管理行使其相对于的角色赋予的权限; 在实际的开发中用位运算来对权限进行验证是十 ...
- 在MySql中实现MemberShip的权限管理
步骤: 1.在MySql种创建一个数据库,名称任意取,我们只是要得到一个空的数据库,我们假设这个数据库的名称为authentication. 2.在VS种创建一个Web应用程序,File——new—— ...
- 小白养成记——Linux中的用户和权限管理
1.用户组管理 每个用户都属于一个用户组,系统可以对一个用户组中的所有用户进行集中管理. 在创建用户时,如果未指定组,则系统会创建一个与用户名同名的组. 以下是关于用户组管理的一些基本命令: 新建用户 ...
- “全栈2019”Java第十六章:下划线在数字中的意义
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- 【Hadoop学习】HDFS中的集中化缓存管理
Hadoop版本:2.6.0 本文系从官方文档翻译而来,转载请尊重译者的工作,注明以下链接: http://www.cnblogs.com/zhangningbo/p/4146398.html 概述 ...
随机推荐
- [AcWing 53] 最小的 k 个数
堆排序 点击查看代码 class Solution { public: vector<int> getLeastNumbers_Solution(vector<int> inp ...
- linux下can调试工具canutils安装与使用
0. 编译环境所需要的工具 libsocketcan-0.0.11.tar.bz2 canutils-4.0.6.tar.bz2 下载路径 https://public.pengutronix.de ...
- 论文解读《Measuring and Relieving the Over-smoothing Problem for Graph NeuralNetworks from the Topological View》
论文信息 论文标题:Measuring and Relieving the Over-smoothing Problem for Graph NeuralNetworks from the Topol ...
- shell脚本实现MySQL全量备份+异地备份
一.知识储备工作: Mysql导出数据库语法: mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql shell脚本for循环及if条件判断基本语法 gzip压缩文件用法 r ...
- 微信新菜单类型 article_id 设置教程
前不久, Senparc.Weixin SDK 跟随微信更新的步伐,上线了新的素材管理接口,其中也涉及到了 article_id 类型的自定义菜单接口. 本文将演示如何使用新的菜单类型. 官方文档传送 ...
- 获取并检查系统负载\CPU\内存\磁盘\网络
安装依赖 需要net-tools.namp! CentOS:yum -y install net-tools nmap Ubuntu:apt-get update && apt-get ...
- mongoDB 命令大全
每日一句 There should be a better way to start a day than waking up every morning. 应该有更好的方式开始新一天, 而不是千篇一 ...
- 什么!Sentinel流控规则可以这样玩?
项目源码地址:公众号回复 sentinel,即可免费获取源码 前言 上一篇文章中,我们讲解了关于sentinel基本介绍以及流控规则中直接和快速失败的效果,有兴趣的可以去看上一篇文章,今天,我们给大家 ...
- 关于Dotween旋转以及OnValidate函数的解读
在DoTween中可以选择do旋转.但是旋转模式分成四种,且又有DoLocalRotate和DoRotate的区别,所以在此记录一下. DoLocalRotate和DoRotate的区别在于,前者是基 ...
- Public Round #1
传送门 [PR #1]删数 题意:写的很清楚了,略 思路: 首先转化为差分数组,两个连续数相同,删掉,乘二放进去. 发现能互相转化的两个数,符号,值\(/lowbit\)都一样. 把能相互转化的数归为 ...