日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

HBase ACL管理 Hbase 权限管理

發布時間:2024/8/23 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HBase ACL管理 Hbase 权限管理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

場景:hadoop集群已經進行kerberos認證

  • 啟動Hbase相關配置

  • ?Hbase權限分為以下五種:

Read(R) : 可以讀取給定范圍內數據的權限

Write(W) : 可以在給定范圍內寫數據

Executor(X) : 可以在指定表執行Endpoints類型的協處理

Create(C) : 可以在給定范圍內創建和刪除表(包括非該用戶創建的表)

Admin(A) : 可以執行集群操作,如平衡數據等

?

以上5個控制級別都需要為其指定范圍,范圍定義如下:

Superuser : 超級用戶可以執行HBase中所有操作及任何資源(如:hbase用戶)

Global: 在全局范圍內授予的權限,可以在超級管理下創建多種集群管理員

Namespace: 在命名空間范圍內授權,適用于命名空間內所有表

Table: 表范圍授權,適用于為指定表進行授權

ColumnFamily: ColumnFamily范圍內授權

Cell: 為指定的單元格進行授權

grant

grant <user>, <permissions> [, <@namespace> [, <table> [, <column family> [, <column qualifier>]]]

  • 對指定用戶授權?

使用kerberos 授權的hdfs用戶執行創建表,對HDFS文件系統hdfs有最高的權限,但是在hbase shell中創建表也是沒有權限(前提是啟動kerberos,未啟動的集群可以隨便搞~)

hbase(main):001:0> create 'test','fn'ERROR: org.apache.hadoop.hbase.security.AccessDeniedException: Insufficient permissions (user=hdfs@JAST.COM, scope=default, params=[namespace=default,table=default:test,family=fn],action=CREATE)

使用kerberos 授權的hbase用戶有最高權限,我們使用hbase,授權給hdfs相關權限

kinit -kt hbase.keytab hbase@JAST.COM # 切換hbase

給hdfs用戶授權 Create(C) 、Admin(A) 權限?

hbase(main):004:0> grant 'hdfs','CA' 0 row(s) in 0.2240 secondshbase(main):005:0> user_permission User Namespace,Table,Family,Qualifier:Permission hdfs hbase,hbase:acl,,: [Permission: actions=CREATE,ADMIN]

測試創建表 ,成功

hbase(main):005:0> create 'test2','ss' 0 row(s) in 1.2710 seconds

測試查詢數據,發現只能查詢、添加使用hdfs創建的表,其他表提示無權限(寫入也無權限這里不做測試了)

hbase(main):003:0> scan 'test',{LIMIT=>1} ROW COLUMN+CELL ERROR: org.apache.hadoop.hbase.security.AccessDeniedException: Insufficient permissions for user 'hdfs' (table=test, action=READ)

也就是說授予CA權限的用戶可以對自己新建的表進行讀、寫、刪除等操作,但不能操作非admin用戶創建的表。如果admin用戶擁有RCA的權限則可以讀非admin用戶創建的表進行操作(如:讀、寫、刪除操作)

注意:這里給用戶設置了A的權限,他同時也可以修改其他用戶的相關權限,所以admin謹慎設置,超級用戶與hbase用戶不受ACL權限控制,即便設置了也不生效

查看權限發現的確與測試結果相同

hbase(main):012:0> user_permission '.*' User Namespace,Table,Family,Qualifier:Permission hdfs hbase,hbase:acl,,: [Permission: actions=CREATE,ADMIN] hbase default,test,,: [Permission: actions=READ,WRITE,EXEC,CREATE,ADMIN] hdfs default,test2,,: [Permission: actions=READ,WRITE,EXEC,CREATE,ADMIN] 3 row(s) in 0.7510 seconds

?重新授權,可以查看所有表數據~

hbase(main):004:0> grant 'hdfs','CAR' 0 row(s) in 0.0700 secondshbase(main):005:0> user_permission User Namespace,Table,Family,Qualifier:Permission hdfs hbase,hbase:acl,,: [Permission: actions=CREATE,ADMIN,READ] 1 row(s) in 0.0320 seconds#授權后查看數據,成功 hbase(main):005:0> scan 'test',{LIMIT=>1} ROW COLUMN+CELL 0000300_04bedaa8de0a226b3a7f48f12c5504a8 column=fn:article_type, timestamp=1562936918988, value=2 0000300_04bedaa8de0a226b3a7f48f12c5504a8 column=fn:crawler_site_id, timestamp=1562936918988, value=300 0000300_04bedaa8de0a226b3a7f48f12c5504a8 column=fn:crawler_time, timestamp=1562936918988, value=2019-07-09 20:17:51.473 0000300_04bedaa8de0a226b3a7f48f12c5504a8 column=fn:created_at, timestamp=1562936918988, value=2019-07-09 07:00:00.000 0000300_04bedaa8de0a226b3a7f48f12c5504a8 column=fn:created_date, timestamp=1562936918988, value=20190709 0000300_04bedaa8de0a226b3a7f48f12c5504a8 column=fn:download_type, timestamp=1562936918988, value=297 0000300_04bedaa8de0a226b3a7f48f12c5504a8 column=fn:emotion, timestamp=1562936918988, value=\xE4\xB8\xAD\xE6\x80\xA7 0000300_04bedaa8de0a226b3a7f48f12c5504a8 column=fn:grade_all, timestamp=1562936918988, value=2 0000300_04bedaa8de0a226b3a7f48f12c5504a8 column=fn:media_type, timestamp=1562936918988, value=["002-001","001-002"]
  • ?賦予某個用戶命名空間權限
#給hdfs用戶賦予命名空間default讀R權限 grant 'hdfs','R','@default' #hdfs用戶移除命名空間default的權限 revoke 'hdfs','@default'
  • ?賦予某個用戶某個表的權限
#給hdfs 賦予表TEST_TABLE_NAME 讀權限 grant 'hdfs','R','TEST_TABLE_NAME'
  • ?賦予某個用戶某個列的權限
#賦予權限 grant 'hdfs','R','TEST_TABLE_NAME','fn','text' #查看 hbase(main):019:0> user_permission 'TEST_TABLE_NAME' User Namespace,Table,Family,Qualifier:Permission hdfs TEST_TABLE_NAME,fn,text: [Permission: actions=READ] #刪除 revoke 'hdfs','TEST_TABLE_NAME','fn','text'

?

?

?

總結

以上是生活随笔為你收集整理的HBase ACL管理 Hbase 权限管理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。