HBase之权限控制

HBase支持做权限访问控制,HBase的权限访问包括以下5种权限,

  • Read(R) 允许对某个scope有读取权限
  • Write(W) 允许对某个scope有写入权限
  • Execute(X) 允许对某个scope有执行权限
  • Create(C) 允许对某个scope有建表、删表权限
  • Admin(A) 允许对某个scope做管理操作,如balance、split、snapshot等

这里的Scope包含以下几种,

  • superuser 超级用户,一般为hbase用户,有所有的权限
  • global 全局权限,针对所有的HBase表都有权限
  • namespace namespace下面的所有表权限都有权限
  • table 表级别权限
  • columnFamily 列族级别权限
  • cell 单元格级别权限

HBase的访问控制相关命令主要包括grant/revoke/user_permission,其中grant表示授权,revoke表示回收权限,user_permission用于查询权限。

hbase> grant <user> <permissions> [ @<namespace> [ <table>[ <column family>[ <column qualifier> ] ] ] ]   # grants permissions

hbase> revoke <user> <permissions> [ @<namespace> [ <table> [ <column family> [ <column qualifier> ] ] ]  # revokes permissions

hbase> user_permission <table> 

下面是几个基本的例子,

--1 给trafodion用户授权全局的CA
grant 'trafodion','CA'

--2 回收trafodion用户全局的CA
revoke 'trafodion','CA'

--3 给trafodion用户namespace权限
grant 'trafodion','RWXCA','@TRAF_1500000'

--4 给trafodion用户table权限
grant 'trafodion','RWXCA','TABLE_A'

--5 查看所有用户权限
user_permission

--6 查看某个表的权限
user_permission 'TABLE_A'

--7 查看某个namespace的权限
user_permission '@TRAF_1500000'

猜你喜欢

转载自blog.csdn.net/post_yuan/article/details/80678099