Sentry權(quán)限控制通過Beeline(Hiveserver2 SQL 命令行接口)輸入Grant 和 Revoke語句來配置。語法跟現(xiàn)在的一些主流的關(guān)系數(shù)據(jù)庫很相似。需要注意的是:當sentry服務啟用后,我們必須使用beeline接口來執(zhí)行hive查詢,Hive Cli并不支持sentry。
為阿壩州等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務,及阿壩州網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務為網(wǎng)站制作、成都網(wǎng)站設(shè)計、阿壩州網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!CREATE ROLE語句創(chuàng)建一個可以被賦權(quán)的角色。權(quán)限可以賦給角色,然后再分配給各個用戶。一個用戶被分配到角色后可以執(zhí)行該角色的權(quán)限。
只有擁有管理員的角色可以create/drop角色。默認情況下,hive、impala和hue用戶擁有管理員角色。
CREATE ROLE [role_name];
DROP ROLE語句可以用來從數(shù)據(jù)庫中移除一個角色。一旦移除,之前分配給所有用戶的該角色將會取消。之前已經(jīng)執(zhí)行的語句不會受到影響。但是,因為hive在執(zhí)行每條查詢語句之前會檢查用戶的權(quán)限,處于登錄活躍狀態(tài)的用戶會話會受到影響。
DROP ROLE [role_name];
GRANT ROLE語句可以用來給組授予角色。只有sentry的管理員用戶才能執(zhí)行該操作。
GRANT ROLE role_name [, role_name] TO GROUP (groupName) [,GROUP (groupName)]
REVOKE ROLE語句可以用來從組移除角色。只有sentry的管理員用戶才能執(zhí)行該操作。
REVOKE ROLE role_name [, role_name] FROM GROUP (groupName) [,GROUP (groupName)]
授予一個對象的權(quán)限給一個角色,該用戶必須為sentry的管理員用戶。
GRANT (PRIVILEGE) [, (PRIVILEGE) ] ON (OBJECT) (object_name) TO ROLE (roleName) [,ROLE (roleName)]
因為只有認證的管理員用戶可以創(chuàng)建角色,從而只有管理員用戶可以取消一個組的權(quán)限。
REVOKE (PRIVILEGE) [, (PRIVILEGE) ] ON (OBJECT) (object_name) FROM ROLE (roleName) [,ROLE (roleName)]
在cdh6.2中,你可以委托給其他角色來授予和解除權(quán)限。比如,一個角色被授予了WITH GRANT OPTION的權(quán)限可以GRANT/REVOKE同樣的權(quán)限給其他角色。因此,如果一個角色有一個庫的所有權(quán)限并且設(shè)置了 WITH GRANT OPTION,該角色分配的用戶可以對該數(shù)據(jù)庫和其中的表執(zhí)行GRANT/REVOKE語句。
GRANT (PRIVILEGE) ON (OBJECT) (object_name) TO ROLE (roleName) WITH GRANT OPTION
只有一個帶GRANT選項的特殊權(quán)限的角色或者它的父級權(quán)限可以從其他角色解除這種權(quán)限。一旦下面的語句執(zhí)行,所有跟其相關(guān)的grant權(quán)限將會被解除。
REVOKE (RIVILEGE) ON (BJECT) (bject_name) FROM ROLE (roleName)
Hive目前不支持解除之前賦予一個角色 WITH GRANT OPTION 的權(quán)限。要想移除WITH GRANT OPTION、解除權(quán)限,可以重新去除 WITH GRANT OPTION這個標記來再次附權(quán)。
SET ROLE語句可以給當前會話選擇一個角色使之生效。一個用戶只能啟用分配給他的角色。任何不存在的角色和當前用戶不能使用的角色是不能生效的。如果沒有使用任何角色,用戶將會使用任何一個屬于他的角色的權(quán)限。
選擇一個角色使用:
To enable a specific role:
使用所有的角色:
To enable a specific role:
關(guān)閉所有角色
SET ROLE NONE;
顯示當前用戶擁有庫、表、列相關(guān)權(quán)限的數(shù)據(jù)庫:
SHOW DATABASES;
顯示當前用戶擁有表、列相關(guān)權(quán)限的表;
SHOW TABLES;
顯示當前用戶擁有SELECT權(quán)限的列:
SHOW COLUMNS (FROM|IN) table_name [(FROM|IN) db_name];
顯示當前系統(tǒng)中所有的角色(只有管理員用戶可以執(zhí)行):
SHOW ROLES;
顯示當前影響當前會話的角色:
SHOW CURRENT ROLES;
顯示指定組的被分配到的所有角色(只有管理員用戶和指定組內(nèi)的用戶可以執(zhí)行)
SHOW ROLE GRANT GROUP (groupName);
SHOW語句可以用來顯示一個角色被授予的權(quán)限或者顯示角色的一個特定對象的所有權(quán)限。
顯示指定角色的所有被賦予的權(quán)限。(只有管理員用戶和指定角色分配到的用戶可以執(zhí)行)。下面的語句也會顯示任何列級的權(quán)限。
SHOW GRANT ROLE (roleName);
顯示指定對象的一個角色的所有被賦予的權(quán)限(只有管理員用戶和指定角色分配到的用戶可以執(zhí)行)。下面的語句也會顯示任何列級的權(quán)限。
SHOW GRANT ROLE (roleName) on (OBJECT) (objectName);
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。