Sentry權(quán)限控制通過(guò)Beeline(Hiveserver2 SQL 命令行接口)輸入Grant 和 Revoke語(yǔ)句來(lái)配置。語(yǔ)法跟現(xiàn)在的一些主流的關(guān)系數(shù)據(jù)庫(kù)很相似。需要注意的是:當(dāng)sentry服務(wù)啟用后,我們必須使用beeline接口來(lái)執(zhí)行hive查詢,Hive Cli并不支持sentry。
CREATE ROLE Statement
CREATE ROLE語(yǔ)句創(chuàng)建一個(gè)可以被賦權(quán)的角色。權(quán)限可以賦給角色,然后再分配給各個(gè)用戶。一個(gè)用戶被分配到角色后可以執(zhí)行該角色的權(quán)限。
只有擁有管理員的角色可以create/drop角色。默認(rèn)情況下,hive、impala和hue用戶擁有管理員角色。
CREATE ROLE [role_name];
DROP ROLE Statement
DROP ROLE語(yǔ)句可以用來(lái)從數(shù)據(jù)庫(kù)中移除一個(gè)角色。一旦移除,之前分配給所有用戶的該角色將會(huì)取消。之前已經(jīng)執(zhí)行的語(yǔ)句不會(huì)受到影響。但是,因?yàn)閔ive在執(zhí)行每條查詢語(yǔ)句之前會(huì)檢查用戶的權(quán)限,處于登錄活躍狀態(tài)的用戶會(huì)話會(huì)受到影響。
DROP ROLE [role_name];
GRANT ROLE Statement
GRANT ROLE語(yǔ)句可以用來(lái)給組授予角色。只有sentry的管理員用戶才能執(zhí)行該操作。
GRANT ROLE role_name [, role_name] TO GROUP (groupName) [,GROUP (groupName)]
REVOKE ROLE Statement
REVOKE ROLE語(yǔ)句可以用來(lái)從組移除角色。只有sentry的管理員用戶才能執(zhí)行該操作。
REVOKE ROLE role_name [, role_name] FROM GROUP (groupName) [,GROUP (groupName)]
GRANT (PRIVILEGE) Statement
授予一個(gè)對(duì)象的權(quán)限給一個(gè)角色,該用戶必須為sentry的管理員用戶。
GRANT (PRIVILEGE) [, (PRIVILEGE) ] ON (OBJECT) (object_name)