溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在Hue中使用Sentry

發布時間:2021-08-30 21:46:39 來源:億速云 閱讀:213 作者:chen 欄目:大數據

這篇文章主要講解了“如何在Hue中使用Sentry”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“如何在Hue中使用Sentry”吧!


1.文檔編寫目的


本文檔講述如何通過Hue管理Sentry權限,您將學習到以下知識:

1.如何使用Hue創建用戶

2.如何使用Hue為hive用戶組授權超級權限

3.如何使用Hue驗證授權

文檔主要分為以下幾步:

1.使用Hue創建測試用戶

2.授權hive組為管理員

3.創建角色并授權驗證

4.備注

這篇文檔將重點介紹如何使用Hue管理Sentry權限,并基于以下假設:

1.CDH集群運行正常

2.集群已啟用Kerberos

3.集群已安裝Sentry服務,已和HDFS/Hive/Impala/Hue服務集成

以下是本次測試環境,但不是本操作手冊的硬限制:

1.操作系統:CentOS 6.5

2.CDH和CM版本為5.12.1

3.采用root用戶進行操作

4.Hue的管理員賬號為admin

2.在Hue上創建用戶


通過Hue管理員分別創建用戶hive/fayson_d/fayson_a/fayson_c/fayson_h,hive用戶所屬組為hive組,其它用戶所屬組也與用戶名稱一樣。

注意:確保以上用戶在集群所有節點均存在。

如何在Hue中使用Sentry

1.使用admin用戶登錄Hue

如何在Hue中使用Sentry

2.進入用戶管理,創建hive的組

如何在Hue中使用Sentry

如何在Hue中使用Sentry

點擊“Add group”保存新建的組

如何在Hue中使用Sentry

3.創建hive用戶(以創建hive用戶為例)

如何在Hue中使用Sentry

如何在Hue中使用Sentry

如何在Hue中使用Sentry

如何在Hue中使用Sentry

如何在Hue中使用Sentry

3.授權hive組為管理員


1.使用hive用戶登錄Hue

如何在Hue中使用Sentry

2.點擊Hue左上角菜單,進入Security界面

如何在Hue中使用Sentry

如何在Hue中使用Sentry

如何在Hue中使用Sentry

3.創建管理員角色admin,并授權給hive組

如何在Hue中使用Sentry

點擊上圖右邊“Click here to add some”

如何在Hue中使用Sentry

點擊保存,顯示server1所擁有的角色

如何在Hue中使用Sentry

點擊刷新按鈕,查看是否有權限

如何在Hue中使用Sentry

hive用戶可以查看到server1下所有的數據庫和表

如何在Hue中使用Sentry

4.創建角色并授權驗證

4.1庫級別授權


使用hive用戶創建一個對default庫有只讀(SELECT)權限的角色dread,并授權給fayson_d用戶組,所屬該用戶組的用戶對default庫下所有表只有SECLET權限沒有INSERT權限。

如何在Hue中使用Sentry

添加角色并授權

如何在Hue中使用Sentry

點擊保存并查看

如何在Hue中使用Sentry

4.2庫授權驗證


使用fayson_d用戶登錄Hue,可以看到default下所有表

  • Hive驗證

如何在Hue中使用Sentry

對test表進行select、count和insert操作

如何在Hue中使用Sentry

如何在Hue中使用Sentry

只讀權限所以INSERT操作失敗

如何在Hue中使用Sentry

對test_hive_delimiter表進行select、count和insert操作

如何在Hue中使用Sentry

如何在Hue中使用Sentry

如何在Hue中使用Sentry

  • Impala驗證

如何在Hue中使用Sentry

對test表進行select、count和insert操作

如何在Hue中使用Sentry

如何在Hue中使用Sentry

如何在Hue中使用Sentry

對test_hive_delimiter表進行select、count和insert操作

如何在Hue中使用Sentry

如何在Hue中使用Sentry

如何在Hue中使用Sentry

  • File Browser驗證

無權限訪問/warehouse目錄下的fayson庫的數據目錄

如何在Hue中使用Sentry

test表為內部表,數據目錄為/user/hive/warehouse/test

如何在Hue中使用Sentry

可以查看test表的數據文件

如何在Hue中使用Sentry

test_hive_delimiter表為外部表,數據目錄為/fayson/test_hive_delimiter

如何在Hue中使用Sentry

可以查看/fayson/test_hive_delimiter目錄下的數據文件

如何在Hue中使用Sentry

無權限編輯數據文件

如何在Hue中使用Sentry

結論:fayson_d用戶可以使用Hive/Impala查看所有default庫下的表,但是沒有insert權限,插入表失敗。對應到HDFS目錄,可以查看所有目錄文件夾,并查看文件內容,但是無法修改文件內容。說明Sentry實現了HDFS ACL的同步。

4.3表級別授權


使用hive用戶創建一個對default庫下test表有所有(ALL)操作權限的角色testall,并授權給fayson_a用戶組,所屬該用戶組下的所有用戶能對default.test表SELECT、INSERT。

如何在Hue中使用Sentry

創建角色并授權

如何在Hue中使用Sentry

點擊保存并查看

如何在Hue中使用Sentry

4.4表授權驗證


使用fayson_a登錄Hue,可以看到default庫下的test表

  • Hive驗證

如何在Hue中使用Sentry

可以對test表進行select、count和insert操作

如何在Hue中使用Sentry

如何在Hue中使用Sentry

如何在Hue中使用Sentry

  • Impala驗證

如何在Hue中使用Sentry

可以對test表進行select、count和insert操作

如何在Hue中使用Sentry

如何在Hue中使用Sentry

如何在Hue中使用Sentry

  • File Browser驗證

可以瀏覽/user/hive/warehouse目錄

如何在Hue中使用Sentry

可以查看/user/hive/warehouse/test目錄下的數據文件

如何在Hue中使用Sentry

可以向/user/hive/warehouse/test目錄下上傳數據文件

如何在Hue中使用Sentry

可以刪除數據文件

如何在Hue中使用Sentry

結論:fayson_a用戶可以使用Hive/Impala查看所有default庫下的表,并能執行insert操作。對應到HDFS目錄,可以查看所有目錄文件夾,并查看文件內容,同時還能上傳新的文件。說明Sentry實現了HDFS ACL的同步。

4.5列級別授權


使用hive用戶創建一個對test表的s1列有只讀(SELECT)權限的角色testcolumn,并授權給fayson_c用戶。所屬該用戶組下的所有用戶對test表的s1列只有SELECT權限。

如何在Hue中使用Sentry

添加角色并授權

如何在Hue中使用Sentry

點擊保存并查看

如何在Hue中使用Sentry

4.6列授權驗證


使用fayson_c登錄Hue,可以看到default庫下的test表

  • Hive驗證

如何在Hue中使用Sentry

對test表進行select、count和insert操作

如何在Hue中使用Sentry

由于只有s1列的SELECT權限,所以不能查看所有列(*)

如何在Hue中使用Sentry

只可以查看有權限的列

如何在Hue中使用Sentry

只能count那一列

如何在Hue中使用Sentry

無法插入新的數據

  • Impala驗證

如何在Hue中使用Sentry

對test表進行select、count和insert操作

如何在Hue中使用Sentry

由于只有s1列的SELECT權限,所以不能查看所有列(*)

如何在Hue中使用Sentry

只可以查看有權限的列

如何在Hue中使用Sentry

只能count那一列

如何在Hue中使用Sentry

無法插入新的數據

  • File Browser驗證

無權限訪問/user/hive/warehouse/test目錄

如何在Hue中使用Sentry

結論:fayson_c用戶使用Hive/Impala只能查看test表的s1列,無法對整表select *,無法執行insert操作。對應到HDFS目錄,不能查看相應目錄文件夾/文件,同時無法上傳新的文件。說明Sentry實現了HDFS ACL的同步。

4.7HDFS URI授權


使用hive用戶創建一個角色,并授權給fayson_h用戶組

  • 授權hdfsall角色對fayson庫有所有權限

  • 授權hdfsall角色對HDFS目錄/fayson_data/test_hive有所有(ALL)權限

所屬該用戶組下的所有用戶均對fayson庫有所有操作權限,對/fayson_data /test_hive目錄有所有權限,在fayson庫下創建外部表只能指向/fayson_data /test_hive目錄

如何在Hue中使用Sentry

創建角色并授權

如何在Hue中使用Sentry

如何在Hue中使用Sentry

點擊保存,查看創建的角色

如何在Hue中使用Sentry

4.7HDFS URI授權驗證


  • 授權驗證

使用fayson_h用戶登錄Hue,可以看到fayson庫

如何在Hue中使用Sentry

在fayson庫下創建外部表,執行如下建表語句

create external table test_hive
(
  id int,
  name string,
  address string
)
row format delimited fields terminated by ','
stored as textfile location '/fayson_data/test_hive';

表創建成功

如何在Hue中使用Sentry

刪除test_hive表

如何在Hue中使用Sentry

向test_hive表插入數據

如何在Hue中使用Sentry

使用hive用戶將hdfs的授權權限刪除,再次測試

如何在Hue中使用Sentry

如何在Hue中使用Sentry

使用fayson_h用戶在fayson庫下再次創建表,表創建失敗。

如何在Hue中使用Sentry

  • File Browser驗證

訪問fayson庫數據目錄/user/hive/warehouse/fayson.db

如何在Hue中使用Sentry

訪問外部表數據目錄/fayson_data/test_hive

如何在Hue中使用Sentry

不能向外部表數據目錄上傳數據文件

如何在Hue中使用Sentry

無權限刪除外部表數據目錄下文件

如何在Hue中使用Sentry

訪問內部表數據目錄/user/hive/warehouse/fayson.db/test

如何在Hue中使用Sentry

可以向/user/hive/warehouse/fayson.db/test數據目錄上傳數據

如何在Hue中使用Sentry

可以刪除/user/hive/warehouse/fayson.db/test目錄下的數據文件

如何在Hue中使用Sentry

如何在Hue中使用Sentry

測試總結:

fayson_h用戶對fayson庫有所有權限,在create table test_hive的時候,如果不指定location,默認的數據目錄為/user/hive/warehouse/fayson.db/test_hive。如果創建外部表如create external table test_hivexxx location /fayson_data/test_hive的時候,若不授權/fayson_data/test_hive目錄的ALL權限給fayson_h,fayson_h是不能創建表的。

注:對于上述測試不能向外部表插入數據。

5.備注


  • 以上操作都是使用Hue界面操作,由于集群開啟Kerberos,要使用命令行操作需要為上述用戶創建Kerberos賬號,否則不能在命令行正常使用。

  • Sentry的URI授權,主要是用于非hive用戶創建外部表時對HDFS數據目錄授權。Sentry授權的URI可以指向外部表的數據目錄,也可以指向外部表數據目錄的父目錄,指向父目錄則父目錄下的所有子目錄都可以為外部表的數據目錄。

感謝各位的閱讀,以上就是“如何在Hue中使用Sentry”的內容了,經過本文的學習后,相信大家對如何在Hue中使用Sentry這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女