通过 Ranger 管理 Hue 每个用户的 HDFS 访问权限
-
打印
-
PDF
通过 Ranger 管理 Hue 每个用户的 HDFS 访问权限
-
打印
-
PDF
可在VPC环境下使用。
通过Apache Ranger可以构建针对大数据生态系统的安全规则。Ranger项目可以为所有Hadoop应用程序定义并应用统一的安全指南。
本指南中介绍如何利用基于用户的Ranger访问权限管理功能为每个用户指定可以访问的HDFS目录。
参酌
必须先激活Ranger Plugin,才能使用基于用户的Ranger访问权限管理功能。
关于Ranger Plugin的激活方法,请参考Ranger Plugin激活指南。
Ranger架构摘要
- 在客户端访问资源时,Ranger将在中间执行基于策略的访问控制功能。
- 除HDFS外,还可以对Hive、HBase等组件资源进行访问控制。
使用HUE创建用户
- 访问HUE UI。
- 关于使用HUE的内容,请参考使用HUE。
- 将光标放到左下方的简介上,然后点击 [用户管理]。
- 点击右上方的 [添加用户] 后,输入用户名和密码,创建新的用户。
- 当成功创建用户后,可在用户管理页面查看已创建的用户。
- 进一步点击左侧的 [文件] 标签后,可在
/user
路径下查看带有用户名的目录。
创建Ranger用户
- 访问Ranger UI后,点击上方的 Settings > [Users/Groups] 按钮。
- 点击上方的 Groups 标签后,点击 [Add New Group] 按钮。
- 点击上方的 Users 标签后点击 [Add New User] 按钮,以添加Ranger用户。
- 在User Name项目中创建与HUE中已创建的用户同名的用户。
- 可自由设置Password和First Name项目。
- Select Role项目中可选择是否为管理员(Admin)或一般用户(User)。
- 在Group项目选择之前创建的组。
- 用户生成完成后, 如上所示, 可在 Ranger UI 确认用户列表 。
创建Ranger策略
- 点击上方的 Access Manager > Resource Based Policies 以设置策略。
- 点击 HDFS 标签中的 [{集群名}_hadoop] 服务。
- 点击右侧的 [Add New Policy] 按钮。
注意
位于 [HDFS] 标签右侧的 [+] 按钮是创建服务按钮而非创建策略按钮。如需创建策略,不能点击 [+] 按钮,而须点击 [{集群名}_hadoop] 服务,在服务内部创建策略。
设置Resource
- 在 [Policy Details] 项目中,可设置策略名称和要管理的资源。
- 在 [Resource Path] 项目中,输入要控制访问的HDFS目录路径。
- [recursive] 选项表示是否包含子目录。
填写Condition
- 即使未单独创建Ranger策略,也能在HUE访问HDFS。
参酌
如未设置Ranger Condition,HDFS与YARN会通过独立ACL执行用户访问管理。因此,即使不存在Ranger Condition,也能在HUE访问HDFS。但是,在已激活Ranger Plugin但未设置Ranger Condition时,其他组件的访问会受限。
- Ranger策略的Condition有两种:一种是用于允许访问的Allow Condition;另一种是用于限制访问的Deny Condition。
- 即使不存在Condition,HDFS也能够访问,因此创建Ranger策略后必须先填写Deny Condition,才能限制HDFS访问。
参考
Ranger策略将按Deny Condition、Deny Condition例外、Allow Condition、Allow Condition例外的顺序确认访问权限。
- 点击 [Deny Condtions] 标签下的 [Select User] 项目,选择所有要限制访问的用户。
- 如需设置为仅允许特定用户访问,可点击 [Exclude from Deny Conditions] 标签下的 [Select User] 项目指定例外用户。
- Condition填写完成后,点击下方的 [Add] 按钮创建策略。
- 若正常设置了访问限制,则在HUE中访问应用了访问限制的HDFS目录时,将在右上方输出警告弹窗消息。
- 上述示例是使用
user-2
用户登录后尝试访问/user/user-1
目录时的界面。可以查看因访问受限输出的警告弹窗消息。
查看Ranger Audit
- 访问受限的原因可通过Ranger UI准确掌握。
- 点击右上方的 [Audit] 按钮。
- 可在访问列表中查看由Ranger限制访问的目录。
- 对于由Ranger而非HDFS的独立ACL限制的资源,将输出在Access Enforcer标签的“ranger-acl”而非“hadoop-acl”。
本文是否有帮助