查看原文
其他

Guardian 5.0全新架构解析:大数据安全防御之盾(一)

2017-09-01 Coda6 大数据开放实验室

大数据技术的发展日益成熟,越来越多的大数据产品在各行业落地部署,用于处理各项业务逻辑随着大数据服务逐渐向云端拓展,云端数据量与日俱增,数据安全成为企业关注问题。在服务云端化的趋势下,数据处理平台需务必保证数据资产的机密性,控制接入数据系统用户,控制用户可以访问的数据,控制用户可支配资源。为了满足这些需求,更好解决各项安全问题,有效应对各种安全威胁挑战TDH 5.0推出了升级版Guardian。

Guardian 5.0提供了完整的安全解决方案,它通过三大模块实现用户认证、授权、配额管理以及资源控制,全方面保护TDH大数据平台安全:LDAP和KERBEROS协议实现用户认证,保证只有经过身份甄别的用户才能访问系统;授权模块保证只有被赋予权限的用户才可以访问系统资源;配额管理与资源负责控制用户可支配资源的大小。

Guardian 5.0对于总体框架、ARBAC模型、多粒度权限管理、资源控制和运维简化五个方面进行了增强。本文将介绍框架和ARBAC模型的改进,后面的新增特性会在下一篇文章介绍。

总体结构

Guardian 5.0的框架如下图所示,共分为四层。

底层:ApacheDS

Guardian 5.0底层使用改进的ApacheDS代替原来的OpenLDAP+Kerberos方案,使用同一套用户和统一的LDAP/Kerberos认证方式,避免OpenLDAP使用Kerberos认证,加速LDAP认证效率。

另外,Guardian 5.0对ApacheDS底层数据库进行了优化,使读写效率提升10倍以上。

同时还提供了Master-Slave的HA方案,保证用户数据安全和可靠性。

第二层:Guardian Server

架构第二层是独立的服务Guardian Server,实现完整的ARBAC模型支持,提供了REST API,以及用户友好的Web UI和密码策略等功能支持。同时采用JWT Token机制,为实现SSO做好基础准备。

Guardian Server将用户认证授权进行了统一化,从Web服务(如Workflow、Rubik)到Hadoop底层使用同一套用户,同一套授权机制;同时开放了LDAP接口、REST API和LoginService,供第三方应用使用Guardian用户进行认证和授权的整合。

此外,通过Guardian的跨域信任机制,Microsoft AD以及MIT Kerberos用户可以无缝访问TDH集群,并通过Guardian管理其权限。

第三层:Plugins

第三层使用插件的形式,为TDH各个组件提供认证、授权、组映射以及配额管理,使得TDH组件可以使用统一的用户、组和权限管理模型。

顶层:服务应用

架构顶层是与Guardian对接的各种TDH服务,受到Guardian的安全保护。 

增强的ARBAC模型

在4.x版本中TDH集群各组件分别采用不同的权限模型,给权限管理带了不便。例如HDFS使用类似POSIX ACL的权限模型,通过HDFS shell授权;Inceptor使用基于角色的RBAC模型,使用SQL授权;而HBase使用的是基于组的RBAC权限模型,使用HBase shell授权。这意味着如果对这三个组件授权,必须登录三个系统,使用三种不同的模型授权,为权限运维造成不小的难度。为了简化运维,Guardian 5.0引入了增强后的ARBAC(Administrative Role Based Access Control)模型,统一了各个组件的权限管理,使用户使用统一的Web UI或者REST API进行授权,同时兼容了SQL、HBase shell授权方式。 

如上图所示,增强的ARBAC模型分为两层。

第一层:结构组织管理

上层是人事管理与IT资源管理层,该层负责添加用户和系统资源,可以按照组织架构将用户划分为组,并根据公司架构将组组织成树型结构。同时,用户组可用于实现多租户管理,每个组是一个独立的资源和权限管理单元,也就是一个租户,组内设置一个组管理员,负责管理该组的权限,用户、子组以及所属的角色。 

第二层:安全管理层

第二层是安全管理层,该层针对不同的资源抽象出不同的权限,每个权限表示对资源的一个操作,例如HDFS路径对应有读、写和执行权限,仅当用户拥有该路径的读权限时,才能成功读取该HDFS路径下的数据。权限可以被直接赋予用户和用户组,或者通过角色创建并管理权限的集合。当把角色赋予用户时,该用户即拥有角色的全部权限;角色 47 32180 47 15092 0 0 2188 0 0:00:14 0:00:06 0:00:08 2880予用户组时,隶属于该组的所有用户都拥有该角色的全部权限。Guardian 5.0通过采用此模型,提升了权限管理的灵活度,简化了琐细的权限管理。 

ARBAC模型另外引入Administrative Permissions和Administrative Role,用于灵活控制登录Guardian的用户所能执行的操作,包括创建用户、创建组、创建角色或者管理权限和配额的权限等。如普通用户只能查看自己的权限信息,而用户管理员可以创建管理用户、组和角色,权限管理员则拥有管理权限和配置能力。

Guardian 5.0预设了10个系统管理权限,方便用户设置不同的Guardian用户角色。但事实上Guardian中的任何一个操作都对应了一个权限,如果有需求可以细化到对每一个动作进行权限管理。Administrative Permissions和Administrative Role的引入为管理员职责划分提供了基础。

总结与预告

本文介绍了Guardian 5.0全新架构的改进点以及增强的ARBAC模型:提供了标准的LDAP/KERBEROS/JWT token认证协议,构建出自上而下统一的用户体系;同时,通过引入增强的ARBAC模型,统一了组件服务的权限管理系统。

关于Guardian 5.0的多粒度权限控制和细粒度的资源控制能力,以及如何实现对运维步骤的简化,我们将在下一篇文章中介绍。




往期原创文章

Rubik支持的OLAP Cube降维方法(二)

Rubik支持的OLAP Cube降维方法(一)

TDH中的高效SQL IDE--Waterdrop

Transwarp Pilot: 让BI分析全面自助化

近实时的ETL工具--Transwarp Transporter

MBO: SQL优化之基于物化视图的优化

用Slipstream构建复杂事件处理应用

混合负载下的资源调度神器--Inceptor Scheduler

你应该知道的工作流调度平台——Transwarp Workflow

OLAP Cube可视化设计工具—Transwarp Rubik

TDH荣获TPC官方测试(TPCx-HS@10TB)最佳性能

利用Transwarp Guardian保障HDFS安全

Governor中的元数据血缘关系和影响分析

星环的划时代版本-Transwarp Data Hub 5.0

关于StreamSQL中的Application隔离

如何让Kafka集群免受黑客攻击

Transwarp如何让Hadoop集群免受黑客攻击

大数据基础技术的未来演进趋势预测




大数据开放实验室由星环信息科技(上海)有限公司运营,专门致力于大数据技术的研究和传播。若转载请在文章开头明显注明“文章来源于微信订阅号——大数据开放实验室”,并保留作者和账号介绍。


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存