1、Hbase权限控制简介
Hbase的权限控制是通过AccessController Coprocessor协处理器框架实现的,可实现对用户的RWXCA的权限控制。
2、配置
配置hbase-site.xml
CM主页→点击hbase(进入Hbase主页)→点击配置
2.1、点击左侧的Hbase服务范围启用Hbase权限控制,设置Hbase超级用户hbase.superuser
2.2、点击左侧的master在 hbase.coprocessor.master.classes里追加如下内容
org.apache.hadoop.hbase.security.access.AccessController
2.3、点击左侧的regionserver在hbase.coprocessor.region.classes里追加如下内容
org.apache.hadoop.hbase.security.token.TokenProvider,org.apache.hadoop.hbase.security.access.AccessController
配置文件附录:
<property>
<name>hbase.security.authorization</name>
<value>true</value>
</property>
<property>
<name>hbase.coprocessor.master.classes</name>
<value>org.apache.hadoop.hbase.security.access.AccessController</value>
</property>
<property>
<name>hbase.coprocessor.region.classes</name>
<value>org.apache.hadoop.hbase.security.token.TokenProvider,org.apache.hadoop.hbase.security.access.AccessController</value>
</property>
<property>
<name>hbase.superuser</name> <value>hbase,root,administrator</value> </property>3、使用
3.1、hbase权限验证
3.1.1、管理员用户Hbase下对Hbase进行赋权
grant 'wcj','r'
grant 'wcj' ,w'
#授予用户shenl读、写表wcj的权限
grant 'shenl', 'RW', 'wcj'
#授予用户shenl对表wcj的列族f1的age只读权限
grant 'shenl', 'R', 'wcj', 'f1', 'age'
3.1.2、管理员用户Hbase下收回Hbase表的访问权限权限
revoke ‘R’ ‘wcj’
revoke ‘W’ ‘wcj’
3.1.3、管理员下hbase权限
user_permission ‘wcj’
3.2、hbase权限介绍
3.2.1、hbase权限与常用命令对照表
3.2.2、hbase权限命令
#grants permissions
grant <user> <permissions>[<table>[ <column family>[ <column qualifier> ] ] ]
# revokes permissions
revoke <user> <permissions> [<table> [ <column family> [ <column qualifier> ] ] ]
user_permission <table> # displaysexisting permissions
3.2.3、真实访问场景
交流
如果大家对HBase有兴趣,致力于使用HBase解决实际的问题,欢迎加入Hbase技术社区群交流:
微信HBase技术社区群,假如微信群加不了,可以加秘书微信: SH_425 ,然后邀请您。
钉钉HBase技术社区群