目的测试Kerboros下hbase的权限
A 没在kerberos 添加princple前
B kerberos 添加princple后
(没有权限)
Hbase 是有5个权限 r(read) w(write) x(excute)c(create) a (admin)
首先hbase(用户) 拥有最高权限。
步骤如下:
- find / -name "hbase*keytab"
- 需要先登录kinit hbase 那个keytab,
- 登录hbase shell, 输入user_permission
- 此时输出显示 当前访问hbase的用户为hbase.
- 然后赋权给其他用户(下图)
授权给zhang@DEV.COM ‘create’ 的权限 ,
再使用zhang的身份登录,测试zhang用户现在是否有 权限。
如下图。 (创建成功)
Create 权限可以 create 表,put 插入get 查询, scan 全表扫描,describe 表
不可 查询自己的权限(获取可以为理解成只有admin可以) user_permission
如下操作:
hbase(main):008:0* put 'stu','001','info:name','xin'
Took 0.1490 seconds
hbase(main):017:0> put 'stu','001','info:sex','m'
Took 0.0057 seconds
hbase(main):016:0* get 'stu', '001'
COLUMN CELL
info:name timestamp=1616396406526, value=xin
hbase(main):016:0* get 'stu', '001'
COLUMN CELL
info:name timestamp=1616396406526, value=xin
关于授权Grant/revoke
这里的Scope(范围)包含以下几种,
superuser 超级用户,一般为hbase用户,有所有的权限
global 全局权限,针对所有的HBase表都有权限
namespace namespace下面的所有表权限都有权限
table 表级别权限
columnFamily 列族级别权限
cell 单元格级别权限
如上截图中 简单的grant 默认为全局 global