大数据平台多租户功能概述

一、什么是多租户

租户:通常我们把一个集群使用者,称作一个租户。租户可能以项目或不同的应用划分。每个租户相当于一个资源池,管理员为租户配置了一定的集群资源,租户下的所有用户共用资源池内的资源,多个租户共同使用一个Hadoop大数据集群。

用户:集群资源的使用者。

二、资源权限控制

资源权限控制指的是租户对大数据平台组件的使用权限的管理,对租户权限进行严密的权限控制,按照实际租户需要分配特定的使用权限。其中比较常见的是针对如HDFS、hbase、Kafka和yarn队列等一系列组件的权限控制。

业界常用的解决方案是使用 Apache Ranger 或 Apache Sentry。前置集群的多租户功能技术选型为Apache Ranger。Apache Ranger是hortonworks提供一个集中式安全管理框架,它可以对Hadoop生态的组件如Hive,Hbase进行细粒度的数据访问控制。

三、Ranger架构

Ranger主要由以下三个组件构成:
(1)Ranger Admin:Ranger Admin是Ranger的核心模块,它内置了一个Web管理页面,用户可以通过这个Web管理界面或者REST接口来制定安全策略。
(2)Agent Plugin:Agent Plugin是嵌入到Hadoop生态组件中的插件,它定期从Ranger Admin拉取策略并执行,同时记录操作记录以供审计。
(3)User Sync:User Sync将操作系统用户/属组(Users/Groups)的权限数据同步到Ranger的数据库中。

它们之间的关系如下图所示:

file

工作流程:

  • Ranger Admin是Apache Ranger和用户交互的主要界面。
  • 当用户登录Ranger Admin时,可以针对不同的Hadoop组件制定不同的安全策略;当策略制定好并保存之后,Agent Plugin定期(默认是30秒)从Ranger Admin拉取该组件配置的所有策略,并缓存到本地。
  • 这样,当有用户来请求Hadoop组件的数据服务时,Agent Plugin就提供鉴权服务,并将鉴权结果反馈给相应的组件,从而实现了数据服务的权限控制功能。
  • 当用户在Ranger Admin中修改配置策略后,Agent Plugin会拉取新策略并更新;如果用户在Ranger Admin中删除了配置策略,那么Agent Plugin的鉴权服务也无法继续使用。

file


相关文章:
知乎|大数据平台多租户功能概述
知乎|谈谈Hadoop安全的那些事儿
尚硅谷大数据技术之Ranger(Apache版)

为者常成,行者常至