一、业务背景
大数据集群最基本的就是数据以及用于计算的资源,是一个公司的宝贵财富,我们需要将它们很好管理起来,将相应的数据和资源开放给对应的用户使用,防止被窃取、被破坏等,这就涉及到大数据安全。
现状&&需求
目前我们大数据集群的现状是处于裸奔状态,只要可以登录linux机器即可对集群继续相关操作
所以集群安全对于我们来说迫在眉睫,主要需求有以下几个方面:
支持多组件,最好能支持当前公司技术栈的主要组件,HDFS、HBASE、HIVE、YARN、STORM、KAFKA等
支持细粒度的权限控制,可以达到HIVE列,HDFS目录,HBASE列,YARN队列,STORM拓扑,KAKFA的TOPIC
开源,社区活跃,按照现有的集群改情况造改动尽可能的小,而且要符合业界的趋势。
二、大数据安全组件介绍与对比
目前比较常见的安全方案主要有三种:
Kerberos(业界比较常用的方案)
Apache Sentry(Cloudera选用的方案,cdh版本中集成)
Apache Ranger(Hortonworks选用的方案,hdp发行版中集成)
1、Kerberos
Kerberos是一种基于对称密钥的身份认证协议,它作为一个独立的第三方的身份认证服务,可以为其它服务提供身份认证功能,且支持SSO(即客户端身份认证后,可以访问多个服务如HBase/HDFS等)。
服务名作用KDCKerberos的服务端程序,用于验证各个模块Client需要访问服务的用户,KDC和Service会对用户的身份进行认证Service即集成了Kerberos的服务,如HDFS/YARN/HBase等
Kerberos协议过程主要有三个阶段,第一个阶段Client向KDC申请TGT,第二阶段Client通过获得的TGT向KDC申请用于访问Service的Ticket,第三个阶段是Client用返回的Ticket访问Service。
优点:
服务认证,防止bro