文章详情

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

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何使用Ranger给HDFS授权

2023-06-19 12:23

关注

这篇文章给大家介绍如何使用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

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯