配置步骤
安装 Ranger Plugin:
- 下载并安装 Ranger HDFS 插件。
配置 HDFS:
- 修改 hdfs-site.xml 文件,添加以下配置:
<property> <name>dfs.namenode.inode.attributes.provider.class</name> <value>org.apache.ranger.authorization.hadoop.RangerHdfsAuthorizer</value> </property>配置 Ranger:
- 使用Ranger管理员用户rangeradmin登录Ranger管理页面。
- 在首页中单击“HDFS”区域的组件插件名称,例如“tbdscluster”。
- 单击“Add New Policy”,添加HDFS权限控制策略。
- 根据业务需求配置相关参数。
HDFS权限参数如下:
例如为用户“testuser”添加“/user/test”目录的写权限,配置如下:参数名称 描述 Policy Name 策略名称,可自定义,不能与本服务内其他策略名称重复。 Policy Conditions IP过滤策略,可自定义,配置当前策略适用的主机节点,可填写一个或多个IP或IP段,并且IP填写支持“*”通配符,例如:172.138.1.10,172.138.1.20或者172.138.1.*。 Policy Label 为当前策略指定一个标签,可以根据这些标签搜索报告和筛选策略。 Resource Path 资源路径,配置当前策略适用的HDFS路径文件夹或文件,可填写多个值,支持使用通配符“*”(例如“/test/*”)。
如需子目录继承上级目录权限,可打开递归开关按钮。
如果父目录开启递归,同时子目录也配置了策略,以子目录策略为准。- non-recursive:关闭递归
- recursive:打开递归
Description 策略描述信息。 Audit Logging 是否审计此策略。 Allow Conditions 策略允许条件,配置本策略内允许的权限及例外,例外条件优先级高于正常条件。
在“Select Role”、“Select Group”、“Select User”列选择已创建好的需要授予权限的Role、用户组或用户,单击“Add Conditions”,添加策略适用的IP地址范围,单击“Add Permissions”,添加对应权限。- Read:读权限
- Write:写权限
- Execute:执行权限
- Select/Deselect All:全选/取消全选
如需让当前条件中的用户或用户组管理本条策略,可勾选“Delegate Admin”使这些用户或用户组成为受委托的管理员。被委托的管理员可以更新、删除本策略,还可以基于原始策略创建子策略。
如需添加多条权限控制规则,可单击
按钮添加。如需删除权限控制规则,可单击
按钮删除。
Exclude from Allow Conditions:配置排除在允许条件之外的例外规则。Deny All Other Access 是否拒绝其他所有访问。 - True:拒绝其他所有访问。
- False:设置为false,可配置Deny Conditions。
Deny Conditions 策略拒绝条件,配置本策略内拒绝的权限及例外,配置方法与“Allow Conditions”类似,拒绝条件的优先级高于“Allow Conditions”中配置的允许条件。
Exclude from Deny Conditions:配置排除在拒绝条件之外的例外规则。
设置权限场景如下:
| 任务场景 | 角色授权操作 |
| 设置HDFS管理员权限 |
|
| 设置用户执行HDFS检查和HDFS修复的权限 |
|
| 设置用户读取其他用户的目录或文件的权限 |
|
| 设置用户在其他用户的文件写入数据的权限 |
|
| 设置用户在其他用户的目录新建或删除子文件、子目录的权限 |
|
| 设置用户在其他用户的目录或文件执行的权限 |
|
| 设置子目录继承上级目录权限 |
|
- (可选)添加策略有效期。在页面右上角单击“Add Validity period”,设置“Start Time”和“End Time”,选择“Time Zone”。单击“Save”保存。如需添加多条策略有效期,可单击按钮添加。如需删除策略有效期,可单击按钮删除。
- 单击“Add”,在策略列表可查看策略的基本信息。等待策略生效后,验证相关权限是否正常。
如需禁用某条策略,可单击按钮编辑策略,设置策略开关为“Disabled”。
如果不再使用策略,可单击按钮删除策略。 - 重启 HDFS:
- 重启 HDFS 服务以应用配置。
