zoukankan      html  css  js  c++  java
  • 大数据安全规范

    大数据安全规范

    一、概述
    大数据的安全体系分为五个层次:周边安全、数据安全、访问安全(认证 - 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向管理员提出申请,经过评审通过后方可授予相应的权限
    ---------------------

  • 相关阅读:
    Linux熟悉命令
    Spring boot
    python jdbc操作数据库
    python 获取异常
    EntityFramework6 in github
    Java classloader机制测试命令
    SinalR
    asp.net httpmodule问题
    VMVare虚拟机的异常处理---内部错误
    Oracle11g客户端安装及plsql配置
  • 原文地址:https://www.cnblogs.com/yue31313/p/9801521.html
Copyright © 2011-2022 走看看