Hive权限介绍
一、开启权限
眼下hive支持简单的权限管理,默认情况下是不开启。这样全部的用户都具有同样的权限。同一时候也是超级管理员。也就对hive中的全部表都有查看和修改的权利,这样是不符合一般数据仓库的安全原则的。Hive能够是基于元数据的权限管理。也能够基于文件存储级别的权限管理。此次以介绍MetaData权限管理为主。通过下面配置开启Hive身份认证功能进行权限检查:
<property>
<name>hive.security.authorization.enabled</name>
<value>true</value>
<description>enable or disable the hive client authorization</description>
</property>
开启身份认证后,不论什么用户必须被grant privilege才干对实体进行操作。
有一个表创建者对所创建表的权限配置:
<property>
<name>hive.security.authorization.createtable.owner.grants</name>
<value>ALL</value>
<description>the privileges automatically granted to the owner whenever a table gets created.
An example like "select,drop" will grant select and drop privilege to the owner of the table</description>
</property>
默认配置是NULL,设置成ALL,表示创建者对其创建的表拥有全部的权限,这样也是比較合理的。同一时候也能够通过配置在表创建时给某个role赋予权限:
<property>
<name>hive.security.authorization.createtable.role.grants</name>
<value>admin_role:ALL</value>
</property>
当然也能够在创建时对user,group赋予权限
二、权限操作
在hive命令行下能够通过set system:user.name;查看当前hiveusername,也即OS的登录用户。
开启权限认证,在命令行下创建表:
hive>CREATE TABLE auth_test (key int, value string);
Authorization failed:No privilege 'Create' found for outputs { database:default}.Use show grant to get more details.
此时会创建失败。默认情况下用户是没有创建表权限的。运行
hive>Grant create on database defaut to user test
后又一次创建表则会成功。能够通过 desc extended auth_test查看包含表全部者在内的表具体信息
默认情况下其它的用户也是是没有权限读取auth_test中不论什么列,以另外一个用户登录os在hive下运行:
hive>Select key from auth_test;
出现下面错误:
Authorization failed:No privilege 'Select' found for inputs { database:default, table:auth_test, columnName:key}. Use show grant to get more details.
运行:
grant select(key) on table auth_test to user test1;
后查询则能够成功
Grant/revoke语法:
grant/revoke priv_type[column_list] on object_type object to/from principal_type principal_name
查看grant 定义:
show grant user user_name on table table_name;
三、Role:
此外Hive还支持基于role的授权认证,role是一组权限的集合,一个role能够被grant给多个用户。全部拥有role的用户都具有与此role相匹配的权限,通过对role权限的管理能够间接控制用户的权限。因此在一个多用户的大型系统中。role无疑更方便于权限管理。
创建/删除角色:
Create/drop Role role_name
角色分配/回收:
Grant role role_name to user user_name
Revoke role role_name from user user_name
角色授权:
Grant/revoke priv_type[col_List] on object_type object from/to role role_name
查看role定义:
show role grant role role_name
四、权限MetaData:
登录hive元数据库。能够发现下面表:
Db_privs:记录了User/Role在DB上的权限
Tbl_privs:记录了User/Role在table上的权限
Tbl_col_privs:记录了User/Role在table column上的权限
Roles:记录了全部创建的role
Role_map:记录了User与Role的相应关系
Hive权限介绍的更多相关文章
- Hive 接口介绍(Web UI/JDBC)
Hive 接口介绍(Web UI/JDBC) 实验简介 本次实验学习 Hive 的两种接口:Web UI 以及 JDBC. 一.实验环境说明 1. 环境登录 无需密码自动登录,系统用户名shiyanl ...
- Hive权限管理(十)
Hive权限管理 1.hive授权模型介绍 (1)Storage Based Authorization in the Metastore Server 基于存储的授权 - 可以对Metastore中 ...
- Hive权限控制和超级管理员的实现
Hive权限控制 Hive权限机制: Hive从0.10可以通过元数据控制权限.但是Hive的权限控制并不是完全安全的.基本的授权方案的目的是防止用户不小心做了不合适的事情. 先决条件: 为了使用Hi ...
- hive权限管理之实践
一.实践心得 主要参考这个连接,里面说得也挺详细的.http://www.aboutyun.com/thread-12549-1-1.html 总结如下: 1.若赋予用户某个表的权限,查用户在该表所属 ...
- 关于android 1.6全部的权限介绍
原文:关于android 1.6全部的权限介绍 我们在 AndroidManifest.xml里需要对一些软件需要的操作做一些权限的声明,比如我们的软件有发送短信的功能,那么就需要在 AndroidM ...
- hive权限配置
基于CDH5.x的Hive权限配置 1.打开权限控制,默认是没有限制的 set hive.security.authorization.enabled=true; 2.配置默认权限 hive.secu ...
- Hive记录-hive权限控制
在使用Hive的元数据配置权限之前必须现在hive-site.xml中配置两个参数,配置参数如下: <property> <name>hive.security.authori ...
- Hive权限管理
最近遇到一个hive权限的问题,先简单记录一下,目前自己的理解不一定对,后续根据自己的理解程度更新 一.hive用户的概念 hive本身没有创建用户的命令,hive的用户就是Linux用户,若当前是用 ...
- HADOOP docker(七):hive权限管理
1. hive权限简介1.1 hive中的用户与组1.2 使用场景1.3 权限模型1.3 hive的超级用户2. 授权管理2.1 开启权限管理2.2 实现超级用户2.3 实现hiveserver2用户 ...
随机推荐
- poj2482Stars in Your Window(线段树+离散化+扫描线)
http://poj.org/problem?id=2482 类似于上一篇 这题转化的比较巧妙 将一个点转化为一个矩形(x,y, x+w,y+h),扫描线入值为正 出值为负 也就是一根线过去 每进入一 ...
- poj 1159 Palindrome(dp)
题目:http://poj.org/problem?id=1159 #include<iostream> #include<cstring> #include<cstdi ...
- function 的声明
<?php function test() { echo "abc"; } test(); ?> 结论: 一 编译 a.对 函数声明进行词法分析和语法分析:在语法分析中 ...
- poj2182
首先容易知道,最后一个数是最容易确定的,于是从后往前确定 对于位置j,它的数就是1~n中剩余数的第a[j]+1小的数 这当然可以用平衡数做,复杂度为O(nlogn) 有没有更简洁得算法?树状数组+二分 ...
- iScroll-5拉动刷新功能实现与iScroll-4上拉刷新的一点改进
近来在学习移动设备的应用开发,接触了jQuery mobile,在网上查阅相关资料时发现一个叫”iScroll“的小插件.其实这个iScroll插件跟jQuery mobile没有多大关系,并不是基于 ...
- POJ 2728 Desert King ★(01分数规划介绍 && 应用の最优比率生成树)
[题意]每条路径有一个 cost 和 dist,求图中 sigma(cost) / sigma(dist) 最小的生成树. 标准的最优比率生成树,楼教主当年开场随手1YES然后把别人带错方向的题Orz ...
- Java [leetcode 25]Reverse Nodes in k-Group
题目描述: Given a linked list, reverse the nodes of a linked list k at a time and return its modified li ...
- 服务器上的iptables
服务器上的iptables 防火墙设置脚本规则 完整脚本如下: 复制代码代码示例: #!/bin/bash# by www.jbxue.comiptab="/sbin/iptables&qu ...
- android ListView详解
转自:http://www.cnblogs.com/allin/archive/2010/05/11/1732200.html 在android开发中ListView是比较常用的组件,它以列表的形式展 ...
- HDU 4276-The Ghost Blows Light(树状背包)
题意: n个房间,每个有一定的钱,一个房间到另一个房间花费一定的时间,给你房间连接树,求在t时间内到达房间m能得到的最大钱数(从房间1(根)出发) 分析: 该题关键是最后要到达m,没有这个条件,就是基 ...