Hive权限管理(十)
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、详细配置
<property>
<name>hive.security.authorization.enabled</name>
<value>true</value>
</property>
<property>
<name>hive.server2.enable.doAs</name>
<value>false</value>
</property>
<property>
<name>hive.users.in.admin.role</name>
<value>root</value>
</property>
<property>
<name>hive.security.authorization.manager</name> <value>org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactory</value>
</property>
<property>
<name>hive.security.authenticator.manager</name>
<value>org.apache.hadoop.hive.ql.security.SessionStateUserAuthenticator</value>
</property>
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 | Y | ||||||
| ALTER INDEX PROPERTIES | Y | ||||||
| ALTER INDEX REBUILD | Y | ||||||
| ALTER PARTITION LOCATION | Y | Y (for new partition location) | |||||
| ALTER TABLE (all of them except the ones above) | Y | ||||||
| ALTER TABLE ADD PARTITION | Y | Y (for partition location) | |||||
| ALTER TABLE DROP PARTITION | Y | ||||||
| ALTER TABLE LOCATION | Y | Y (for new location) | |||||
| ALTER VIEW PROPERTIES | Y | ||||||
| ALTER VIEW RENAME | Y | ||||||
| ANALYZE TABLE | Y | Y | |||||
| CREATE DATABASE | Y (if custom location specified) | ||||||
| CREATE FUNCTION | Y | ||||||
| CREATE INDEX | Y (of table) | ||||||
| CREATE MACRO | Y | ||||||
| CREATE 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 | Y | ||||||
| DESCRIBE TABLE | Y | ||||||
| DROP DATABASE | Y | ||||||
| DROP FUNCTION | Y | ||||||
| DROP INDEX | Y | ||||||
| DROP MACRO | Y | ||||||
| DROP TABLE | Y | ||||||
| DROP VIEW | Y | ||||||
| DROP VIEW PROPERTIES | Y | ||||||
| EXPLAIN | Y | ||||||
| INSERT | Y | Y (for OVERWRITE) | |||||
| LOAD | Y (output) | Y (output) | Y (input location) | ||||
| MSCK (metastore check) | Y | ||||||
| SELECT | Y | ||||||
| SHOW COLUMNS | Y | ||||||
| SHOW CREATE TABLE | Y+G | ||||||
| SHOW PARTITIONS | Y | ||||||
| SHOW TABLE PROPERTIES | Y | ||||||
| SHOW TABLE STATUS | Y | ||||||
| TRUNCATE TABLE | Y | ||||||
| UPDATE | Y |
Hive权限管理(十)的更多相关文章
- HADOOP docker(七):hive权限管理
1. hive权限简介1.1 hive中的用户与组1.2 使用场景1.3 权限模型1.3 hive的超级用户2. 授权管理2.1 开启权限管理2.2 实现超级用户2.3 实现hiveserver2用户 ...
- hive权限管理之实践
一.实践心得 主要参考这个连接,里面说得也挺详细的.http://www.aboutyun.com/thread-12549-1-1.html 总结如下: 1.若赋予用户某个表的权限,查用户在该表所属 ...
- Hive权限管理
最近遇到一个hive权限的问题,先简单记录一下,目前自己的理解不一定对,后续根据自己的理解程度更新 一.hive用户的概念 hive本身没有创建用户的命令,hive的用户就是Linux用户,若当前是用 ...
- Mysql-学习笔记(==》权限管理 十 三)
-- 用户与权限管理-- 查看当前服务器上的所有账号密码主机SELECT USER,PASSWORD,HOST FROM mysql.user; -- 设置账号密码SET PASSWORD=PASSW ...
- 【Hive学习之七】Hive 运行方式&权限管理
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 jdk8 hadoop-3.1.1 apache-hive-3.1.1 ...
- hive(七)hive-运行方式、GUI接口、权限管理
1.Hive运行方式: 命令行方式cli:控制台模式 脚本运行方式(实际生产环境中用最多) JDBC方式:hiveserver2 web GUI接口 (hwi.hue等) 1.1Hive在CLI模 ...
- Hive权限之改进
不足 即使开启hive权限认证的情况下,不论什么用户仍然是超级用户.能够通过grant给不论什么人赋予不论什么权限,这样权限认证基本没有意义.因此必须在开启权限认证的同一时候.对运行grant/rev ...
- Python 学习 第十篇 CMDB用户权限管理
Python 学习 第十篇 CMDB用户权限管理 2016-10-10 16:29:17 标签: python 版权声明:原创作品,谢绝转载!否则将追究法律责任. 不管是什么系统,用户权限都是至关重要 ...
- Spring Boot(十四):spring boot整合shiro-登录认证和权限管理
Spring Boot(十四):spring boot整合shiro-登录认证和权限管理 使用Spring Boot集成Apache Shiro.安全应该是互联网公司的一道生命线,几乎任何的公司都会涉 ...
随机推荐
- Junit单元测试学习
一.首先选择学习工具是IDEA 1>官网下载IDEA 1:官网地址IntelliJ IDEA,官网上对于不同的操作系统(windows,macOS,Linux)都有两个版本可供下载| 其中蓝色下 ...
- VueRouter爬坑第三篇-嵌套路由
VueRouter系列的文章示例编写时,项目是使用vue-cli脚手架搭建. 项目搭建的步骤和项目目录专门写了一篇文章:点击这里进行传送 后续VueRouter系列的文章的示例编写均基于该项目环境. ...
- Mac 配置flutter
1. vim ~/.base_profile 2. 如下 export PATH=/Users/korea/Desktop/development/flutter/bin:$PATH export P ...
- ubuntu14.04 安装 zoom.us
https://support.zoom.us/hc/en-us/articles/204206269-Getting-Started-on-Linux http://askubuntu.com/qu ...
- APP安全测试要点
APP面临的威胁 APP评估思路 APP自动化检测思路 安全测试要点 证书和签名 将apk文件更名为zip 使用unzip解压 META-INF中包含签名文件和真正的CERT.RSA文件(公钥证书自签 ...
- 【Abode Air程序开发】移动设备、桌面和浏览器应用程序开发的差异
移动设备.桌面和浏览器应用程序开发的差异 在移动设备应用程序中使用 Spark 和 MX 组件的限制 移动设备应用程序在性能方面的注意事项 浏览器 将应用程序部署为 SWF 文件,以用于在浏览器中运 ...
- 【VS开发】CreateThread给线程函数传递的参数
CreateThread给线程函数传递的参数 HANDLE WINAPI CreateThread ( __in_opt LPSECURITY_ATTRIBUTES lpThreadAttribu ...
- vue-cli3 取消eslint 校验代码 真正的解决办法
在网上找了各种办法都没解决,看了下文档就解决了 关闭vue-cli3.0 报错:eslint-disable-next-line to ignore the next line. 注意我这里是VU ...
- Java中简单测试FastDFS的文件上传
pom.xml文件内容如下: <dependencies> <!-- fastdfs --> <dependency> <groupId>org.cso ...
- 【转帖】Office的光荣历史(2)
Office的光荣历史(2) https://www.sohu.com/a/201411215_657550 2017-10-31 10:57 7.MS Office 2000 (Office 9.0 ...