45.1 演示環(huán)境
- CDH5.11.2和CDH5.13兩個集群運(yùn)行正常
- 兩個集群Kudu已經(jīng)安裝遣鼓,且已集成Impala捷犹,操作正常
- 兩個集群都已啟用Sentry并且配置正確
- CDH5.11.2和CDH5.13集群
- 用root用戶操作
- 集群未啟用Kerberos
- 該項不影響整個測試效果腰池,F(xiàn)ayson只是為了操作方便名眉。
45.2 操作演示
CDH5.11.2測試Kudu1.3的Sentry授權(quán)
- 創(chuàng)建admin管理員role,給該role賦予所有權(quán)限污尉,并將hive組加入到該role膀哲。
- 首先在default下創(chuàng)建一張Kudu表my_first_table,并測試功能正常十厢。
CREATE TABLE my_first_table
(
id BIGINT,
name STRING,
PRIMARY KEY(id)
)
PARTITION BY HASH PARTITIONS 16
STORED AS KUDU;
INSERT INTO my_first_table VALUES (99, "sarah");
INSERT INTO my_first_table VALUES (1, "john"), (2, "jane"), (3, "jim");
select * from my_first_table;
delete from my_first_table where id =99;
select * from my_first_table;
- 使用fayson用戶登錄Impala沒有任何權(quán)限等太。
- 使用hive用戶登錄Impala,創(chuàng)建fayson_role的角色蛮放,賦予該角色my_first_table的ALL權(quán)限,并將fayson組加入到該角色奠宜。
create role fayson_role;
grant role fayson_role to group fayson;
grant all on table my_first_table to role fayson_role;
- 再次使用fayson用戶登錄Impala包颁,并查詢。
- 要賦權(quán)成功压真,fayson用戶可以查詢該表娩嚼。
sudo -u fayson impala-shell -i 172.31.28.12
select * from my_first_table;
- 使用hive用戶登錄Impala,先drop掉fayson_role的角色滴肿,然后再次創(chuàng)建岳悟。然后分別賦予my_first_table表的INSERT權(quán)限,以及my_first_table表的列id的SELECT權(quán)限進(jìn)行測試
drop role fayson_role;
create role fayson_role;
grant role fayson_role to group fayson;
grant insert on table my_first_table to role fayson_role;
grant select(id) on table my_first_table to role fayson_role;
-
賦權(quán)失敗泼差,提示Kudu表只支持ALL權(quán)限贵少。
CDH5.13測試Kudu1.5的Sentry授權(quán)
- 登錄到CDH5.13集群,確定版本堆缘。
- 創(chuàng)建admin管理員role滔灶,給該role賦予所有權(quán)限,并將hive組加入到該role吼肥。首先在default下創(chuàng)建一張Kudu表my_first_table录平,并測試功能正常。
- 該兩個步驟與【CDH5.11.2測試Kudu1.3的Sentry授權(quán)】相似缀皱,F(xiàn)ayson不再贅述斗这。
- 使用fayson用戶登錄Impala沒有任何權(quán)限
- 使用hive用戶登錄Impala,創(chuàng)建fayson_role的角色啤斗,賦予該角色my_first_table的ALL權(quán)限表箭,并將fayson組加入到該角色。
create role fayson_role;
grant role fayson_role to group fayson;
grant all on table my_first_table to role fayson_role;
- 再次使用fayson用戶登錄Impala争占,并查詢燃逻。
- 要賦權(quán)成功序目,fayson用戶可以查詢該表。
sudo -u fayson impala-shell -i 172.31.28.12
select * from my_first_table;
- 使用hive用戶登錄Impala伯襟,先drop掉fayson_role的角色猿涨,然后再次創(chuàng)建。然后賦予my_first_table表的SELECT權(quán)限姆怪。
drop role fayson_role;
create role fayson_role;
grant role fayson_role to group fayson;
grant select on table my_first_table to role fayson_role;
- 使用fayson用戶進(jìn)行測試
- fayson用戶可以執(zhí)行select叛赚,但是不能執(zhí)行insert。
select * from my_first_table;
INSERT INTO my_first_table VALUES (990, "sarah");
- 使用hive用戶登錄Impala稽揭,先drop掉fayson_role的角色俺附,然后再次創(chuàng)建。然后賦予my_first_table表的列id的SELECT權(quán)限溪掀。
drop role fayson_role;
create role fayson_role;
grant role fayson_role to group fayson;
grant select(id) on table my_first_table to role fayson_role;
- 使用fayson用戶登錄進(jìn)行測試
- fayson用戶無法select全表事镣,只能select單個id字段。說明Kudu表的column授權(quán)生效揪胃。
select * from my_first_table;
select id from my_first_table;
總結(jié)
- CDH5.13璃哟,Kudu1.5之前的舊版Kudu,Sentry授權(quán)只能支持?jǐn)?shù)據(jù)庫或表的ALL權(quán)限喊递,不能區(qū)分SELECT和INSERT權(quán)限随闪,且不支持列授權(quán)。
- CDH5.13骚勘,Kudu1.5版本中铐伴,Sentry授權(quán)支持?jǐn)?shù)據(jù)庫,表俏讹,字段的ALL当宴,SELECT,INSERT權(quán)限藐石。
大數(shù)據(jù)視頻推薦:
騰訊課堂
CSDN
大數(shù)據(jù)語音推薦:
企業(yè)級大數(shù)據(jù)技術(shù)應(yīng)用
大數(shù)據(jù)機(jī)器學(xué)習(xí)案例之推薦系統(tǒng)
自然語言處理
大數(shù)據(jù)基礎(chǔ)
人工智能:深度學(xué)習(xí)入門到精通