添加HDFS的Ranger访问权限策略
操作场景
在企业集群运维过程中,HDFS作为核心分布式文件存储系统,承载着海量业务数据,不同部门、不同角色需要访问HDFS中的不同目录或文件。传统的HDFS原生权限控制无法满足细粒度管控需求,若直接在HDFS节点配置权限,不仅操作繁琐、易遗漏,还难以统一追溯权限变更记录,一旦出现数据越权访问或权限故障,排查难度极大。
通过Ranger的WebUI界面配置HDFS权限策略,实现对HDFS目录/文件的精准授权。本文档对应的操作场景适用于集群运维人员、安全管理人员,用于完成HDFS资源的权限分配、权限调整、权限回收等核心操作,保障HDFS数据安全与访问合规。
前提条件
- 集群中已安装Ranger服务且服务运行正常。
- 集群中已创建需要配置权限的用户、用户组或Role,如果是新创建的用户,需等待用户自动同步至Ranger后才可以配置相关权限策略。
操作步骤
- 使用Ranger管理员用户登录Ranger WebUI管理页面,具体操作可参考登录Ranger WebUI界面。
- 在首页中单击“HDFS”区域的组件插件名称,例如“hacluster”。
- 单击“Add New Policy”,添加HDFS权限控制策略。
- 根据业务需求配置相关参数。
表1 HDFS权限参数 参数名称
描述
Policy Name
策略名称,可自定义,不能与本服务内其他策略名称重复。
Policy Conditions
IP过滤策略,可自定义,配置当前策略适用的主机节点,可填写一个或多个IP或IP段,并且IP填写支持“*”通配符,例如:192.168.1.10,192.168.1.20或者192.168.1.*。
Policy Label
为当前策略指定一个标签,可以根据这些标签搜索报告和筛选策略。
Resource Path
资源路径,配置当前策略适用的HDFS路径文件夹或文件,可填写多个值,支持使用通配符“*”(例如“/test/*”)。
如需子目录继承上级目录权限,可打开递归开关按钮。
如果父目录开启递归,同时子目录也配置了策略,以子目录策略为准。
- non-recursive:关闭递归
- recursive:打开递归
Description
策略描述信息。
Audit Logging
该策略命中时是否生成审计日志。
- Yes:当用户触发该策略的权限校验时,无论校验结果是允许(Allow)还是拒绝(Deny),会生成一条审计日志。
- No:当用户触发该策略的权限校验时,不会生成任何审计日志。
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 Accesses
是否拒绝其他所有访问。
- True:拒绝其他所有访问。
- False:设置为false,可配置Deny Conditions。
Deny Conditions
策略拒绝条件,配置本策略内拒绝的权限及例外,配置方法与“Allow Conditions”类似,拒绝条件的优先级高于“Allow Conditions”中配置的允许条件。
Exclude from Deny Conditions:配置排除在拒绝条件之外的例外规则。
例如为用户“testuser”添加“/user/test”目录的写权限,配置如下:
图1 HDFS权限配置示例
表2 常见权限配置场景 任务场景
角色授权操作
设置HDFS管理员权限
- 在首页中单击“HDFS”区域的组件插件名称,例如“hacluster”。
- 选择“Policy Name”为“all - path”的策略,单击
按钮编辑策略。 - 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。
设置用户执行HDFS检查和HDFS修复的权限
- 在“Resource Path”配置文件夹或文件。
- 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。
- 单击“Add Permissions”,勾选“Read”和“Execute”。
设置用户读取其他用户的目录或文件的权限
- 在“Resource Path”配置文件夹或文件。
- 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。
- 单击“Add Permissions”,勾选“Read”和“Execute”。
设置用户在其他用户的文件写入数据的权限
- 在“Resource Path”配置文件夹或文件。
- 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。
- 单击“Add Permissions”,勾选“Write”和“Execute”。
设置用户在其他用户的目录新建或删除子文件、子目录的权限
- 在“Resource Path”配置文件夹或文件。
- 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。
- 单击“Add Permissions”,勾选“Write”和“Execute”。
设置用户在其他用户的目录或文件执行的权限
- 在“Resource Path”配置文件夹或文件。
- 在“Allow Conditions”区域,单击“Select User”下选择框选择用户。
- 单击“Add Permissions”,勾选“Execute”。
设置子目录继承上级目录权限
- 在“Resource Path”配置文件夹或文件。
- 打开递归开关按钮,“Recursive”即为打开递归。
- (可选)添加策略有效期。在页面右上角单击“Add Validity period”,设置“Start Time”和“End Time”,选择“Time Zone”。单击“Save”保存。如需添加多条策略有效期,可单击
按钮添加。如需删除策略有效期,可单击
按钮删除。 - 单击“Add”,在策略列表可查看策略的基本信息。等待策略生效后,验证相关权限是否正常。
如需禁用某条策略,可单击
按钮编辑策略,设置策略开关为“Disabled”。如果不再使用策略,可单击
按钮删除策略。
相关文档
- 配置Ranger策略时,不同条件的优先级可参考Ranger权限策略条件判断优先级。
- 如需查看Ranger中的相关权限设置对象信息,例如用户、用户组、Role,可参考查看Ranger用户权限同步信息。
- MRS集群中新用户可在Manager中进行创建,可参考创建MRS集群用户。