添加Ranger权限策略
新安装的MRS集群默认安装Ranger服务并启用了Ranger鉴权模型,Ranger管理员可以通过组件权限插件对组件资源的访问设置细粒度的安全访问策略。
安全模式集群中支持Ranger的组件包括:CDL、HDFS、Yarn、HBase、Hive、Spark2x、Kafka、HetuEngine。
普通模式集群中支持Ranger的组件包括:HDFS、Yarn、HBase、Hive、Spark2x、HetuEngine。
通过Ranger配置用户权限策略
- 使用Ranger管理员用户rangeradmin登录Ranger管理页面,具体操作可参考登录Ranger WebUI界面。
- 在Ranger首页的“Service Manager”区域内,单击组件名称下的权限插件名称,即可进入组件安全访问策略列表页面。
各组件的策略列表中,系统默认会生成部分条目,用于保证集群内的部分默认用户或用户组的权限(例如supergroup用户组),请勿删除,否则系统默认用户或用户组的权限会受影响。
- 单击“Add New Policy”,根据业务场景规划配置相关用户或者用户组的资源访问策略。
不同组件的访问策略配置样例参考:
- 添加CDL的Ranger访问权限策略
- 添加HDFS的Ranger访问权限策略
- 添加HBase的Ranger访问权限策略
- 添加Hive的Ranger访问权限策略
- 添加Yarn的Ranger访问权限策略
- 添加Spark2x的Ranger访问权限策略
- 添加Kafka的Ranger访问权限策略
- 添加HetuEngine的Ranger访问权限策略
策略添加后,需等待30秒左右,待系统生效。
组件每次启动都会检查组件默认的Ranger Service是否存在,如果不存在则会创建以及为其添加默认Policy。如果用户在使用过程中误删了Service,可以重启或者滚动重启相应组件服务来恢复,如果是误删了默认Policy,可先手动删除Service,再重启组件服务。
- 单击“Access Manager > Reports”,可查看各组件所有的安全访问策略。
系统策略较多时,可通过策略名称、类型、组件、资源对象、策略标签、安全区域、用户或用户组等信息进行过滤搜索,也可以单击“Export”导出相关策略内容。
- 对于同一个固定资源对象通常只能配置一条策略,多条策略针对的具体资源对象重复时将无法保存。
- 配置策略时,不同条件的优先级可参考Ranger权限策略条件判断优先级。
Ranger权限策略条件判断优先级
配置资源的权限策略时,可配置针对该资源的允许条件(Allow Conditions)、允许例外条件(Exclude from Allow Conditions)、拒绝条件(Deny Conditions)以及拒绝例外条件(Exclude from Deny Conditions),以满足不同场景下的例外需求。
不同条件的优先级由高到低为:拒绝例外条件 > 拒绝条件 > 允许例外条件 > 允许条件。
系统判断流程可参考下图所示,如果组件资源请求未匹配到Ranger中的权限策略,系统默认将拒绝访问。但是对于HDFS和Yarn,系统会将决策下放给组件自身的访问控制层继续进行判断。
例如要将一个文件夹FileA的读写权限授权给用户组groupA,但是该用户组内某个用户UserA除外,这时可以增加一个允许条件及一个例外条件即可实现。