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访问权限控制相关推荐

  1. Java访问权限控制

    面向对象的核心思想之一就是封装,只把有限的方法和成员公开给别人,这也是迪米特法则的内在要求,是外部调用方对方法体内的实现细节知道得尽可能少. 如何实现封装呢? 需要使用某些关键字来限制外部对类内属性和 ...

  2. C++知识点11——this指针,const成员函数,访问权限控制

    1.this指针 每个类都有this指针,this指针指向this指针指向的是类的对象本身 class A { public:A() {}~A() {}void func() {cout<< ...

  3. android 静态方法 构造方法,android基础-Java篇02:类和对象、构造方法、访问权限控制、重载、this关键字、static关键字...

    一.类和构造方法 (类和对象在百度百科已经有详细的介绍,这里只做简单的描述以及帮助理解:百度百科:类和对象,需要注意的是,百度百科类和对象的举例中都是C++,书写格式不要和Java混淆!) 什么是类? ...

  4. 文件服务器共享文件夹访问权限,5对文件服务器中的共享文件夹进行访问权限控制...

    对文件服务器中的共享文件夹进行访问权限控制 1. 实训目的 在Windows Server 2003环境下设置文件服务器的目的是要对多用户进行资源共享,这其中经常遇到不同用户应该分配不同权限的问题,通 ...

  5. [THINKING IN JAVA]访问权限控制

    6 访问权限控制 6.1 包:库单元 package.import.import *.import static: 修改classpath环境变量可以将自己写的类库添加至环境变量并在任何java程序中 ...

  6. 第6章 访问权限控制

    2014-12-09 20:14:52 访问权限控制 1.访问权限控制出现的原因 代码需要不断的重新创作才能变得完善. 要完善的公用代码(如:类库)已经被客户程序使用,修改后,可能会影响客户程序的功能 ...

  7. Java成员的访问权限控制

    Java中的访问权限控制包含两个部分: 类的访问权限控制 类成员的访问权限控制 对类来说,访问权限控制修饰符可以是public或者无修饰符(默认的包访问权限): 对于类成员来说,访问权限控制修饰符可以 ...

  8. java权限控制是什么_Java访问权限控制的重要性深入讲解

    前言 人在什么面前最容易失去抵抗力? 美色,算是一个,比如说西施的贡献薄就是忍辱负重.以身报国.助越灭吴:金钱,算是另外一个,我们古人常说"钱乃身外之物,生不带来死不带去",但我们 ...

  9. java权限控制是什么_论Java访问权限控制的重要性

    人在什么面前最容易失去抵抗力? 欢迎工作一到八年的Java工程师朋友们加入Java高级交流:854630135 本群提供免费的学习指导 架构资料 以及免费的解答 不懂得问题都可以在本群提出来 之后还会 ...

最新文章

  1. 闪耀澳网 跨界新品泸州老窖国窖1573澳网冠军版发布
  2. Hadoop系列一:Hadoop集群分布式部署
  3. 【重温经典】张小龙:微信背后的产品观
  4. mybatis 忽略实体字段_27道mybatis面试真题,你能答对几道?
  5. ANN:神经网络堆叠/进化故事( 从感知机到DRBN )
  6. java 对象的态_Java面向对象-------多态总结
  7. tomcat temp 大量 upload 文件_渗透测试之文件上传漏洞总结
  8. 从Hadoop到ClickHouse,现代BI系统有哪些问题?如何解决?
  9. vs code 问题:preLaunchTask“build”已终止,退出代码为 1。解决办法
  10. 蓝桥杯2016年第七届C/C++省赛B组第五题-抽签
  11. 小米6twrp最新第三方rec_小米5(gemini:双子座)刷机
  12. 基于snowflake的序列号生成器
  13. 英语口语收集(二十六)
  14. VMOS+小黄鸟无root抓包(解决抓包无网络问题)(附工具)
  15. 使用cdrecord命令刻录光盘
  16. 在编程中常见的一些英语词汇
  17. linux下c语言调用mysql,Linux下C语言操作MYSQL总结
  18. MD5有哪些特性,常用的MD5加密安全吗
  19. 3D人体重建从单张图中-DeepHuman: 3D Human Reconstruction from a Single Image
  20. CMMI证书背后的6大怪相

热门文章

  1. 我是男人我还惧怕什么?
  2. Java项目:ssm校内超市管理系统
  3. Linux小小白入门教程(十一):查询命令所在目录
  4. 国内服务器国内网站免备案教程
  5. ssh_config和sshd_config配置文件的区别
  6. 开发笔记4——钱包、账户、keyeos、nodeos、cleos概念介绍
  7. SQL中UPDATE更新语句、REPLACE()替换函数
  8. 信息学奥赛一本通 1252:走迷宫 | OpenJudge NOI 2.5 2753:走迷宫
  9. matlab构建一个神经网络,matlab构建神经网络
  10. 从一个被更新后的GTF文件得到geneID和gene类型的对应关系