怎么做好大数据安全访问管控?彭文华

本文涉及的产品
数据安全中心,免费版
简介: 怎么做好大数据安全访问管控?彭文华

这是彭文华的第132篇原创

我发现呆过的公司基本上会分成两个极端:要么什么都自研,迫不得已才买现成的;要么什么都买买买,迫不得已才自研。市场上现在有很多大数据平台、数据中台的产品都已经把所有功能都集成好了,但是价格可不便宜啊。

比如我们平台建好了,要开放给各业务部门的数据分析师用,但是表太多了,没法管理,这可咋整?大数据平台资源可多呢,HIVE、HBase、Kafka等,每个组件弄一套用户名密码?那还不得废了!所以我们得有一套统一的授权系统来管理才行。


用户和资源

即便是没设计过权限的同学,凭着自己平时使用各种系统的感觉,也能理解必须得有一个表,用来存储所有用户和需要访问资源的对应关系。

用我们最朴素的理解,A用户过来申请访问B表,需要到用户-资源表中扫一下,有权限了,再去执行。这就是权限“鉴权”的逻辑。

但是这么做有个弊端,一旦用户和资源过多,就完蛋了。

这还是6个用户和6个资源,就已经是个灾难了,更别提咱大数据平台动辄几千个表,内部几十上百个人要用,要是加上HIVE、HBase、Kafka等N多组件,那就彻底歇菜了!


RBAC模型

架构感比较好的同学就立刻会想到一个解决方案:在用户和资源之间加一层,起到解耦的作用。

这样就轻松多了,一个权限决定了可以对资源做什么事情,比如增、删、改、查。但是这只是从资源侧解决了部分问题,还有用户侧也少了一些,那就再加一层。

这样就从资源端和用户端都做了一层抽象,也就多了一层解耦。在进行授权、鉴权等权限控制的时候就非常舒服了。进一步我们还可以将角色进行进一步的拆分,比如建个角色分组、分级,再加上组织架构等,这个权限功能就非常丰富了。

这就是传说中的RBAC(基于角色的访问控制Role-Based Access Control)。

至于RBAC的什么概念、什么原则,这里就不赘述了,各位可以去百度一下。意思就是建立一个用户、角色、权限和资源之间对应关系的访问控制模型。


大数据安全组件Ranger

这哥们说了,权限我明白了,那这个安全体系怎么落地呢?

这就要提到跟Apache基金会里与Atlas双贱合并的Ranger了!这个Ranger帮忙做了很多基础工作,向前打通了用户端,向后打通Hive、Base、Kafka、Yarn等组件,关键是他还能与Atlas打通了。而且还提供了统一的权限配置界面,非常友好!

Ranger为各个组件提供一个插件,相当于拦在用户请求的路径上,根据配置的访问策略决定是否应授权这个户请求。


我们可以在Ranger中对一个自营资源(一个或多个文件夹和/或文件)创建安全策略,然后为一组特定的用户和/或组分配特定的权限(例如:读取,写入,执行)。这些策略和权限在策略管理器中,Ranger把这些信息扔到了MySQL里存储。

不过Ranger也有很多不足之处,最让人上头的就是安装了。这玩意各种依赖特别多,而且还有版本限制,真是让人头大。

另外就是支持的组件还是不太够丰富,还有,Ranger好像没完全按照RBAC逻辑去设计,不过对于我们这样已经够用了。


三大安全组件对比

除了Ranger之外,其实还有两个:Kerberos和Sentry。Kerberos比较轻量级,相当于最简单的权限管理。Sentry功能也还行,但是交互性差点意思,连自己的Web UI都没有。

Kerberos轻量级到什么程度呢?就是只能控制你是否能访问Hive,某个表啥的就控制不了啦。不过据说可以集成LDAP,反正我没玩过,也不知道好使不好使。Kerberos实现的逻辑很简单,就是先买票,后上船。它的KDC服务端提供卖票服务,Client到KDC那边买个票,然后再去Server那边验票访问。


Sentry是CDH的标配,在CDH时代,Sentry基本是唯一的安全解决方案。但是升级为CDP之后,就抛弃Sentry,改用Ranger了,所以你看,还是Ranger比较好用吧?要不怎么会换掉呢,是吧?我这边也整(抄)了一个Sentry和Ranger的对比,各位凑合着看吧:

如果你的团队也遇到权限的问题,强烈建议用Ranger。

相关文章
|
2月前
|
存储 安全 大数据
大数据隐私保护:用户数据的安全之道
【10月更文挑战第31天】在大数据时代,数据的价值日益凸显,但用户隐私保护问题也愈发严峻。本文探讨了大数据隐私保护的重要性、面临的挑战及有效解决方案,旨在为企业和社会提供用户数据安全的指导。通过加强透明度、采用加密技术、实施数据最小化原则、加强访问控制、采用隐私保护技术和提升用户意识,共同推动大数据隐私保护的发展。
|
2月前
|
存储 安全 大数据
|
5月前
|
存储 监控 安全
大数据架构设计原则:构建高效、可扩展与安全的数据生态系统
【8月更文挑战第23天】大数据架构设计是一个复杂而系统的工程,需要综合考虑业务需求、技术选型、安全合规等多个方面。遵循上述设计原则,可以帮助企业构建出既高效又安全的大数据生态系统,为业务创新和决策支持提供强有力的支撑。随着技术的不断发展和业务需求的不断变化,持续优化和调整大数据架构也将成为一项持续的工作。
|
5月前
|
安全 关系型数据库 MySQL
揭秘MySQL海量数据迁移终极秘籍:从逻辑备份到物理复制,解锁大数据迁移的高效与安全之道
【8月更文挑战第2天】MySQL数据量很大的数据库迁移最优方案
877 17
|
6月前
|
分布式计算 安全 大数据
HAS插件式Kerberos认证框架:构建安全可靠的大数据生态系统
在教育和科研领域,研究人员需要共享大量数据以促进合作。HAS框架可以提供一个安全的数据共享平台,确保数据的安全性和合规性。
|
6月前
|
SQL 安全 大数据
如何安全的大数据量表在线进行DDL操作
如何安全的大数据量表在线进行DDL操作
87 0
如何安全的大数据量表在线进行DDL操作
|
6月前
|
分布式计算 DataWorks 数据处理
MaxCompute操作报错合集之UDF访问OSS,配置白名单后出现报错,是什么原因
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
6月前
|
分布式计算 大数据 数据挖掘
MaxCompute产品使用合集之如何解决MC通过外部表方式访问Hologres时,数据量达到3000万条左右导致查询速度慢
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
7月前
|
机器学习/深度学习 自然语言处理 监控
金融行业的大数据风控模型:构建安全高效的信用评估体系
金融机构借助大数据风控提升信贷效率,通过数据收集、清洗、特征工程、模型构建与评估来识别风险。关键技术涉及机器学习、深度学习、NLP和实时处理。以下是一个Python风控模型构建的简例,展示了从数据预处理到模型训练、评估的过程,并提及实时监控预警的重要性。该文旨在阐述大数据风控的核心要素和关键技术,并提供基础的代码实现概念。【6月更文挑战第23天】
1092 8
|
7月前
|
分布式计算 DataWorks MaxCompute
MaxCompute操作报错合集之在Spark访问OSS时出现证书错误的问题,该如何解决
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。