1、Hbase權限控制簡介
Hbase的權限控制是通過AccessController Coprocessor協處理器框架實現的,可實現對用戶的RWXCA的權限控制。
2、配置
配置hbase-site.xml
CM主頁→點擊hbase(進入Hbase主頁)→點擊配置
2.1、點擊左側的Hbase服務范圍啟用Hbase權限控制,設置Hbase超級用戶hbase.superuser
2.2、點擊左側的master在 hbase.coprocessor.master.classes里追加如下內容
org.apache.hadoop.hbase.security.access.AccessController
2.3、點擊左側的regionserver在hbase.coprocessor.region.classes里追加如下內容
org.apache.hadoop.hbase.security.token.TokenProvider,org.apache.hadoop.hbase.security.access.AccessController
配置文件附錄:
<property>
<name>hbase.security.authorization</name>
<value>true</value>
</property>
<property>
<name>hbase.coprocessor.master.classes</name>
<value>org.apache.hadoop.hbase.security.access.AccessController</value>
</property>
<property>
<name>hbase.coprocessor.region.classes</name>
<value>org.apache.hadoop.hbase.security.token.TokenProvider,org.apache.hadoop.hbase.security.access.AccessController</value>
</property>
<property>
<name>hbase.superuser</name>
<value>hbase,root,administrator</value>
</property>
3、使用
3.1、hbase權限驗證
3.1.1、管理員用戶Hbase下對Hbase進行賦權
grant 'wcj','r'
grant 'wcj' ,w'
#授予用戶shenl讀、寫表wcj的權限
grant 'shenl', 'RW', 'wcj'
#授予用戶shenl對表wcj的列族f1的age只讀權限
grant 'shenl', 'R', 'wcj', 'f1', 'age'
3.1.2、管理員用戶Hbase下收回Hbase表的訪問權限權限
revoke ‘R’ ‘wcj’
revoke ‘W’ ‘wcj’
3.1.3、管理員下hbase權限
user_permission ‘wcj’
3.2、hbase權限介紹
3.2.1、hbase權限與常用命令對照表
3.2.2、hbase權限命令
#grants permissions
grant <user> <permissions>[<table>[ <column family>[ <column qualifier> ] ] ]
# revokes permissions
revoke <user> <permissions> [<table> [ <column family> [ <column qualifier> ] ] ]
user_permission <table> # displaysexisting permissions
3.2.3、真實訪問場景
交流
如果大家對HBase有興趣,致力於使用HBase解決實際的問題,歡迎加入Hbase技術社區群交流:
微信HBase技術社區群,假如微信群加不了,可以加秘書微信: SH_425 ,然后邀請您。
釘釘HBase技術社區群