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,后续会支持更多组件。
![](https://pic3.zhimg.com/80/v2-cd307634a7251e11f6fc7be6f5d3251e_720w.jpg)
Ranger集成hdfs权限管控最佳实践
步骤1:进入集群中的hdfs组件,选择右上角的“更多”选项中的启用ranger鉴权
![](https://pic4.zhimg.com/80/v2-4f335a2c93a5e64643abee67e60dddcf_720w.jpg)
步骤2:进入hdfs组件的实例选项中勾选所有选项后,再点“更多”按钮中的“重启实例”按钮,重启hdfs的所有实例
![](https://pic1.zhimg.com/80/v2-37ed4eb82067dddeeba0a2859d8aca58_720w.jpg)
步骤3:进入mrs集群的ranger组件的首页后,点击rangeradmin进入ranger组件的管理页面
![](https://pic3.zhimg.com/80/v2-c6adb9ff16d25c20444ce050a1905802_720w.jpg)
步骤4:在ranger的Service Manager中应会生成hdfs service name。此时点击hdfs servicename就会进入ranger配置权限管控hdfs的添加、删除、更新、查看策略的界面(可以添加、删除、更新、查看ranger权限管控hdfs的权限-策略)
![](https://pic4.zhimg.com/80/v2-e835bccf4f1c94f389bbe7e0e2b0d4af_720w.jpg)
![](https://pic4.zhimg.com/80/v2-61d192c0ee1142ee7c6d5c10a1de8dbf_720w.jpg)
步骤5:点击“Add New Policy”按钮 ,新建一条ranger权限管控hdfs的策略
![](https://pic3.zhimg.com/80/v2-5445ebdbb5ec8c2cfd8099e901f27b2e_720w.jpg)
![](https://pic2.zhimg.com/80/v2-8e1a7e7ce9526d1b5eac86504fc8ed75_720w.jpg)
![](https://pic2.zhimg.com/80/v2-450ca27969154ea377a899e7ea9d0945_720w.jpg)
![](https://pic1.zhimg.com/80/v2-c64ef907b5f6989741af051a1bc9921c_720w.jpg)
步骤6:ranger权限管控hdfs的验证
1、进入集群客户端,切换用户:su - omm
![](https://pic4.zhimg.com/80/v2-9b0de7b54ea0b868e80a5ecd9fd77e9f_720w.jpg)
2、执行 hdfs dfs –ls /user
命令如果ranger权限管控hdfs的策略生效,此时应是omm用户不能查看到hadoop集群中的/user中的内容,会提示权限拒绝
![](https://pic1.zhimg.com/80/v2-6c94f7e36d3d0b145feba0b146179d54_720w.jpg)
Ranger集成Yarn权限管控最佳实践
步骤1:进入集群中的yarn组件,选择右上角的“更多”选项中的启用ranger鉴权
![](https://pic4.zhimg.com/80/v2-376e66be5d20d481af73e3693b8acaf3_720w.jpg)
步骤2:在yarn组件中配置->全部配置中搜索acl 后,把yarn.acl.enable = false
更改为yarn.acl.enable = true
进入yarn组件的实例选项中勾选所有选项后,再点“更多”按钮中的“重启实例”按钮,重启yarn的所有实例
![](https://pic4.zhimg.com/80/v2-eb932d85ee3bfab0be100d73f799695b_720w.jpg)
![](https://pic4.zhimg.com/80/v2-91bede3d3e3cbfde47883c0ddcdd7c67_720w.jpg)
![](https://pic2.zhimg.com/80/v2-fe7627482081dbf36f57c26237051ac5_720w.jpg)
步骤3:进入mrs集群的ranger组件的首页后,点击rangeradmin进入ranger组件的管理页面
![](https://pic3.zhimg.com/80/v2-c6adb9ff16d25c20444ce050a1905802_720w.jpg)
步骤4:点击yarn service就会进入ranger配置权限管控yarn的添加、删除、更新、查看策略的界面(可以添加、删除、更新、查看ranger权限管控yarn的策略)
![](https://pic2.zhimg.com/80/v2-594152897d038cf33b9f0b579c63d3ad_720w.jpg)
![](https://pic3.zhimg.com/80/v2-0e5ebaa052ae25501a6e8924f0a2a502_720w.jpg)
步骤5:点击“Add New Policy”按钮 ,新建一条ranger权限管控yarn的策略
![](https://pic1.zhimg.com/80/v2-288fe06a0f186936393e58d57cbcb480_720w.jpg)
![](https://pic4.zhimg.com/80/v2-e127d86004c4530d688ff94ab96b9777_720w.jpg)
![](https://pic3.zhimg.com/80/v2-0341bcda85789e482c571589a7ab37d2_720w.jpg)
![](https://pic2.zhimg.com/80/v2-032bfb2f9d5cdfea40eebdb3508660b1_720w.jpg)
步骤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
![](https://pic3.zhimg.com/80/v2-0e8da66329b0abc2e4b5bae21c8010f2_720w.jpg)
![](https://pic1.zhimg.com/80/v2-40a202f9f04ac52e93217fd64406bd40_720w.jpg)
Ranger集成hive权限管控最佳实践
步骤1:进入集群中的hive组件,选择右上角的“更多”选项中的启用ranger鉴权
![](https://pic4.zhimg.com/80/v2-edd30584acb3659566e310564de6ce9f_720w.jpg)
步骤2:进入hive组件的实例选项中勾选所有选项后,再点“更多”按钮中的“重启实例”按钮,重启hive的所有实例
![](https://pic2.zhimg.com/80/v2-df444c52545cf246ac1fffccf7176fb9_720w.jpg)
步骤3:进入mrs集群的ranger组件的首页后,点击rangeradmin进入ranger组件的管理页面
步骤4:点击hive service name就会进入ranger配置权限管控hive的添加、删除、更新、查看策略的界面
![](https://pic4.zhimg.com/80/v2-45aaadf01848f652e647a2ad6b996f27_720w.jpg)
![](https://pic4.zhimg.com/80/v2-932ea5d22ea9cb4021afee8c7c48ed2b_720w.jpg)
步骤5:点击“Add New Policy”按钮 ,新建一条ranger权限管控hive的策略
![](https://pic1.zhimg.com/80/v2-fe65293464ee828b2dbef61b771ce3c4_720w.jpg)
![](https://pic4.zhimg.com/80/v2-335b61c35bd5a70092b484cc7a3bd0c7_720w.jpg)
![](https://pic3.zhimg.com/80/v2-15e529660f09a1dbd86a234a064f4a5e_720w.jpg)
步骤6:ranger权限管控hive的验证
进入集群客户端beeline -n test04 -p {password}
![](https://pic1.zhimg.com/80/v2-6f219e4ae8210a0b717dfea62add2f7c_720w.jpg)
输入 select * from default.user_info;
后会提示test04用户会没有查询default库下user_info的权限
![](https://pic2.zhimg.com/80/v2-3eed829ed208f1ac48a4723143b74341_720w.jpg)
Ranger集成HBase权限管控最佳实践
步骤1:进入集群中的HBase组件,选择右上角的“更多”选项中的启用ranger鉴权。
![](https://pic3.zhimg.com/80/v2-4c473410227b4e98acd380bc749acb9e_720w.jpg)
步骤2:进入HBase组件的实例选项中勾选所有选项后,再点“更多”按钮中的“重启实例”按钮,重启HBase的所有实例
![](https://pic4.zhimg.com/80/v2-be79b952d916df06c587138d5c887bbb_720w.jpg)
步骤3:进入mrs集群的ranger组件的首页后,点击rangeradmin进入ranger组件的管理页面
步骤4:点击进入ranger配置权限管控HBase的添加、删除、更新、查看策略的界面(可以添加、删除、更新、查看ranger权限管控HBase的策略)
![](https://pic1.zhimg.com/80/v2-a21155b764f34bcc216d047325b2519c_720w.jpg)
![](https://pic4.zhimg.com/80/v2-ae3d075217dbcf7613b5b6b2cade7c77_720w.jpg)
步骤5:点击“Add New Policy”按钮 ,新建一条ranger权限管控HBase的策略
![](https://pic2.zhimg.com/80/v2-83221573d544a3e45f9a836c16b83409_720w.jpg)
![](https://pic3.zhimg.com/80/v2-1d5cb9f4b1a4aea2556a981b0abb572a_720w.jpg)
![](https://pic1.zhimg.com/80/v2-3f3277dfbdae79ce292df6041c51abbc_720w.jpg)
步骤6:ranger权限管控HBase的验证
进入集群客户端,切换用户su - test03
,再输入 hbase shell 进入hbase的终端 ,再执行查看表test03表的命令:scan 'test03'
![](https://pic1.zhimg.com/80/v2-b80ff73ccb49cc1bd1c04253d03948a8_720w.jpg)
![](https://pic2.zhimg.com/80/v2-536f86fc94667b244bec7735d780bf15_720w.jpg)
执行 scan ‘test03’ 命令如果ranger权限管控hbase的策略生效,此时应是test03用户不能查看到hbase表test03的内容不能创建表,会提示权限拒绝。
Ranger集成spark权限管控最佳实践
步骤1:进入集群中的spark组件,选择右上角的“更多”选项中的启用ranger鉴权。
![](https://pic3.zhimg.com/80/v2-138c8aaac5aebf6ac4e4c0d5ec80c1aa_720w.jpg)
步骤2:进入spark组件的实例选项中勾选所有选项后,再点“更多”按钮中的“重启实例”按钮,重启spark的所有实例
![](https://pic1.zhimg.com/80/v2-406cf4331c7a7a811f00f390baa41290_720w.jpg)
步骤3:进入mrs集群的ranger组件的首页后,点击rangeradmin进入ranger组件的管理页面
步骤4:因为spark是基于hive的,在ranger的ServiceManager页面中进入Hadoop sql hive版块中应会产生hadoop sql hive 版块。此时点击hadoop sql hive版块就会进入ranger配置权限管控spark的添加、删除、更新、查看策略的界面(可以添加、删除、更新、查看ranger权限管控spark的策略)
![](https://pic3.zhimg.com/80/v2-5e2eb00888fa08f71dd7cc77c87577ce_720w.jpg)
![](https://pic3.zhimg.com/80/v2-3b5dd2a05e8de910f454ddcbb2cd1d86_720w.jpg)
步骤5:点击“Add New Policy”按钮 ,新建一条ranger权限管控spark的策略
![](https://pic1.zhimg.com/80/v2-b5fa640495a06b060f6049e3a22e08ac_720w.jpg)
![](https://pic3.zhimg.com/80/v2-2a4ac1872f76639e780af29a4d34b092_720w.jpg)
![](https://pic1.zhimg.com/80/v2-d283031ecb18e77c45c10c661f45af00_720w.jpg)
步骤6:ranger权限管控spark的验证
进入集群客户端,切换用户:su - omm
![](https://pic1.zhimg.com/80/v2-52acaf0f0d091c6b7f6f2e0f311ab920_720w.jpg)
切换到omm用户后执行spark-sql 后进入spark sql的命令终端环境中 命令如果ranger权限管控spark的策略生效,此时应是omm用户不能查看到default库中表user_info中的数据的,会提示权限拒绝。
![](https://pic1.zhimg.com/80/v2-d20f24771b405f81eb07c3b261523408_720w.jpg)
相关文章
- C# WinForm 界面控件
- 前脚结束面试,后脚意向书就发来了。。。
- PHP 面向对象知识点
- 软件测试|selenium常用页面信息对比方法expected_conditions
- 学会这一招,快速自动计算各职级的薪酬分位值
- 一次安全厂商面试经历分享
- C/C++ 计算文件ROF再计算VAOF
- C/C++ 递归遍历文件并计算MD5
- LyScript 计算片段Hash并写出Excel
- 驱动开发:内核LDE64引擎计算汇编长度
- 参加面试前,一定要知道的互联网黑话
- 官宣!流计算开发管理框架 StreamPark 成功进入 Apache 孵化器
- Galaxy Release (v 22.05),新历史面板发布
- 页面加载代码
- Shell:变量数值计算(上)
- Shell:变量数值计算(下)
- ES6躬行记(12)——数组
- ES6躬行记(11)——对象
- ES6躬行记(10)——正则表达式
- ES6躬行记(9)——字符串