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