1. 启用HBase安全服务
1.1. 主页-->HBase-->配置-->搜索hbase.superuser
添加root,hbase,admin用户
1.2. 主页-->HBase-->配置-->Master-->HBase Coprocessor类
添加org.apache.hadoop.hbase.security.access.AccessController
1.3. 主页-->HBase-->配置-->RegionServer-->HBase Coprocessor Region类
添加org.apache.hadoop.hbase.security.token.TokenProvider
和org.apache.hadoop.hbase.security.access.AccessController
2. HBase权限介绍
2.1. 五个权限标识符--RWXCA
R-读,包括get、scan
W-写,包括put,delete
X-执行,暂未定义
C-创建,创建、修改、删除表操作
A-管理,授予或收回权限,启用或关闭库或表
2.2. 权限管理范围
Superuser-只能通过hbase.superuser设置
Global-可以作用在集群中的所有表
NameSpace-命名空间级
Table-表级。
ColumnFamily -列簇级权限。
Cell -单元级。
3. HBase权限分配
3.1. 授予权限
Global: grant '@admins', 'RWXCA' #@表示用户组 全局级 Namespace: grant 'service', 'RWXCA', '@test-NS' #后面的@表示命名空间 命名空间级 Table:grant 'service', 'RWXCA', 'user' #表级 Column Family: grant '@developers', 'RW', 'user', 'i' #列簇级 Column Qualifier: grant 'service, 'RW', 'user', 'i', 'foo # |
3.2. 撤回权限
revoke '$用户名' , '$表名' #表级 |
4. HBase实际场景分配
职位 | 权限范围 | 权限 | 描述 |
高级管理员 | Global | Access, Create | 通过配置文件设置的最高管理员,DBA拥有 |
中级管理员 | Global | Create | 建表,给表管理员分配权限 |
表管理员 | Table | Access | 维护表和视图 |
数据分析 | Table | Read | 读数据生成报表 |
Web应用 | Table | Read, Write | 数据的来源和读取 |