您的位置:首页 > 大数据

大数据安全规范

2016-04-23 23:31 246 查看
大数据安全规范

一、概述

大数据的安全体系分为五个层次:周边安全、数据安全、访问安全(认证 - 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 账号管理

帐号分为运维帐号和开发用户帐号。

运维帐号按服务拆为多个账号,不同的账号操作不同的服务,具体如下:

服务用户
Flumeflume
HDFShdfs
MapReducemapred
HBasehbase
Hivehive
Kafkakafka
Oozieoozie
Rangerranger
Sparkspark
Sqoopsqoop
Stormstorm
YARNyarn
ZooKeeperzookeeper
Ambari Metricsams
开发用户账号,每个用户一个帐号,按团队分组,不同的账号或组操作不同的文件或表,如果需要操作别人的数据,需要运维进行授权

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界面进行权限的管理,目前各个服务提供的权限如下:
服务服务详情权限
HDFShdfs pathRead、Write、Execute
HBasetable、column family、columnRead、Write、Create、Admin
Hivedatabase、table|function、columnSelect、Update、Create、Drop、Alter、Index、Lock、All
YARNqueueSubmit-job、Admin-queue
KafkatopicPublish、Consume、Configure、Describe、Kafka Admin





团队权限分配

团队团队成员组服务权限
dp(数据平台)dpHDFSRead、Write、Execute
HBaseRead、Write
HiveSelect
YARNSubmit-job
KafkaPublish、Consume、Configure、Describe
dm(数据挖掘)dmHDFSRead、Write、Execute
HBaseRead、Write
HiveSelect
YARNSubmit-job
da(数据应用)daHDFSRead、Write、Execute
HBaseRead、Write
HiveSelect
YARNSubmit-job
op(运维)hadoop管理员HDFS、HBase、Hive、YARN、KafkaAll
个人帐号:在线上操作要精确到个人

申请权限流程:

每个团队的leader向管理员提出申请,经过评审通过后方可授予相应的权限
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: