hive整合sentry的sql使用語法

2022-07-28 04:48:12 字數 2515 閱讀 5647

sentry許可權控制通過beeline(hiveserver2 sql 命令列介面)輸入grant 和 revoke語句來配置。語法跟現在的一些主流的關聯式資料庫很相似。需要注意的是:當sentry服務啟用後,我們必須使用beeline介面來執行hive查詢,hive cli並不支援sentry。

create role語句建立乙個可以被賦權的角色。許可權可以賦給角色,然後再分配給各個使用者。乙個使用者被分配到角色後可以執行該角色的許可權。

只有擁有管理員的角色可以create/drop角色。預設情況下,hive、impala和hue使用者擁有管理員角色。

create role [role_name];
drop role語句可以用來從資料庫中移除乙個角色。一旦移除,之前分配給所有使用者的該角色將會取消。之前已經執行的語句不會受到影響。但是,因為hive在執行每條查詢語句之前會檢查使用者的許可權,處於登入活躍狀態的使用者會話會受到影響。

drop role [role_name];
grant role語句可以用來給組授予角色。只有sentry的管理員使用者才能執行該操作。

grant role role_name [, role_name]

to group (groupname) [,group (groupname)]

revoke role語句可以用來從組移除角色。只有sentry的管理員使用者才能執行該操作。

revoke role role_name [, role_name]    

from group (groupname) [,group (groupname)]

授予乙個物件的許可權給乙個角色,該使用者必須為sentry的管理員使用者。

grant    

(privilege) [, (privilege) ]

on (object) (object_name)

to role (rolename) [,role (rolename)]

因為只有認證的管理員使用者可以建立角色,從而只有管理員使用者可以取消乙個組的許可權。

revoke    

(privilege) [, (privilege) ]

on (object) (object_name)

from role (rolename) [,role (rolename)]

在cdh5.2中,你可以委託給其他角色來授予和解除許可權。比如,乙個角色被授予了with grant option的許可權可以grant/revoke同樣的許可權給其他角色。因此,如果乙個角色有乙個庫的所有許可權並且設定了 with grant option,該角色分配的使用者可以對該資料庫和其中的表執行grant/revoke語句。

grant

(privilege)

on (object) (object_name)

to role (rolename)

with grant option

只有乙個帶grant選項的特殊許可權的角色或者它的父級許可權可以從其他角色解除這種許可權。一旦下面的語句執行,所有跟其相關的grant許可權將會被解除。

revoke

(rivilege)

on (bject) (bject_name)

from role (rolename)

hive目前不支援解除之前賦予乙個角色 with grant option 的許可權。要想移除with grant option、解除許可權,可以重新去除 with grant option這個標記來再次附權。

set role語句可以給當前會話選擇乙個角色使之生效。乙個使用者只能啟用分配給他的角色。任何不存在的角色和當前使用者不能使用的角色是不能生效的。如果沒有使用任何角色,使用者將會使用任何乙個屬於他的角色的許可權。

to enable a specific role:
to enable a specific role:
set role none;
show databases;
show tables;
show columns (from|in) table_name [(from|in) db_name];
show roles;
show current roles;
show role grant group (groupname);
show grant role (rolename);
show grant role (rolename) on (object) (objectname);

Kafka整合sentry的授權命令

1.一旦對kafka啟用sentry授權以後,kafka使用者就是管理員,一切管理員操作都需要使用kafka使用者來操作,這個與我們在hive impala中使用sentry時,hive使用者是管理員原理是一樣的 2.如果只是測試系統,建議將sentry許可權的cache重新整理間隔調低,這次測試由...

spring整合mybatis後,列印SQL語句

網上說mybatis的早前版本配置列印sql還比較簡單,在3.0.6之後配置方式修改了。現在的spring mybatis.xml配置如下 不錯,列印sql只需要加乙個setting就可以了。mybatis的日誌列印方式比較多,slf4j log4j log4j2 jdk logging commo...

spring整合mybatis後,列印SQL語句

網上說mybatis的早前版本配置列印sql還比較簡單,在3.0.6之後配置方式修改了。現在的spring mybatis.xml配置如下 mybatis config.xml 不錯,列印sql只需要加乙個setting就可以了。mybatis的日誌列印方式比較多,slf4j log4j log4j...