大数据安全规范
大数据安全规范
一、概述
大数据的安全体系分为五个层次:周边安全、数据安全、访问安全(认证 - authentication和授权 - authorization)、访问行为可见、错误处理和异常管理。下面依次说明:
1.周边安全技术即传统意义上提到的网络安全技术,如防火墙等;
2.数据安全包括对数据的加解密,又可细分为存储加密和传输加密;还包括对数据的脱敏;
3.访问安全主要是对用户的认证和授权两个方面:
用户认证(Authentication)
即是对用户身份进行核对, 确认用户即是其声明的身份, 这里包括用户和服务的认证
用户授权(Authorization)
即是权限控制,对特定资源, 特定访问用户进行授权或拒绝访问。用户授权是建立再用户认证的基础上,没有可靠的用户认证谈不上用户授权。
访问安全还包括数据验证(data validation)
1> type. int string等
2> format. phone email等
3> length.
4> range.
5> precense or absence.
6> match in lookup tables.
7> other bussiness rules
4.访问行为可见多指记录用户对系统的访问行为(审计和日志):如查看哪个文件;运行了哪些查询;访问行为监控一方面为了进行实时报警,迅速处置危险的访问行为;另一方面为了事后调查取证,从长期的数据访问行为中分析定位特定的目的。
5.错误处理和异常管理
这个主要是针对错误发现,一般做法是建立并逐步完善的监控系统,对可能发生或已发生的情况进行预警或者告警。还包括异常攻击事件监测,目前发现的针对攻击的办法有:
1>攻击链分析,按照威胁检测的时间进行分析,描述攻击链条
2>相同类型的攻击事件进行合并统计
3>异常流量学习正常访问流量,流量异常时进行告警
在这五个层次中,第三层(访问安全)同业务的关系最为直接:应用程序的多租户,分权限访问控制都直接依赖这一层的技术实现,那么我们的重点也将放在这一层上。众所周知的是, hadoop本身提供的认证(主要是kerberos)不易维护,授权(主要是ACL)又很粗粒度,为此我们通过对两个重量级公司(Cloudera和Hortonworks)开源的关于安全的服务进行对比(参见博文)后决定使用Hortonworks开源的Ranger。 Ranger为企业级hadoop生态服务提供了许多安全套件,通过集中化权限管理为用户/组提供文件、文件夹、数据库、表及列的认证、授权控制,还可以提供审计(通过solr进行查询),新推出的RangerKMS还支持对hdfs数据加密等
二、大数据平台安全规范之访问安全
2.1用户身份认证
通过Ranger提供的用户/组同步功能实现认证,Ranger可以整合Unix或者LDAP进行用户认证管理
2.2 用户权限管理
2.2.1 账号管理
帐号分为运维帐号和开发用户帐号。
运维帐号按服务拆为多个账号,不同的账号操作不同的服务,具体如下:
服务 | 用户 |
Flume | flume |
HDFS | hdfs |
MapReduce | mapred |
HBase | hbase |
Hive | hive |
Kafka | kafka |
Oozie | oozie |
Ranger | ranger |
Spark | spark |
Sqoop | sqoop |
Storm | storm |
YARN | yarn |
ZooKeeper | zookeeper |
Ambari Metrics | ams |
开发用户账号,每个用户一个帐号,按团队分组,不同的账号或组操作不同的文件或表,如果需要操作别人的数据,需要运维进行授权
2.2.2 目录和文件规范
目录 | 规则 |
/source | 主要存储原始采集的日志,存储规则如下: /source/{业务名称}/{日期},其中: 业务名称: 比如发送记录等 日期: 格式统一为yyyyMMdd |
/data | 存储的规范和source一样, 数据仓库之前的文件临时目录 清理时间待定 |
/workspace | 工作空间,存储规则如下:/workspace/{团队名称}/{业务名称|产品名称} 对方 |
/user | 用户空间,存储用户私有数据,仅用户自己可以访问。按照开发人员 自己的习惯组织存储文件,用于存储用户的测试数据, 清理时间待定 |
/user/hive/warehouse | 存储hive仓库,按照团队创建库;公共日志按照业务名进行创建, 每个团队可以创建一个属于团队的hive库 |
/temp | 用来存储一些临时文件
每月清理一次 |
2.2.3 用户权限管理
权限管理有2种方案,ACL方案(粗粒度)和 ranger方案(细粒度),基于我们的数据需求,先考虑使用ranger提供的细粒度权限控制
使用Ranger UI界面进行权限的管理,目前各个服务提供的权限如下:
服务 | 服务详情 | 权限 |
HDFS | hdfs path | Read、Write、Execute |
HBase | table、column family、column | Read、Write、Create、Admin |
Hive | database、table|function、column | Select、Update、Create、Drop、Alter、Index、Lock、All |
YARN | queue | Submit-job、Admin-queue |
Kafka | topic | Publish、Consume、Configure、Describe、Kafka Admin |
团队权限分配
团队 | 团队成员组 | 服务 | 权限 |
dp(数据平台) | dp | HDFS | Read、Write、Execute |
HBase | Read、Write | ||
Hive | Select | ||
YARN | Submit-job | ||
Kafka | Publish、Consume、Configure、Describe | ||
dm(数据挖掘) | dm | HDFS | Read、Write、Execute |
HBase | Read、Write | ||
Hive | Select | ||
YARN | Submit-job | ||
da(数据应用) | da | HDFS | Read、Write、Execute |
HBase | Read、Write | ||
Hive | Select | ||
YARN | Submit-job | ||
op(运维) | hadoop管理员 | HDFS、HBase、Hive、YARN、Kafka | All |
个人帐号:在线上操作要精确到个人
申请权限流程:
每个团队的leader向管理员提出申请,经过评审通过后方可授予相应的权限
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Storm构建分布式实时处理应用初探(转)
最近利用闲暇时间,又重新研读了一下Storm。认真对比了一下Hadoop,前者更擅长的是,实时流式数据处理,后者更擅长的是基于HDFS,通过MapReduce方式的离线数据分析计算。对于Hadoop,本身不擅长实时的数据分析处理。两者的共同点都是分布式的架构,而且,都类似有主/从关系的概念。本文中我就不具体阐述Strom集群和Zookeeper集群如何部署的问题,我想通过一个实际的案例切入,分析一下如何利用Storm,完成实时分析处理数据的。 Storm本身是Apache托管的开源的分布式实时计算系统,它的前身是Twitter Storm。在Storm问世以前,处理海量的实时数据信息,大部分是类似于使用消息队列,加上工作进程/线程的方式。这使得构建这类的应用程序,变得异常的复杂。很多的业务逻辑中,你不得不考虑消息的发送和接收,线程之间的并发控制等等问题。而其中的业务逻辑可能只是占据整个应用的一小部分,而且很难做到业务逻辑的解耦。但是Storm的出现改变了这种局面,它首先抽象出数据流Stream的抽象概念,一个Stream指的是tuples组成的无边界的序列。后面又继续提出Spouts、...
- 下一篇
Spark-理解RDD
问题 spark的计算模型是如何做到并行的呢?如果你有一箱香蕉,让三个人拿回家吃完,如果不拆箱子就会很麻烦对吧,哈哈,一个箱子嘛,当然只有一个人才能抱走了。这时候智商正常的人都知道要把箱子打开,倒出来香蕉,分别拿三个小箱子重新装起来,然后,各自抱回家去啃吧。 Spark和很多其他分布式计算系统都借用了这种思想来实现并行:把一个超大的数据集,切分成N个小堆,找M个执行器(M < N),各自拿一块或多块数据慢慢玩,玩出结果了再收集在一起,这就算执行完啦。那么Spark做了一项工作就是:凡是能够被我算的,都是要符合我的要求的,所以spark无论处理什么数据先整成一个拥有多个分块的数据集再说,这个数据集就叫RDD。 RDD RDD(Resilient Distributed Datasets,弹性分布式数据集)是一个分区的只读记录的集合。RDD只能通过在稳定的存储器或其他RDD的数据上的确定性操作来创建。我们把这些操作称作变换以区别其他类型的操作。例如 map,filter和join。 RDD在任何时候都不需要被”物化”(进行实际的变换并最终写入稳定的存储器上)。实际上,一个RDD有足够...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker快速安装Oracle11G,搭建oracle11g学习环境