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

开源HBase安全介绍

开源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使用案例

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

开源HBase 身份认证

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

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权限控制。

Kerberos介绍

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

当一个用户需要访问某个被Kerberos保护的服务时,Kerberos认证过程可以分为两个阶段:

1.Kerberos服务端程序(Authentication Server,AS)对用户的身份认证; 2.服务对用户的身份认证。

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

云数据库HBase安全介绍

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

云数据库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的复杂性。

2.HAS系统架构

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

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

云HBase安全应用场景

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

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

本文分享自微信公众号 - 大数据和云计算技术(jiezhu2007)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-07-12

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏品茗IT

HadoopHA--高级配置

11140
来自专栏腾讯云数据库(TencentDB)

为传统银行换“心”,腾讯TDSQL成为首款应用于银行传统核心的国产分布式数据库

☆   点击▲关注 腾讯云数据库 ☆ 实现信息技术的自主可控,可以说是金融行业最紧迫、最重要的推进战略了。 人民银行、银保监会等主管部门密集出台文件,指导金...

14240
来自专栏大数据成神之路

大数据平台演进之路 | 淘宝 & 滴滴 & 美团

声明:本文参考了淘宝/滴滴/美团发表的关于大数据平台建设的文章基础上予以整理。参考链接和作者在文末给出。

68630
来自专栏二狗的DBA之路

hbase+opentsdb 单机版搭建

cd /root/ tar xf zookeeper-3.4.8.tar.gz -C ./ mv zookeeper-3.4.8 /opt/zk

9920
来自专栏光城(guangcity)

一个完整的Mysql到Hbase数据同步项目思想与实战

对于上次文章预告,这次则以项目实战从后往前进行,先给大家一个直观的应用,从应用中学习,实践中学习。

34730
来自专栏大数据成神之路

Hive和Hbase的各自适用场景

场景描述:先放结论:Hbase和Hive在大数据架构中处在不同位置,Hbase主要解决实时数据查询问题,Hive主要解决数据处理和计算问题,一般是配合使用。

18420
来自专栏一心一意谋发展,脚踏实地搞技术

HBase新的客户端接口

最近学习接触HBase的东西,看了《Habase in Action》,但里面关于HBase接口都是过时的接口,以下为HBase新的客户端接口:

8420
来自专栏金融级分布式数据库TDSQL

TDSQL落地张家港农商银行,银行传统核心数据库首次国产化

日前,基于国产金融级分布式数据库腾讯云TDSQL打造的张家港农商银行新一代核心业务系统成功上线投产。这是在国内银行首次在传统核心业务系统场景下,采用国产分布式数...

25630
来自专栏腾讯安全

中标!腾讯多项产品被中央国家机关pick了

《中央国家机关2019年软件协议供货采购项目》发布中标公告,腾讯御点杀毒软件Windows版、腾讯御点终端安全管理系统V2.1、腾讯御点移动存储介质安全软件、腾...

8620
来自专栏java思维导图

日均7亿交易量,如何设计高可用的MySQL架构?

大型国有银行,整体核心的系统都是大机+DB2 这样的传统架构;针对现在的互联网金融业务快速扩张的需求,传统的架构面临着比较大的挑战。

9510

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励