Ranger知识点总结

Ranger知识点总结

Ranger简介

Apache Ranger是一个Hadoop平台上的全方位数据安全管理框架,它可以为整个Hadoop生态系统提供全面的安全管理。

1)允许用户使用UI或REST API对所有和安全相关的任务进行集中化的管理

2)允许用户使用一个管理工具对操作Hadoop体系中的组件和工具的行为进行细粒度的授权

3)支持Hadoop体系中各个组件的授权认证标准

4)增强了对不同业务场景需求的授权方法支持,例如基于角色的授权或基于属性的授权

5)支持对Hadoop组件所有涉及安全的审计行为的集中化管理

Ranger架构

Ranager的核心是Web应用程序,也称为RangerAdmin模块,此模块由管理策略,审计日志和报告等三部分组成。

管理员角色的用户可以通过RangerAdmin提供的web界面或REST APIS来定制安全策略。这些策略会由Ranger提供的轻量级的针对不同Hadoop体系中组件的插件来执行。插件会在Hadoop的不同组件的核心进程启动后,启动对应的插件进程来进行安全管理!

Ranger部署

环境说明

Hadoop及Hive等需开启用户认证功能

创建系统用户和Kerberos主体

创建ranger系统用户

检查HTTP主体是否正常

创建rangeradmin主体

创建rangerlookup主体(同步组件的元数据信息)

创建rangerusersync主体(同步系统用户信息)

安装RangerAdmin

在MySQL数据库中创建Ranger存储数据的数据库和Ranger用户

修改配置文件install.properties

执行安装脚本

修改配置文件ranger-admin-site.xml

启动RangerAdmin

以ranger用户启动

登录Ranger

安装 RangerUsersync

修改配置文件install.properties

执行安装脚本

修改配置文件ranger-ugsync-site.xml

启动RangerUsersync

以ranger用户启动

安装Ranger Hive-plugin

修改配置文件install.properties

启用Ranger Hive-plugin

hive用户重启Hiveserver2

注意:Ranger Hive-plugin只能对使用jdbc方式访问hive的请求进行权限管理,hive-cli并不受限制

在ranger admin上配置hive插件

授予hive用户在Ranger中的Admin角色

配置Hive插件

保存Hive Manager

使用Ranger对Hive进行权限管理

默认的访问策略:rangerlookup用户拥有对所有库、表和函数的访问权限,故理论上其余用户是不能访问任何Hive资源的

赋予用户对gmall数据库的访问权限:Add New Policy

Ranger授权模型

Ranger所采用的权限管理模型可归类为RBAC(Role-Based Access Control )基于角色的访问控制。基础的RBAC模型共包含三个实体,分别是用户(user)、角色(role)和权限(permission)。用户需划分为某个角色,权限的授予对象也是角色,例如用户张三为管理角色,那他就拥有了管理员角色的所有权限。

Ranger的权限管理模型比基础的RBAC模型要更加灵活,以下是Ranger的权限管理模型。

推荐阅读