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

啊喔YeYe 发表于 2022/07/13 18:52:23 2022/07/13
【摘要】 Apache Ranger提供一个集中式安全管理框架,提供统一授权和统一审计能力。它可以对整个Hadoop生态中如HDFS、Hive、HBase、Kafka、Storm等进行细粒度的数据访问控制。用户可以利用Ranger提供的前端WebUI控制台通过配置相关策略来控制用户对这些组件的访问权限 。

前置工作

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

Ranger与各组件关系

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

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

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

image.png

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

image.png

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

image.png

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

image.png

image.png

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

image.png

image.png

image.png

image.png

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

  1. 进入集群客户端,切换用户:su - omm
    image.png
  2. 执行 hdfs dfs –ls /user命令如果ranger权限管控hdfs的策略生效,此时应是omm用户不能查看到hadoop集群中的/user中的内容,会提示权限拒绝
    image.png

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

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

image.png

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

image.png

image.png

image.png

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

image.png

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

image.png

image.png

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

image.png

image.png

image.png

image.png

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

image.png

image.png

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

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

image.png

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

image.png

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

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

image.png

image.png

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

image.png

image.png

image.png

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

进入集群客户端beeline -n test04 -p {password}
image.png
输入 select * from default.user_info; 后会提示test04用户会没有查询default库下user_info的权限
image.png

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

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

image.png

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

image.png

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

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

image.png

image.png

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

image.png

image.png

image.png

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

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

image.png

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

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

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

image.png

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

image.png

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

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

image.png

image.png

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

image.png

image.png

image.png

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

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

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。