hbase的許可權管理依賴協協處理器。所以我們需要配置hbase.security.authorization=true,以及hbase.coprocessor.master.classes和hbase.coprocessor.master.classes使其包含org.apache.hadoop.hbase.security. access.accesscontroller來提供安全管控能力。所以需要設定下面引數:
hbase.superuser
hbase
hbase.coprocessor.region.classes
org.apache.hadoop.hbase.security.access.accesscontroller
hbase.coprocessor.master.classes
org.apache.hadoop.hbase.security.access.accesscontroller
hbase.rpc.engine
org.apache.hadoop.hbase.ipc.securerpcengine
hbase.security.authorization
true
複製**
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來查詢:
# 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來檢視許可權
> user_permission
user table,family,qualifier:permission
hive member,,: [permission: actions=read,write]
複製**
再在hive中進行查詢,此時hive使用者已經可以訪問。
> scan 'member'
row column+cell
elvis column=address:city, timestamp=1425891057211, value=beijing……
複製**
收回許可權revoke的語法格式
revoke user table column family column qualifier
複製**
收回hive使用者在表member上的許可權
> revoke 'hive','member'
0 row(s) in 0.1860 seconds
複製**
HBase許可權管理命令
我們可以授予和撤銷hbase使用者的許可權。也有出於安全目的,三個命令 grant,revoke 和 user permission.grant命令授予特定的許可權,如讀,寫,執行和管理表給定乙個特定的使用者。grant命令的語法如下 hbase grant 我們可以從rwxca組,其中給予零個或多...
Hbase均衡Region和許可權管理
查詢namespace為amrcloud中名為powerdata的表的資料 scan amrcloud powerdata 查詢某一條資料 get t1 r1 t1為表名,r1為rowkey,c1為column family 列出所有表 list 列出所有namespace list namespa...
hbase許可權控制
hbase的許可權管理依賴協協處理器。所以我們需要配置以下引數 hbase.superuser hbase hbase.coprocessor.region.classes org.apache.hadoop.hbase.security.access.accesscontroller hbase....