Hive访问权限控制
hive有两种类型的权限控制方式:
一。通过Hcatcalog API访问hive数据的方式,实际是通过访问metastore元数据的形式访问hive数据,这类有MapReduce,impala,pig,Spark SQL,hive Command line等方式,基于这种方式的权限控制称为:Storage Based Authorization in the Metastore Server。
二。通过hiveserver2的方式访问hive数据,基于这种方式的权限控制称之为:SQL Standards Based Authorization in HiveServer2
第一种方式的权限控制其实通过控制用户在HDFS上的权限来实现的,需要借助hdfs的命令setfacl,实现此种方式需要在hive中配置以下配置项:
<property><name>hive.security.metastore.authorization.manager</name><value>org.apache.hadoop.hive.ql.security.authorization.DefaultHiveMetastoreAuthorizationProvider</value><description>authorization manager class name to be used in the metastore for authorization.The user defined authorization class should implement interfaceorg.apache.hadoop.hive.ql.security.authorization.HiveMetastoreAuthorizationProvider.</description></property><property><name>hive.security.metastore.authenticator.manager</name><value>org.apache.hadoop.hive.ql.security.HadoopDefaultMetastoreAuthenticator</value><description>authenticator manager class name to be used in the metastore for authentication.The user defined authenticator should implement interface org.apache.hadoop.hive.ql.security.HiveAuthenticationProvider.</description>
</property><property><name>hive.metastore.pre.event.listeners</name><value> </value><description>pre-event listener classes to be loaded on the metastore side to run codewhenever databases, tables, and partitions are created, altered, or dropped.Set to org.apache.hadoop.hive.ql.security.authorization.AuthorizationPreEventListenerif metastore-side authorization is desired.</description>
</property>
而后使用setfacl为用户在hive数仓路径分配权限,例如:
#授予test对warehouse文件夹rwx权限
hadoop fs -setfacl -m user:test:rwx /user/hive/warehouse
#授予hivegrp对warehouse文件夹rwx权限
hadoo fs -setfacl -m group:hivegrp:rwx /user/hive/warehouse
第二种方式也需要修改hive-site.xml配置文件:
<property><name>hive.security.authorization.enabled</name><value>true</value>
</property>
<property><name>hive.security.authorization.createtable.owner.grants</name><value>ALL</value>
</property>
<property><name>hive.security.authorization.task.factory</name><value>org.apache.hadoop.hive.ql.parse.authorization.HiveAuthorizationTaskFactoryImpl</value>
</property>
<property><name>hive.users.in.admin.role</name><value>hdfs</value>
</property>
然后进入hive CLI通过grant命令对表、视图、列、分区进行权限控制,需要注意的是create role及drop role等命令是需要admin role才有权限执行的,因此在配置中给hdfs用户以admin role,切换到hdfs用户下进入hive CLI执行grant命令即可。
通过Hue控制Hive访问权限可查看这里。
官网地址:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Authorization
参考博客:https://www.cnblogs.com/yurunmiao/p/4449439.html
https://helpcdn.aliyun.com/document_detail/62704.html
Hive访问权限控制相关推荐
- Java访问权限控制
面向对象的核心思想之一就是封装,只把有限的方法和成员公开给别人,这也是迪米特法则的内在要求,是外部调用方对方法体内的实现细节知道得尽可能少. 如何实现封装呢? 需要使用某些关键字来限制外部对类内属性和 ...
- C++知识点11——this指针,const成员函数,访问权限控制
1.this指针 每个类都有this指针,this指针指向this指针指向的是类的对象本身 class A { public:A() {}~A() {}void func() {cout<< ...
- android 静态方法 构造方法,android基础-Java篇02:类和对象、构造方法、访问权限控制、重载、this关键字、static关键字...
一.类和构造方法 (类和对象在百度百科已经有详细的介绍,这里只做简单的描述以及帮助理解:百度百科:类和对象,需要注意的是,百度百科类和对象的举例中都是C++,书写格式不要和Java混淆!) 什么是类? ...
- 文件服务器共享文件夹访问权限,5对文件服务器中的共享文件夹进行访问权限控制...
对文件服务器中的共享文件夹进行访问权限控制 1. 实训目的 在Windows Server 2003环境下设置文件服务器的目的是要对多用户进行资源共享,这其中经常遇到不同用户应该分配不同权限的问题,通 ...
- [THINKING IN JAVA]访问权限控制
6 访问权限控制 6.1 包:库单元 package.import.import *.import static: 修改classpath环境变量可以将自己写的类库添加至环境变量并在任何java程序中 ...
- 第6章 访问权限控制
2014-12-09 20:14:52 访问权限控制 1.访问权限控制出现的原因 代码需要不断的重新创作才能变得完善. 要完善的公用代码(如:类库)已经被客户程序使用,修改后,可能会影响客户程序的功能 ...
- Java成员的访问权限控制
Java中的访问权限控制包含两个部分: 类的访问权限控制 类成员的访问权限控制 对类来说,访问权限控制修饰符可以是public或者无修饰符(默认的包访问权限): 对于类成员来说,访问权限控制修饰符可以 ...
- java权限控制是什么_Java访问权限控制的重要性深入讲解
前言 人在什么面前最容易失去抵抗力? 美色,算是一个,比如说西施的贡献薄就是忍辱负重.以身报国.助越灭吴:金钱,算是另外一个,我们古人常说"钱乃身外之物,生不带来死不带去",但我们 ...
- java权限控制是什么_论Java访问权限控制的重要性
人在什么面前最容易失去抵抗力? 欢迎工作一到八年的Java工程师朋友们加入Java高级交流:854630135 本群提供免费的学习指导 架构资料 以及免费的解答 不懂得问题都可以在本群提出来 之后还会 ...
最新文章
- 闪耀澳网 跨界新品泸州老窖国窖1573澳网冠军版发布
- Hadoop系列一:Hadoop集群分布式部署
- 【重温经典】张小龙:微信背后的产品观
- mybatis 忽略实体字段_27道mybatis面试真题,你能答对几道?
- ANN:神经网络堆叠/进化故事( 从感知机到DRBN )
- java 对象的态_Java面向对象-------多态总结
- tomcat temp 大量 upload 文件_渗透测试之文件上传漏洞总结
- 从Hadoop到ClickHouse,现代BI系统有哪些问题?如何解决?
- vs code 问题:preLaunchTask“build”已终止,退出代码为 1。解决办法
- 蓝桥杯2016年第七届C/C++省赛B组第五题-抽签
- 小米6twrp最新第三方rec_小米5(gemini:双子座)刷机
- 基于snowflake的序列号生成器
- 英语口语收集(二十六)
- VMOS+小黄鸟无root抓包(解决抓包无网络问题)(附工具)
- 使用cdrecord命令刻录光盘
- 在编程中常见的一些英语词汇
- linux下c语言调用mysql,Linux下C语言操作MYSQL总结
- MD5有哪些特性,常用的MD5加密安全吗
- 3D人体重建从单张图中-DeepHuman: 3D Human Reconstruction from a Single Image
- CMMI证书背后的6大怪相
热门文章
- 我是男人我还惧怕什么?
- Java项目:ssm校内超市管理系统
- Linux小小白入门教程(十一):查询命令所在目录
- 国内服务器国内网站免备案教程
- ssh_config和sshd_config配置文件的区别
- 开发笔记4——钱包、账户、keyeos、nodeos、cleos概念介绍
- SQL中UPDATE更新语句、REPLACE()替换函数
- 信息学奥赛一本通 1252:走迷宫 | OpenJudge NOI 2.5 2753:走迷宫
- matlab构建一个神经网络,matlab构建神经网络
- 从一个被更新后的GTF文件得到geneID和gene类型的对应关系