1.HBase的权限管理需要配置哪些配置文件?
2.HBase提供的安全管控级别包括哪些?
3.使用哪个命令可实现在HBase中赋值权限?
4.如何收回权限?
HBase的权限管理依赖协协处理器。所以我们需要配置hbase.security.authorization=true,以及hbase.coprocessor.master.classes和hbase.coprocessor.master.classes使其包含org.apache.hadoop.hbase.security. access.AccessController来提供安全管控能力。所以需要设置下面参数:
HBase提供的五个权限标识符:RWXCA,分别对应着READ('R'), WRITE('W'), EXEC('X'), CREATE('C'), ADMIN('A')
HBase提供的安全管控级别包括:
Superuser:拥有所有权限的超级管理员用户。通过hbase.superuser参数配置
Global:全局权限可以作用在集群所有的表上。
Namespace :命名空间级。
Table:表级。
ColumnFamily:列簇级权限。
Cell:单元级。
和关系数据库一样,权限的授予和回收都使用grant和revoke,但格式有所不同。grant语法格式:
grant user permissions table column_family column_qualifier
例如,给用户hive分配对表member有读写的权限, 在启用了hbase.security.authorization之后,默认每个用户只能访问当前的表。而之前创建的member表的属主是HBase,其他用户对其没有访问权限。此时我们通过hive来查找:
在HBase中赋值权限:
然后通过user_permission来查看权限
再在hive中进行查询,此时hive用户已经可以访问。
收回权限revoke的语法格式
收回hive用户在表member上的权限
2.HBase提供的安全管控级别包括哪些?
3.使用哪个命令可实现在HBase中赋值权限?
4.如何收回权限?
HBase的权限管理依赖协协处理器。所以我们需要配置hbase.security.authorization=true,以及hbase.coprocessor.master.classes和hbase.coprocessor.master.classes使其包含org.apache.hadoop.hbase.security. access.AccessController来提供安全管控能力。所以需要设置下面参数:
HBase提供的五个权限标识符:RWXCA,分别对应着READ('R'), WRITE('W'), EXEC('X'), CREATE('C'), ADMIN('A')
HBase提供的安全管控级别包括:
Superuser:拥有所有权限的超级管理员用户。通过hbase.superuser参数配置
Global:全局权限可以作用在集群所有的表上。
Namespace :命名空间级。
Table:表级。
ColumnFamily:列簇级权限。
Cell:单元级。
和关系数据库一样,权限的授予和回收都使用grant和revoke,但格式有所不同。grant语法格式:
grant user permissions table column_family column_qualifier
例如,给用户hive分配对表member有读写的权限, 在启用了hbase.security.authorization之后,默认每个用户只能访问当前的表。而之前创建的member表的属主是HBase,其他用户对其没有访问权限。此时我们通过hive来查找:
在HBase中赋值权限:
然后通过user_permission来查看权限
再在hive中进行查询,此时hive用户已经可以访问。
收回权限revoke的语法格式
收回hive用户在表member上的权限