hbase許可權管理

2021-07-23 14:02:30 字數 2002 閱讀 8509

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....