一、查看Ranger控制台
为了获得集群数据访问控制能力,在创建集群的时候,请勾选ranger组件。在集群初始化完成后,请在组件快捷入口中,找到ranger的快捷访问入口,并登陆ranger的管理页面。
二、新增用户
Ranger可以管控具体用户对HDFS的访问控制权限。例如,允许某些用户访问某些目录,拒绝某些用户访问某些目录。
为了用户访问HDFS, 需要在ranger中注册用户信息。
- 新增测试组, 在root用户下,执行
groupadd test
- 在test用户组下,增加新用户, 执行
useradd -g test test
- 切换到test账号,使用hdfs命令行工具,查看 HDFS 根目录:
hdfs dfs -ls / /apps /usr /tmp
结果说明: 由于新建用户并不具备访问HDFS 目录的权限,故上述输出结果符合预期。
创建用户后,ranger会自动获取新建的用户。
三、设置HDFS的权限
读权限
在2中我们看到,新增用户不具备访问HDFS 任意目录的访问权限。我们可以通过Ranger控制台为用户增加访问权限。
操作步骤
在控制台页面中,按如下操作:
接着,我们来到Audit->Plugins 页面下,可以看到策略已经同步到了HDFS,说明权限生效了。
验证
接着我们来验证下,这次我们执行bin/hdfs dfs -ls / /tmp /test
这次我们可以看到test 用户已经可以查看 /test
目录了。
接着,我们来验证下,看看test
用户是否具备/test
目录的写权限?
结果很明显,是拒绝的,符合预期。
写权限
操作步骤
在3 场景中,test 用户不具备写权限。过程同设置读权限类似,在权限列表中,我们选择Write
权限。
验证
可以看到,写入是成功的。
四、取消权限
操作步骤
那么如何取消权限呢?
验证
结论
通过Ranger很容易HDFS的访问权限