Apache Ranger控制功能

news/2024/5/20 4:51:40 标签: hadoop, sql, hive, hdfs

Apache Ranger控制功能#

 Apache Ranger 是一个在hadoop平台上使用的组件,可以全面监控和管理数据的安全。有关Ranger的安装见我另一篇博客ranger的安装及问题解决。

Apache Ranger目前支持的组件如下

Apache Ranger 目前支持的组件

 Ranger-usersync用于同步linux的用户和用户组,在ranger上可以进行用户和用户组的权限控制。
Ranger管理用户

Ranger-HDFS:

针对HDFS文件系统,ranger提供:
 三种权限:read,write,execute。
 四种方式:白名单,白名单排除名单,黑名单,黑名单排除名单。
权限列表
进行实验:
策略设置:
配置需要控制的客体
在拒绝条件中选中所有权限

策略生效前:
可以正常访问数据

策略生效:
 如图,我们针对test这个文件夹设置了hadoop用户无法读写,执行文件。
所有的操作都被拒绝
 可以看到,我们所有的操作都被拒绝了,访问策略生效。

通过实验:ranger可以对HDFS文件系统进行权限控制,验证先于HDFS文件系统,通过了ranger验证后还需通过HDFS文件权限验证才能访问文件。更加灵活。

hive_27">Ranger-hive

 相比于Apache Hive提供的SQL standard authorization。Ranger提供了更细粒度的访问控制,而不是停留在database和table层面的grant/revoke。在Ranger中用户可以在列层面上进行管理,也可以在策略的资源名称中使用通配符。
进行实验:
原表结构:
实验用表

设置一个粒度到列的策略
不要忘记通过hiveserver2连接,直接用命令行登录策略无法生效
针对age和class设置权限

取消所有权限
策略生效:
查询所有操作被拒绝,因为我们对age和class列没有查看权限
可以正常查询name列

 我们可以看到当我们的查询你涉及到没有权限的列时,我们的操作被拒绝,而对有权限的列操作时,我们可以正常查询。

同时ranger提供了两种脱敏查询:列屏蔽和行过滤:

列屏蔽:

列屏蔽提供的模式:
Redact策略:用x屏蔽所有字母字符,用n屏蔽所有数字字符。
Partial mask: show last 4 策略 - 仅显示最后四个字符,其他用x代替。
Partial mask: show first 4 策略- 仅显示前四个字符,其他用x代替。
Hash策略:用值的哈希值替换原值。
Nullify策略:用NULL值替换原值。
Unmasked (retain original value)策略 - 原样显示。
Date: show only year策略 – 仅显示日期字符串的年份部分,并将月份和日期默认为01/01。
Custom策略 – 可使用任何有效Hive UDF(返回与被屏蔽的列中的数据类型相同的数据类型)来自定义策略。

进行实验:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
  如图。我们屏蔽了age列和class列,屏蔽方案用null表示。
结果
在这里插入图片描述
 可以看到我们可以正常查询所有,不过被屏蔽的列都用null来表示了。

行过滤模式:

进行实验:
在这里插入图片描述
将过滤条件设置为class<3
 如图。我们将过滤条件设置为class<3,那么最后的结果只会显示class为1和2的记录。这样就能把敏感数据进行过滤。
结果
只显示class为1和2的记录
注意:不能以被屏蔽的列或者没有权限查看的列作为过滤条件,这样是无法正确过滤的。

最新的ranger能很方便地管理用户,用户组,同时新版本的ranger还引入了RBAC模型,具备了角色的概念,具体的管理方式见这篇博客。

Ranger中用户,用户组和角色的管理


http://www.niftyadmin.cn/n/727845.html

相关文章

Sharepoint自定义栏在word 2007里的自定义显示

有天无意之中翻SDK里的Technical Articles&#xff0c;发现一篇好文章&#xff0c;受启发&#xff0c;于是实验了一下&#xff0c;果然成功了 我们都知道我们自己开发的custom field&#xff0c;在word2007里的服务器属性中会显示为一个灰色的不可修改的文本框&#xff0c;提示…

Rails宝典之七十五式:复杂表单Part3

前两次学习了动态添加和删除project的多个tasks&#xff0c;这次来看看如何编辑project其他页面不变&#xff0c;但是_task.rhtml改了&#xff1a; [code] <!-- projects/edit.rhtml --> <% form_for :project, :url > project_path(project), :html > { :metho…

mysql 备份mysql数据库_mysql数据库的备份与恢复

mysql数据库的备份与恢复mysqldump命令用于备份数据库数据格式为&#xff1a;mysqldump 【参数】【数据库名称】如果是用mysqldump 来做备份、那么备份用户的相关权限如下&#xff1a;create user dumper127.0.0.1 identified by 123456;grant select on loltop.* to dumper127…

如何给领导汇报项目状况,你会怎样来回答呢?

混职场有两个安身立命的技能&#xff0c;一个是跟同事甩锅&#xff0c;另一个就是跟领导汇报工作。所谓甩锅&#xff0c;就是明确职责边界&#xff0c;知道自己该干什么&#xff1b;而汇报工作&#xff0c;则是让领导知道你干了什么。 第一种误区是工作汇报总是事无巨细&#…

Ranger中的权限管理(用户,用户组,角色管理)

Ranger中的权限管理 所使用ranger版本为2.0.0 Ranger可以将权限提供给用户&#xff0c;用户组&#xff0c;角色。设置界面如下&#xff1a; 用户管理界面同上&#xff1a;  如图&#xff0c;用户分为内部用户&#xff08;Internal&#xff09;和外部用户&#xff08;Extern…

mysql建表索引_Mysql建表+创建索引

创建表时可以直接创建索引&#xff0c;这种方式最简单、方便。其基本形式如下&#xff1a;CREATE TABLE 表名( 属性名 数据类型[完整性约束条件],属性名 数据类型[完整性约束条件],......属性名 数据类型[ UNIQUE| FULLTEXT | SPATIAL ] INDEX |KEY[ 别名] ( 属性名1 [(长度)] …

Scaling MySQL

[b]一、两种scaling方式[/b] 1&#xff0c;Vertical partitioning&#xff0c;生成的segments称为partitions 2&#xff0c;Horizontal federation&#xff0c;生成的segments称为shards[b]二、Storage engines[/b] [b]1&#xff0c;MyISAM[/b] IBM开发的ISAM(Indexed Sequenti…

MOSS2007 实现单点登陆

经过N天的时间终于把sso搞定了,现在抽出一些时间总结一下.希望对你有所帮助.第一部分:在管理中心进行配置 1&#xff0e;打开 管理中心操作 2.单击 管理单一登陆的设置 后进入设置页面,如下图 3. 单击”管理服务器设置 1. 单一登录管理员帐户&#xff1…