我的编程空间,编程开发者的网络收藏夹
学习永远不晚

如何使用Ranger给HDFS授权

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何使用Ranger给HDFS授权

这篇文章给大家介绍如何使用Ranger给HDFS授权,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

主要介绍如何使用Ranger 给HDFS 授权。
  • 文档概述

介绍CDP7.1.3 中Ranger 中HDFS 默认权限策略

使用Ranger 给HDFS 设置权限策略并验证

  • 测试环境

操作系统Redhat7.6

CDP DC7.1.3

Ranger中HDFS默认权限策略    

   

   

   

使用admin用户登录http://cdp02.fayson.com:6080 页面,点击cm_hdfs 进入该页面

如何使用Ranger给HDFS授权

在该页面中可以看到默认有两个策略,第一个是hdfs 用户的策略,默认拥有所有目录所有权限,rangerlookup 拥有所有目录读的权限。

如何使用Ranger给HDFS授权

第二个策略是keyadmin 用户拥有/ranger/audit/kms 目录的所有权。这两个策略是CDP安装后自带的策略,建议不要随意修改这两个用户的权限策略。

如何使用Ranger给HDFS授权

使用Ranger给HDFS设置权限策略并验证    

   

   

   

1HDFS授权

在上面我们介绍了hdfs 用户拥有所有目录的权限如果还需要设置一个同样权限或者是所有目录的权限。需要在该策略中继续添加其他权限策略,因为相同目录的策略只能有一个。

首先我们添加一个用户,fayson 这里添加使用的脚本所有节点添加了一个fayson用户。

如何使用Ranger给HDFS授权

然后在HDFS中勾选 Enable Ranger Authorization ,并保存重启生效

如何使用Ranger给HDFS授权

在没给权限之前验证如下:

如何使用Ranger给HDFS授权

设置fayson 拥有所有目录读写的权限,设置需要在all-path 策略中新增一个权限条件。正确的做法如下:

如何使用Ranger给HDFS授权

保存策略后,点击查看

如何使用Ranger给HDFS授权

不能如下新增一个策略,会提示相同的资源已经创建了一个策略[all-path],错误的做法如下:

如何使用Ranger给HDFS授权

然后进行验证,成功创建

如何使用Ranger给HDFS授权

2HDFS多级授权以及拒绝条件策略

多级授权验证,首先创建两个本地测试用户,testuser1 、testuser2,并且在Ranger 页面创建Ranger 登录用户关联组(ldap 用户无需进行该操作即可使用用户密码登录)

如何使用Ranger给HDFS授权

登录Ranger,可以看到User Source 时External。由于本地Linux 用户默认无法同步密码,需在Settings > Users 中将默认同步的Linux 删除,然后手动关联组重建。

如何使用Ranger给HDFS授权

点击右上角的红色删除按钮删除后,然后点击Add New User 。进行如下操作,密码至少为包含英文和字母的8个字母,选择角色为User,并且选择关联组分别为testuser1、和testuser2。testuser2 步骤基本一致,省略。

如何使用Ranger给HDFS授权

手动创建好后用户显示如下,User Source 显示为Internal在当前登录时可以看到组件的权限策略,但是不能添加任何策略,如果尝试添加策略时保存会提示如下错误

如何使用Ranger给HDFS授权

如何使用Ranger给HDFS授权

当前testuser1和testuser2 均无hdfs 中 /test 目录的写权限

如何使用Ranger给HDFS授权

然后通过Ranger admin 用户给testuser1 /test 目录all 权限,并委派admin权限,也就是勾选Delegate Admin,再由testuser1 给testuser2 授权进行验证。

如何使用Ranger给HDFS授权

验证testuser1 权限,并创建接下来要验证的权限的目录,为了避免HDFS 本身的权限干扰,这里将所有的目录权限设置为700

如何使用Ranger给HDFS授权

如何使用Ranger给HDFS授权

Allow Conditions策略设置以及验证

如何使用Ranger给HDFS授权

具体策略设置如下:

如何使用Ranger给HDFS授权

验证如下:

如何使用Ranger给HDFS授权

Exclude from Allow Conditions 策略验证,这里由于/test/Exclude 目录本身testuser2 是没有读写权限的,所以在Allow Conditions中给了所有权限,但是在Exclude from Allow Conditions 排除了读权限,在这种情况下,testuser2 权限是有写的权限但是没有读的权限,也证实了Exclude from Allow Conditions策略已生效以及拒绝策略优先的设计逻辑:

如何使用Ranger给HDFS授权

Deny 策略验证,这里与Exclude from Allow 策略有些类似,/test/Deny 目录本身testuser2没有任何权限,在Allow Conditions 中给了所有权限用于验证,在Deny Conditions中设置拒绝读权限。同样证实Deny 策略已生效以及拒绝策略优先的设计逻辑

如何使用Ranger给HDFS授权

设置验证testuser2 Deny Conditions策略生效,并切换testuser1 用户验证非Deny Conditions 的策略

如何使用Ranger给HDFS授权

Exclude from  Deny Conditions策略验证,同样/test/ExcludeDeny 由于testuser2用户没有任何权限,在Allow Conditions 中给了该目录的所有权限,然后在Deny Conditions和

Exclude from Deny Conditions 设置如下。其结果与Deny Conditions策略一致

如何使用Ranger给HDFS授权

设置验证testuser2 Exclude from  Deny Conditions策略生效,由于排除了Deny Conditions 的设置,所以可以正常读。

如何使用Ranger给HDFS授权

如果在Exclude from  Deny Conditions取消排除Read 的权限,则可写而不可读,如下设置

如何使用Ranger给HDFS授权

如何使用Ranger给HDFS授权

关于如何使用Ranger给HDFS授权就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

如何使用Ranger给HDFS授权

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何使用Ranger给HDFS授权

这篇文章给大家介绍如何使用Ranger给HDFS授权,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。主要介绍如何使用Ranger 给HDFS 授权。文档概述1.介绍CDP7.1.3 中Ranger 中HDFS 默认权限策
2023-06-19

oracle如何授权表权限给用户

要授予用户对表的权限,可以使用Oracle的GRANT语句。下面是一些常见的授权表权限的示例:授予用户SELECT权限:GRANT SELECT ON table_name TO username;授予用户INSERT权限:GRANT IN
oracle如何授权表权限给用户
2024-04-09

ranger如何使用

本文小编为大家详细介绍“ranger如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“ranger如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。它运行在终端窗口中,并允许你按下方向键进行导航。它提供
2023-06-27

MySQL如何使用授权命令grant

本文实例,运行于 MySQL 5.0 及以上版本。 MySQL 赋予用户权限命令的简单格式可概括为:grant 权限 on 数据库对象 to 用户一、grant 普通数据用户,查询、插入、更新、删除 数据库中所有表数据的权利。grant s
2022-05-11

mysql如何授权用户权限

授权mysql用户权限的过程包括:登录mysql使用具有管理权限的用户。创建要授权的用户(如果不存在)。使用grant语句授予所需的权限。刷新权限表以使更改生效。MySQL授权用户权限如何授权用户权限授权MySQL用户权限的过程包括以下
mysql如何授权用户权限
2024-06-15

ASP.NET MVC授权过滤器如何使用

这篇文章主要介绍“ASP.NET MVC授权过滤器如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“ASP.NET MVC授权过滤器如何使用”文章能帮助大家解决问题。过滤器过滤器(Filter)
2023-06-29

MySQL如何设置用户权限和授权

在MySQL中,可以使用GRANT语句来设置用户权限和授权。以下是一些常见的示例:授权用户访问数据库:GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'
MySQL如何设置用户权限和授权
2024-04-09

如何使用中间件进行授权 - gin gonic go

问题内容我正在学习使用带有 gin 框架的中间件,但我遇到了一个问题我希望我的 test 函数 仅在满足我的 func tokenauthmiddleware 的要求时才显示在 postman 中但是无论我的正文是否填写,我的测试
如何使用中间件进行授权 - gin gonic go
2024-02-05

MySQL如何新建用户并授权

目录前言一、技术讲解1.mysql基础信息2.MySQL的权限二、操作步骤1.创前介绍2.实操介绍总结前言有些时候因开发需要,管理数据库账号和账号对应的权限和密码,对自己的操作进行记录,主要操作的就是想创建一个新用户,并赋予,增删改查、
MySQL如何新建用户并授权
2024-10-10

Spring Security如何使用数据库登录认证授权

本篇文章给大家分享的是有关Spring Security如何使用数据库登录认证授权,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。一、搭建项目环境1、创建 RBAC五张表RBAC
2023-06-22

elasearch如何给kibana用户提权

要为 Kibana 用户提权,您可以使用以下步骤:1. 登录到 Elasticsearch 集群的主节点或协调节点。2. 使用 Elasticsearch 的安全机制(如基于用户名和密码的认证)验证您的身份。3. 在 Elasticsear
2023-09-18

oracle数据库中给用户授权的方法有哪几种?如何实现?

oracle 数据库中可以通过以下方法授予用户权限:1. 直接授权;2. 角色授权;3. 默认角色;4. 系统权限。Oracle 数据库中授权用户的几种方法在 Oracle 数据库中,可以通过以下几种方法授予用户权限:1. 直接授权使
oracle数据库中给用户授权的方法有哪几种?如何实现?
2024-04-19

Linux中如何对用户授权和移除sudo权限

小编给大家分享一下Linux中如何对用户授权和移除sudo权限,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!如你所知,用户可以在 Ubuntu 系统上使用 sud
2023-06-27

如何使用PHP和LDAP实现用户组管理和授权

要使用PHP和LDAP实现用户组管理和授权,需要遵循以下步骤:1. 连接到LDAP服务器:使用`ldap_connect()`函数连接到LDAP服务器。例如:```php$ldapconn = ldap_connect("ldap.exam
2023-08-28

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录