云数据库HBase企业级安全解析

摘要:在2018年1月25日的数据库直播中,Apsara DB-HBase产品技术团队的天斯分享了“云数据库HBase企业级安全解析”的重要课题,经过与开源HBase相比,拥有由Intel和Alibaba合做开发的HAS系统的云HBase系统不管在安全性仍是在运维成本上亦或是友好性上都有了较大的提升。
直播视频:https://yq.aliyun.com/video/play/1333
PDF下载:https://yq.aliyun.com/download/2459
如下为精彩视频内容整理:
开源HBase安全解绍linux

1

开源HBase的安全功能主要包含3个部分:
1.Access Controller coprocessor实现的ACL权限控制;
2.RPC层的安全认证,主要实现有kerberos认证;
3.HBase的WebUI支持https访问。数据库

开源HBase ACL权限控制介绍
HBsae ACL是基于coprocessor实现的一套权限控制机制,能够有效控制用户对HBase的数据访问权限,最小维度控制到列级。支持按用户、用户组来进行权限分配。HBsae ACL的做用范围大小:global > namespace > table > famliy > quelifier。而认证经过优先级顺序:global > namespace > table > family > quelifier。看以看出用户权限是由大到小进行认证,所以在规定用户权限时要注意用户的受限的权限上层的大权限有无被限制。此外能够按单个用户user分配进行权限管理,也能够按 用户group进行权限管理,认证顺序user>group。安全

开源HBase ACL使用案例网络

2

在对某公司HBase数据库管理小组各成员进行权限分配后,能够实现各相关人员的权限可是并不能保证访问权限的安全,倘若有来自外界的冒充人员,在获取相应API后,在不开启身份认证时系统会误认为其是小组内的成员,这样就存在了安全风险。此时须要系统开启身份认证来拒绝冒充人员的访问,从而达到安全要求。架构

开源HBase 身份认证运维

3

身份认证(Authentication)是用于识别用户身份的过程,只有经过身份认证的用户才有可能访问某些服务。与身份认证不一样的是,ACL受权仅仅控制的是指定的用户访问某些制定服务,但并不进行相应的身份识别。所以,只有身份认证(Authentication)和受权(Authorization)一同使用才能达到更更好的安全做用。ide

HBase目前支持的身份认证方式是kerberos认证,在RPC级实现的认证功能,而且kerberos也是hadoop内置的惟一认证方式。HBase/HDFS/Zookeeper通常同时开启kerberos认证功能使用。工具

当前开源HBase的安全经常使用搭建方案主要有3方面: 
1.HBase启用kerberos认证,启用https WebUI 访问,启用ACL权限受权控制,开启日志审计,流量限制; 
2.HDFS启用kerberos认证,启用权限控制,启用数据加密;
3.zookeeper启用kerberos认证,启用zk的ACL权限控制。oop

kerberos介绍大数据

Kerberos是一种网络认证协议,目前Kerberos协议有不少实现版本,其本质使用对称加密的技术实现网络中的身份认证。一般使用第三方服务的方式提供身份认证,即独立于相关的服务组件。目前不少大数据服务组件都默认集成了Kerberos,都可以开启Kerberos身份启动服务。

4

当一个用户须要访问某个被Kerberos保护的服务时,Kerberos认证过程能够分为两个阶段: 
1.Kerberos服务端程序(Authentication Server,AS)对用户的身份认证;
2.服务对用户的身份认证。

目前开源HBase在开启相应身份认证后,虽然安全性获得了有效提升,可是其存在成本方面投入巨大,访问集群准备 步骤多且繁锁,使用并不友好,配置复杂繁琐,须要将帐户与系统进行绑定等缺点。

云数据库HBase安全介绍

5

云数据库HBase在安全的方面主要支持功能有:网络层安全隔离、身份认证、权限控制,日志审计、流量控制,数据加密。公网用户、经典网用户若想用户VPC须要先加入白名单,不然是没法进行访问的。

6

云数据库HBase的网络安全隔离方面,用户能够设置防火墙白名单、安全组端口限制,选择HBase安装在VPC专有网络上;在身份认证上,采用Intel和Alibaba合做开发的HAS服务作身份认证,使用更友好;在权限控制上兼容HBase Access Controller coprocessor,支持细粒度权限控制,用户帐户不依赖本地linux系统用户,提升了使用的效率;在审计上能够记录用户对资源访问操做,监控/跟踪资源访问的安全风险。所以,与开源HBase相比云数据库HBase在安全性、成本、用户友好方面都有较大的提升。

云HBase安全模块还提供了: 
1)支持多种认证方式实现,如帐户密码、RAM、LDAP等; 
2)扩展backend元数据高可用服务; 
3)简化client配置;
4)快捷方便的命令行行管理工具; 
5)能够向客服提供与现存帐户认证体系对接的能力。

云HBase安全原理

1.什么是HAS?
HAS (Hadoop Authentication Service),由致力于解决开源大数据服务和生态系统的认证支持。目前开源大数据(Hadoop/Spark)在安全认证上只内置支持了Kerberos方式,HAS提出了一种新的认证方式(Kerberos-based token authentication),经过与现有的认证和受权体系进行对接,使得在Hadoop/Spark在上面支持Kerberos之外的认证方式变成可能,并对最终用户简化和隐藏Kerberos的复杂性。

7

2.HAS系统架构 
HAS基于Apache Kerby 基础上,以较少的开发 成本实现的全新的针对开源⼤大数据认证的方案。Apache Kerby为HAS主要:提供了了全面的kerberos 客户端lib和工具;提供了Kerby KDC:高效、高可用服务;强大的ASN-1支持;TokenPreauth 全新的token认证机制。

8

HAS协议流程主要是对Kerberos进行扩展,其协议基础是TokenPreauth机制,该机制主要是在Apache Kerby中实现。该机制容许用户使用第三⽅方颁发的token来代替,并由password向KDC进行身份验证,目前已经被普遍的使用在互联网、云和移动互联网中,使得Kerberos系统可以和其余认证方案相结合,并推进了Kerberos在云和大数据平台上的发展。

云HBase安全应用场景

安全需求无处不在,例如,企业为了防止员工恶意报复,防止外部用户访问盗窃数据,甚至删除全部数据等。能够说只要是生产的环境,就有安全的需求,只是安全要求的防御级别有所不不同。例如对于公有云常见的用户,通常HBase数据库就是内网DB,只供本身访问使用,没有第三方人员公用,加上存储的数据可能都是用户日志数据,那么这个客户可能只须要外部网络层隔离就能够了。若是某公司HBase数据库与某业务第三方服务商供存储,可能就须要更更进一步的身份、权限、审计等安全需求了。

云HBase与开源HBase相比,实现了运维成本和使用成本的降低,简化了配置,而且不依赖系统帐户来实现公网用户、经典网用户的访问,最为重要的的是在安全性上有了更大的提升。

本文由云栖志愿小组林一木整理,百见编辑。

阅读原文http://click.aliyun.com/m/41277/

相关文章
相关标签/搜索