天天看点

Hive权限管控权限管控

权限管控

基本概述

Hive可以通过四种方式配置用户权限。

  1. 在元数据服务中基于存储的授权:这种方式直接对存储在HDFS上的文件、MetaStore中的元数据进行权限控制,但粒度较粗。
  2. HiveServer2中基于标准SQL的授权:这种授权方式,兼容标准SQL,授权粒度较细,在SQL执行时可以对权限有一个精准的把控。
  3. 基于Apache Ranger & Sentry的组件授权:需要依赖第三方组件实现。
  4. 基于旧版模式的授权:与SQL授权相似,但并不完善,访问控制不完整,有漏洞尚未解决。

一般而言,会推荐使用基于存储的授权和基本标准SQL的授权,来对Hive进行权限管控。

基于存储的授权(Storage Based Authorization)

基于存储的授权在Hive 0.10版本后引入,在Metastore Server中,安全性配置为使用 Storage Based Authorization 时,会根据在文件系统中的权限来认证对元数据的操作。

所以基于存储的授权,除了要对Hive进行配置之外,还要使用HDFS命令为相应用户和用户组在表文件上设置相应的操作权限,以达到鉴权的目的。

开启基于存储的授权

首先在hive-site.xml中开启配置Metastore的安全特性。

<property>
  <name>hive.metastore.pre.event.listeners</name>           

复制