hive表級許可權控制 Hive許可權管理(十)

2021-10-16 15:01:55 字數 3122 閱讀 6720

hive許可權管理

1、hive授權模型介紹

(1)storage based authorization in the metastore server

基於儲存的授權 - 可以對metastore中的元資料進行保護,但是沒有提供更加細粒度的訪問控制(例如:列級別、行級別)。

(2)sql standards based authorization in hiveserver2

基於sql標準的hive授權 - 完全相容sql的授權模型,推薦使用該模式。

(3)default hive authorization (legacy mode)

hive預設授權 - 設計目的僅僅只是為了防止使用者產生誤操作,而不是防止惡意使用者訪問未經授權的資料。

2、基於sql標準的hiveserver2授權模式

​(1)完全相容sql的授權模型

​(2)除支援對於使用者的授權認證,還支援角色role的授權認證

​1、role可理解為是一組許可權的集合,通過role為使用者授權

​2、乙個使用者可以具有乙個或多個角色,預設包含另種角色:public、admin

3、基於sql標準的hiveserver2授權模式的限制

​1、啟用當前認證方式之後,dfs, add, delete, compile, and reset等命令被禁用。

​2、通過set命令設定hive configuration的方式被限制某些使用者使用。

​(可通過修改配置檔案hive-site.xml中hive.security.authorization.sqlstd.confwhitelist進行配置)

​3、新增、刪除函式以及巨集的操作,僅為具有admin的使用者開放。

​4、使用者自定義函式(開放支援永久的自定義函式),可通過具有admin角色的使用者建立,其他使用者都可以使用。

​5、transform功能被禁用。

4、詳細配置

hive.security.authorization.enabled

true

hive.server2.enable.doas

false

hive.users.in.admin.role

root

hive.security.authorization.managerorg.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.sqlstdhiveauthorize***ctory

hive.security.authenticator.manager

org.apache.hadoop.hive.ql.security.sessionstateuserauthenticator

5、hive許可權管理命令

--角色的新增、刪除、檢視、設定:

-- 建立角色

create role role_name;

-- 刪除角色

drop role role_name;

-- 設定角色

set role (role_name|all|none);

-- 檢視當前具有的角色

show current roles;

-- 檢視所有存在的角色

show roles;

6、hive許可權分配圖

action

select

insert

update

delete

owership

admin

url privilege(rwx permission + ownership)

alter database

yalter index properties

yalter index rebuild

yalter partition location

yy (for new partition location)

alter table (all of them except the ones above)

yalter table add partition

yy (for partition location)

alter table drop partition

yalter table location

yy (for new location)

alter view properties

yalter view rename

yanalyze tableyy

create database

y (if custom location specified)

create function

ycreate index

y (of table)

create macro

ycreate table

y (of database)

y (for create external table – the location)

create table as select

y (of input)

y (of database)

create view

y + g

delete

ydescribe table

ydrop database

ydrop function

ydrop index

ydrop macro

ydrop table

ydrop view

ydrop view properties

yexplain

yinsert

yy (for overwrite)

load

y (output)

y (output)

y (input location)

msck (metastore check)

yselect

yshow columns

yshow create table

y+gshow partitions

yshow table properties

yshow table status

ytruncate table

yupdate

y

hive表級許可權控制 Hive許可權管理

一.storage based authorization in the metastore server 基於儲存的授權,可以對metastore中的元資料進行保護,但是沒有提供更加細粒度的訪問控制 例如 列級別 行級別等 啟用當前認證方式後,dfs,add,delete,compile,rese...

hive許可權控制(二)

hive支援的許可權有users,groups,roles 乙個角色可以包含組或者使用者 metastore缺省會以metastore所在的機器根據使用者名稱獲取使用者所屬的組,而不是客戶端的組。create role role name drop role role name grant role...

hive許可權問題

1.給某個使用者授權 grant select on database ffcs cheny to user ffcs cheny 2.ddlstatement createdatabasestatement switchdatabasestatement dropdatabasestatement...