阿里云HBase安全系列-初体验

概述简介

阿里云HBase安全包括多方面的措施,主要构成部分有:网络隔离,白名单,身份认证,权限控制,数据加密等,具体介绍可参考文章底部链接。本文主要是阿里云HBase安全实战体验篇,介绍如何开通使用HBase安全功能,并涉及身份认证以及权限控制配合。

使用介绍

首先还是回顾一下我们使用云HBase的时候,会涉及哪些主要的安全防护:



如上图,最外层是网络隔离,用户HBase实例存在于云上用户自己单独的vpc环境内,其他用户访问不了云hbase实例。要想与HBase网络连通,要么用户部署用户访问程序到 云HBase实例相同vpc下的ecs上,要么使用公网访问的方式。此外,还需要填写网络白名单,把用户的ecs配置到HBase实例的白名单上。如:我云上的机器ip是42.120.74.94,那么我配置到白名单就应该是如下:

大多数用户使用HBase的时候,都默认只使用了上述这些方式进行安全控制,实际上,阿里云HBase还支持用户开启kerberos安全身份认证以及HBase ACL权限控制。大多数用户场景其实不开这些都是可以的,毕竟他们使用HBase的时候,只作为自己内部业务系统的数据库使用。

云HBase安全使用场景

那么我们可以思考一个问题,云上的HBase在什么样的场景下不需要开启这个功能也可以达到生产要求?以及什么样的场景推荐开启这个安全功能?为了形象描述,这里举个例子说明。例:某车联网创业公司,创业之初他们使用阿里云HBase数据库作为车的轨迹点数据存储,供用户查询自己的历史路程和足迹。该公司的业务部署架构如下:

如上图所示,大部分用户使用HBase都是内部自己系统独享使用。HBase系统只作为业务系统的数据库访问,没有任何第3方伙伴需要访问这个数据库,那么这个时候该车联网创业公司其实像上图一样,利用网络隔离和白名单控制就达到生产环境要求了。

后来随着业务的发展,创业公司需要挖掘这些轨迹隐患的更多内在含义,与某第三方数据挖掘公司合作,要求第三方每天访问此HBase存储的轨迹数据,并按需求生成报表。这个时候,HBase就涉及到多责任方访问的安全问题,那么他就要开启这个云HBase安全服务,避免不必要的误操作或者越权纷争等。 

如下图:车连网公司只给第三方数据挖掘公司一个只读账号,只让他访问特定的轨迹数据,而不能进行其他任何操作。![](https://upload-images.jianshu.io/upload_images/11380499-e93dc8c5de6522ab.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

随着该车联网创业公司的数据挖掘指标越来越有意思,客户不断壮大,公司也在不断扩大,公司开始把研发团队拆分成数据业务部门和官网bbs部门。不同部门之间共用一个ecs资源部署服务,利用云HBase安全,也可以把他们间的权限进行隔离控制,防止越界操作,部署结构如下图:

综上所述,如果HBase是用户自己独享使用的,可以不开启云HBase 底层安全防护;如果你想让除了你以外的其他业务方、不同部门员工来访问HBase数据库实例的时候,或许应该要考虑开启云HBase安全来进行身份认证和权限控制,实践效果更佳。

阿里云HBase安全功能之初体验

阿里云HBase安全,主要由alibaba和Intel合作开发的HAS(Hadoop authortication service)实现的安全认证,支持kerberos协议并简化了使用方式;同时配合使用HBase ACL实现用户权限控制,可以控制精确到列级别。下面我们一步步体验一下功能。

申请安装安全集群

目前采用咨询沟通后开放形式来启用云HBase安全,后续会全网开放HBase安全功能选项。首先 钉钉扫码联系“云HBase答疑”, 咨询客服并确认您需要开通云HBase安全功能。

开通后,HBase的访问都需要提供用户名密码,客服会给你HBase管理员的初始账户密码,比如我这里初始管理账户的用户密码是root/123456。另外,客服会给你最新的alihbase-1.1.4 client 安全版本tar包。

验证安全访问

接下来访问HBase只能像MySQL一样,提供账户密码才能访问。我们来先验证一下安全HBase的访问效果。解压alihbase-1.1.4-rc2-bin.tar.gz,修改conf目录下的hbase-site.xml,添加以下配置:其中 zk地址替换为自己的zk访问地址。

<property>
    <name>hbase.zookeeper.quorum</name>
    <value>zk1,zk2,zk3</value>
  </property>
  <property>
    <name>username</name>
    <value>root</value>
  </property>
  <property>
    <name>password</name>
    <value>123456</value>
  </property>

配置完后,我们进行正常hbase shell访问了,如图:

当我们没有使用正确的用户名或者密码不对的时候,访问会报错如下:



会报ERROR: No valid credentials provided (Mechanism level: Failed to find any kerberos tgt),通常密码错误、用户不存在等原因,导致登录失败后错误都是显示这个。还有就是开启安全的情况下,如果你没有填写用户名或密码任意一个时,那么会比较明显的提醒你,你正在访问的是一个安全集群,你需要提供账户密码进行访问,如下图显示第3行末尾显示,“you must provide username/password” 字眼。

修改root管理员密码

在上述验证通过情况下,执行脚本 bin/hasopt.sh脚本进入账户管理命令行:



修改成功后,后续的root访问就必须使用最新的密码了。也可以使用
resetown root <old_password> <new_password>
命令行修改正在使用的root用户密码。

用户管理

如上述,我们可以使用用户管理命令行对用户进行管理,初始我们只有root管理员账户,可以使用管理工具对用户进行管理,具体命令功能说明如表:

命令 说明 使用样例及参数 使用限制
add 或 adduser 添加用户 add<username><password> 只能root用户
delete 或 deleteuser 删除用户 delete<username> 只能root用户
disable 或 disableverification 关闭身份验证 无参数 只能root用户
enable 或 enableverification 开启身份认证 无参数 只能root用户
reset 或 resetpassword 重设用户密码(root为普通用户重置) reset 只能root用户
list 或 listalluser list所以用户名 无参数 只能root用户
resetown 或 resetmyownpwd 重设自己的密码 reset<myusername> <origianl_password> <new_password>
q 或 quit 或 exit 退出用户管理命令行 无参数
cmd 或 help 或 输入不存在命令时 显示命令行帮助说明 无参数

权限控制管理

用户表 车联网数据库部门 车联网app/官网业务部门 第三方数据挖掘合作公司
car_track 可读可写,可修改表结构 可读可写,不可修改表结构 可读,不可写,不可修改表结构
car_info 可读可写,可修改表结构 可读可写,不可修改表结构 可读,不可写,不可修改表结构
user_info 可读可写,可修改表结构 可读可写,不可修改表结构 不可读不可写

上述我们使用的root管理员用户进行访问,它是hbase实例的superuser。接下来我们继续就着上述车联网创业公司的例子,分别给不同部门使用人员分配不同的权限:

用户表 车联网数据库部门 车联网app/官网业务部门 第三方数据挖掘合作公司
car_track 可读可写,可修改表结构 可读可写,不可修改表结构 可读,不可写,不可修改表结构
car_info 可读可写,可修改表结构 可读可写,不可修改表结构 可读,不可写,不可修改表结构
user_info 可读可写,可修改表结构 可读可写,不可修改表结构 不可读不可写

根据上述表格的权限控制需求,我们为数据部门创建datauser用户,为业务部门创建bizuser用户,为第三方合作公司创建partneruser用户。如图:

接下来执行hbase shell使用grant命令,分别对datauser/bizuser/partneruser 分配不同的权限。执行命令如图:

如上,我们就可以简单的从不部门基本权限控制他们的访问hbase动作了。HBase ACL最小支持列级别粒度的权限控制。但是为了方便维护,建议用户设计权限控制方案的时候,可以简洁一点。HBase 权限控制主要使用两个命令管理,grant和revoke命令,具体使用方法如下:

grant <user> <permissions> [<@namespace> [<table> [<column family> [<column qualifier>]]]For example:
    hbase> grant 'bobsmith', 'RWXCA'
    hbase> grant '@admins', 'RWXCA'
    hbase> grant 'bobsmith', 'RWXCA', '@ns1'
    hbase> grant 'bobsmith', 'RW', 't1', 'f1', 'col1'
    hbase> grant 'bobsmith', 'RW', 'ns1:t1', 'f1', ‘col1’   revoke <user> [<@namespace> [<table> [<column family> [<column qualifier>]]]]For example:
    hbase> revoke 'bobsmith'
    hbase> revoke '@admins'
    hbase> revoke 'bobsmith', '@ns1'
    hbase> revoke 'bobsmith', 't1', 'f1', 'col1'
    hbase> revoke 'bobsmith', 'ns1:t1', 'f1', 'col1'

最小支持列级别控制权限。

小结

当我们有多用户访问安全风险的时候,使用云HBase安全,推荐开启云HBase安全功能,对用户的访问进行身份认证和权限控制,有效的进行公司间或部门间的合作时,对HBase的访问控制管理。阿里云HBase安全支持:

  1. 非开启安全集群可以升级到开启安全集群

  2. 开启状态实例申请回滚到非开启状态

  3. 申请临时关闭身份认证

  4. 阿里云hbase间跨域访问,典型的如copytable,本地client跨域安全访问两集群等

  5. 用户管理

  6. 权限管理,HBase ACL最小支持列级别权限控制
    相关材料
    云HBase企业级安全解析直播分享历史视频:
    文章回顾:https://yq.aliyun.com/articles/411306
    PDF下载:https://yq.aliyun.com/download/2459

原文地址:阿里云HBase安全系列-初体验

更多技术交流,可关注微信交流群,微信公众号等:

或参考文章: HBase中文社区官网、交流群

1. 微信群

扫描添加小编微信好友(或搜索微信号: Mr_wanyue 添加),回复: HBase 加群

2. 钉钉群:

扫一扫添加

3. 微信公众号:
扫描关注

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,128评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,316评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,737评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,283评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,384评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,458评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,467评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,251评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,688评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,980评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,155评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,818评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,492评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,142评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,382评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,020评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,044评论 2 352