hbase 級別的權限控制

這個問題出自在作Phoenix的時候,報了以下錯誤,問了同事,提到了這個hbase.security.authorization=true,隨後對這個參數進行了解的時候,查到了下面的文章。
clipboard.pngshell

HBase的權限管理依賴協協處理器。因此咱們須要配置hbase.security.authorization=true,以及hbase.coprocessor.master.classes和hbase.coprocessor.master.classes使其包含org.apache.hadoop.hbase.security. access.AccessController來提供安全管控能力。因此須要設置下面參數:數據庫

<property>
      <name>hbase.superuser</name>
      <value>hbase</value>
</property>
<property>
    <name>hbase.coprocessor.region.classes</name>    
<value>org.apache.hadoop.hbase.security.access.AccessController</value>  </property>
  <property>
    <name>hbase.coprocessor.master.classes</name>
    <value>org.apache.hadoop.hbase.security.access.AccessController</value>
  </property>
  <property>
    <name>hbase.rpc.engine</name>
    <value>org.apache.hadoop.hbase.ipc.SecureRpcEngine</value>
  </property>
<property>
      <name>hbase.security.authorization</name>
      <value>true</value>
  </property>

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來查找:apache

sudo -u hive hbase shell
> scan 'member'
ERROR: org.apache.hadoop.hbase.security.AccessDeniedException: Insufficient permissions (table=member, action=READ)

在HBase中賦值權限:安全

> grant 'hive', 'RW', 'member'
0 row(s) in 0.4660 seconds

而後經過user_permission來查看權限oop

> user_permission
User    Table,Family,Qualifier:Permission 
Hive   member,,: [Permission: actions=READ,WRITE]

再在hive中進行查詢,此時hive用戶已經能夠訪問。spa

> scan 'member'
ROW    COLUMN+CELL
Elvis    column=address:city, timestamp=1425891057211, value=Beijing
……

收回權限revoke的語法格式code

revoke user table column family column qualifier

收回hive用戶在表member上的權限blog

> revoke 'hive','member'
0 row(s) in 0.1860 seconds

參考文章:
http://blackproof.iteye.com/b...ip

相關文章
相關標籤/搜索