摘要: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,后续会支持更多组件。

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实现权限管理全栈式实践的更多相关文章

  1. Yii框架中使用SRBAC作为权限管理模块时遇到的问题

    Yii框架中使用SRBAC作为权限管理模块时遇到的问题   看到Yii中提供RBAC的插件,SRBAC,就想用用. 结果按照手册上的安装办法,整来整去,安装完了,可就是进不了权限管理界面. 最后想到, ...

  2. 大数据入门到精通18--sqoop 导入关系库到hdfs中和hive表中

    一,选择数据库,这里使用标准mysql sakila数据库 mysql -u root -D sakila -p 二.首先尝试把表中的数据导入到hdfs文件中,这样后续就可以使用spark来dataf ...

  3. Hue联合(hdfs yarn hive) 后续......................

    1.启动hdfs,yarn start-all.sh 2.启动hive $ bin/hive $ bin/hive --service metastore & $ bin/hive --ser ...

  4. MySQL中的账号与权限管理

    MySQL权限管理 权限系统的工作原理     MySQL权限系统通过下面两个阶段进行认证:     (1)对连接的用户进行身份认证,合法的用户通过认证.不合法的用户拒绝连接.     (2)对通过认 ...

  5. ci中简单实用的权限管理

    实用的权限管理 对多数网站来说,使用完整的rbac权限管理杀鸡用牛刀绝对的吃力不讨好,因为我们只是简单分角色然后对角色进行管理行使其相对于的角色赋予的权限; 在实际的开发中用位运算来对权限进行验证是十 ...

  6. 在MySql中实现MemberShip的权限管理

    步骤: 1.在MySql种创建一个数据库,名称任意取,我们只是要得到一个空的数据库,我们假设这个数据库的名称为authentication. 2.在VS种创建一个Web应用程序,File——new—— ...

  7. 小白养成记——Linux中的用户和权限管理

    1.用户组管理 每个用户都属于一个用户组,系统可以对一个用户组中的所有用户进行集中管理. 在创建用户时,如果未指定组,则系统会创建一个与用户名同名的组. 以下是关于用户组管理的一些基本命令: 新建用户 ...

  8. “全栈2019”Java第十六章:下划线在数字中的意义

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  9. 【Hadoop学习】HDFS中的集中化缓存管理

    Hadoop版本:2.6.0 本文系从官方文档翻译而来,转载请尊重译者的工作,注明以下链接: http://www.cnblogs.com/zhangningbo/p/4146398.html 概述 ...

随机推荐

  1. WPF样式和触发器

    理解样式 样式可以定义通用的格式化特征集合. Style 类的属性 Setters.Triggers.Resources.BasedOn.TargetType <Style x:Key=&quo ...

  2. 经典!服务端 TCP 连接的 TIME_WAIT 过多问题的分析与解决

    开源Linux 专注分享开源技术知识 本文给出一个 TIME_WAIT 状态的 TCP 连接过多的问题的解决思路,非常典型,大家可以好好看看,以后遇到这个问题就不会束手无策了. 问题描述 模拟高并发的 ...

  3. selenium模块使用详解、打码平台使用、xpath使用、使用selenium爬取京东商品信息、scrapy框架介绍与安装

    今日内容概要 selenium的使用 打码平台使用 xpath使用 爬取京东商品信息 scrapy 介绍和安装 内容详细 1.selenium模块的使用 # 之前咱们学requests,可以发送htt ...

  4. 伪元素选择器,选择器优先级,CSS修改文字属性,CSS修改字体属性,CSS修改其他属性

    伪元素选择器 未使用元素选择器的效果 第一行:伪元素选择器:选择部分内容 第二行:伪元素选择器:选择部分内容 伪元素选择器:选择部分内容 伪元素选择器:选择部分内容 ::selection:选择指定元 ...

  5. python DOS 攻击,TCP压测脚本

    pip3 install string&&scapy 1 #!/usr/bin env python 2 #-*-coding:utf-8-*- 3 import socket,ran ...

  6. 如何定制.NET6.0的日志记录

    在本章中,也就是整个系列的第一部分将介绍如何定制日志记录.默认日志记录仅写入控制台或调试窗口,这在大多数情况下都很好,但有时需要写入到文件或数据库,或者,您可能希望扩展日志记录的其他信息.在这些情况下 ...

  7. Flask框架实现登录注册功能(mysql数据库)

    前言: 本例使用Flask框架完成登录和注册操作,包括前端(index.html,regist.html)和后端(app.py)两部分,前端页面不过多介绍,直接进入后端部分: 逻辑思路: 登录部分:运 ...

  8. 个人冲刺(六)——体温上报app(二阶段)

    冲刺任务:完成主页面功能 MainActivity.java package com.example.helloworld; import android.app.AlertDialog; impor ...

  9. uniapp设置竖屏

    //在APP.vue中的onLaunch钩子写入plus.screen.lockOrientation('portrait-primary');

  10. LightGBM原理与实践简记

    写在前面: LightGBM 用了很久了,但是一直没有对其进行总结,本文从 LightGBM 的使用.原理及参数调优三个方面进行简要梳理. 目录 开箱即用 quickstart sklearn 接口 ...