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

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
简介: 在2018年1月25日的数据库直播中,Apsara DB-HBase产品技术团队的天斯分享了“云数据库HBase企业级安全解析”的重要课题,通过与开源HBase相比,拥有由Intel和Alibaba合作开发的HAS系统的云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安全解绍

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)一同使用才能达到更更好的安全作用。

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身份启动服务。

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

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

相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
27天前
|
数据库 索引
深入探索数据库索引技术:回表与索引下推解析
【10月更文挑战第15天】在数据库查询优化的领域中,回表和索引下推是两个核心概念,它们对于提高查询性能至关重要。本文将详细解释这两个术语,并探讨它们在数据库操作中的作用和影响。
46 3
|
1月前
|
存储 NoSQL 关系型数据库
数据库技术深度解析:从基础到进阶
【10月更文挑战第17天】数据库技术深度解析:从基础到进阶
58 0
|
1月前
|
SQL 关系型数据库 MySQL
数据库导入SQL文件:全面解析与操作指南
在数据库管理中,将SQL文件导入数据库是一个常见且重要的操作。无论是迁移数据、恢复备份,还是测试和开发环境搭建,掌握如何正确导入SQL文件都至关重要。本文将详细介绍数据库导入SQL文件的全过程,包括准备工作、操作步骤以及常见问题解决方案,旨在为数据库管理员和开发者提供全面的操作指南。一、准备工作在导
271 0
|
26天前
|
存储 负载均衡 监控
数据库多实例的深入解析
【10月更文挑战第24天】数据库多实例是一种重要的数据库架构方式,它为数据库的高效运行和灵活管理提供了多种优势。在实际应用中,需要根据具体的业务需求和技术环境,合理选择和配置多实例,以充分发挥其优势,提高数据库系统的性能和可靠性。随着技术的不断发展和进步,数据库多实例技术也将不断完善和创新,为数据库管理带来更多的可能性和便利。
93 57
|
25天前
|
SQL 安全 Java
MyBatis-Plus条件构造器:构建安全、高效的数据库查询
MyBatis-Plus 提供了一套强大的条件构造器(Wrapper),用于构建复杂的数据库查询条件。Wrapper 类允许开发者以链式调用的方式构造查询条件,无需编写繁琐的 SQL 语句,从而提高开发效率并减少 SQL 注入的风险。
14 1
MyBatis-Plus条件构造器:构建安全、高效的数据库查询
|
1月前
|
Web App开发 SQL 数据库
使用 Python 解析火狐浏览器的 SQLite3 数据库
本文介绍如何使用 Python 解析火狐浏览器的 SQLite3 数据库,包括书签、历史记录和下载记录等。通过安装 Python 和 SQLite3,定位火狐数据库文件路径,编写 Python 脚本连接数据库并执行 SQL 查询,最终输出最近访问的网站历史记录。
|
1月前
|
安全 NoSQL 关系型数据库
阿里云数据库:构建高性能与安全的数据管理系统
在企业数字化转型过程中,数据库是支撑企业业务运转的核心。随着数据量的急剧增长和数据处理需求的不断增加,企业需要一个既能提供高性能又能保障数据安全的数据库解决方案。阿里云数据库产品为企业提供了一站式的数据管理服务,涵盖关系型、非关系型、内存数据库等多种类型,帮助企业构建高效的数据基础设施。
67 2
|
1月前
|
关系型数据库 数据挖掘 数据库
解析数据库联结:应用与实践中的 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN 与 CROSS JOIN
解析数据库联结:应用与实践中的 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN 与 CROSS JOIN
60 1
|
1月前
|
前端开发 Java 数据库
企业级JAVA、数据库等编程规范之命名风格 —— 超详细准确无误
文章详细阐述了企业级编程中Java和数据库等编程规范的命名风格,包括包名、类名、方法名、参数名、成员变量、局部变量、常量、抽象类、异常类、测试类、数据库及其字段和CSS等的命名规则。
46 0
企业级JAVA、数据库等编程规范之命名风格 —— 超详细准确无误
|
1月前
|
SQL 开发框架 .NET
ASP.NET连接SQL数据库:实现过程与关键细节解析an3.021-6232.com
随着互联网技术的快速发展,ASP.NET作为一种广泛使用的服务器端开发技术,其与数据库的交互操作成为了应用开发中的重要环节。本文将详细介绍在ASP.NET中如何连接SQL数据库,包括连接的基本概念、实现步骤、关键代码示例以及常见问题的解决方案。由于篇幅限制,本文不能保证达到完整的2000字,但会确保
下一篇
无影云桌面