HDFSYarnHive…MRS中使用Ranger实现权限管理全栈式实践

Posted 华为云开发者联盟

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDFSYarnHive…MRS中使用Ranger实现权限管理全栈式实践相关的知识,希望对你有一定的参考价值。

摘要:Ranger为组件提供基于PBAC的鉴权插件,供组件服务端运行,目前支持Ranger鉴权的组件有HDFS、Yarn、Hive、HBase、Kafka、Storm和Spark2x,后续会支持更多组件。

本文分享自华为云社区《​​MRS中使用Ranger实现权限管理全栈式实践​​》,作者:啊喔YeYe 。

前置工作

  1. 开通MRS 普通集群。​​免费试用30天​
  2. 安装集群客户端,并了解如何使用

Ranger与各组件关系

Ranger为组件提供基于PBAC的鉴权插件,供组件服务端运行,目前支持Ranger鉴权的组件有HDFS、Yarn、Hive、HBase、Kafka、Storm和Spark2x,后续会支持更多组件。

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_MRS

Ranger集成hdfs权限管控最佳实践

步骤1:进入集群中的hdfs组件,选择右上角的“更多”选项中的启用ranger鉴权

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_spark_02

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

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_spark_03

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

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_MRS_04

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

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_权限管理_05

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_hdfs_06

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

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_hdfs_07

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_权限管理_08

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_spark_09

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_hdfs_10

步骤6:ranger权限管控hdfs的验证

1、进入集群客户端,切换用户:​​su - omm​

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_hdfs_11

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

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_spark_12

Ranger集成Yarn权限管控最佳实践

步骤1:进入集群中的yarn组件,选择右上角的“更多”选项中的启用ranger鉴权

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_hive_13

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

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_MRS_14

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_hdfs_15

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_hive_16

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

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_MRS_17

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

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_hdfs_18

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_spark_19

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

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_hive_20

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_hive_21

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_hdfs_22

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_hive_23

步骤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

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_hive_24

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_hdfs_25

Ranger集成hive权限管控最佳实践

步骤1:进入集群中的hive组件,选择右上角的“更多”选项中的启用ranger鉴权

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_权限管理_26

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

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_权限管理_27

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

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

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_spark_28

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_hdfs_29

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

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_hdfs_30

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_hdfs_31

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_hdfs_32

步骤6:ranger权限管控hive的验证

进入集群客户端​​beeline -n test04 -p password​

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_hdfs_33

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

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_spark_34

Ranger集成HBase权限管控最佳实践

步骤1:进入集群中的HBase组件,选择右上角的“更多”选项中的启用ranger鉴权。

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_spark_35

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

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_hive_36

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

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

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_hdfs_37

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_MRS_38

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

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_权限管理_39

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_spark_40

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_MRS_41

步骤6:ranger权限管控HBase的验证

进入集群客户端,切换用户​​su - test03​​,再输入 hbase shell 进入hbase的终端 ,再执行查看表test03表的命令:​​scan test03​

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_spark_42

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_hive_43

执行 scan ‘test03’ 命令如果ranger权限管控hbase的策略生效,此时应是test03用户不能查看到hbase表test03的内容不能创建表,会提示权限拒绝。

Ranger集成spark权限管控最佳实践

步骤1:进入集群中的spark组件,选择右上角的“更多”选项中的启用ranger鉴权。

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_spark_44

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

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_hdfs_45

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

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

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_spark_46

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_spark_47

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

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_hive_48

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_hdfs_49

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_权限管理_50

步骤6:ranger权限管控spark的验证

进入集群客户端,切换用户:​​su - omm​

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_hive_51

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

HDFS、Yarn、Hive…MRS中使用Ranger实现权限管理全栈式实践_权限管理_52


点击关注,第一时间了解华为云新鲜技术~

以上是关于HDFSYarnHive…MRS中使用Ranger实现权限管理全栈式实践的主要内容,如果未能解决你的问题,请参考以下文章

在 R 中使用纯 ranger 包进行超参数调整

R语言使用ranger包的ranger函数构建随机森林模型(random forest)

使用java操作ranger,hdfs ranger授权操作,hive ranger授权操作

如何使用 Ranger 按类别获取特征重要性?

[使用bash挂起使用Ranger文件管理器选择文件夹

使用ranger对kafka进行鉴权