hive表级权限控制_Hive数据仓库之权限管理

本文介绍了Hadoop/Hive的权限控制机制,包括HDFS和Hive的权限模型,以及如何实现细粒度的权限管理。通过示例展示了如何赋予用户查询权限,并通过自定义权限控制类来确保特定用户为超级用户,防止任意用户进行Grant/Revoke操作,从而加强数据安全性。
摘要由CSDN通过智能技术生成

Hadoop/Hive自带权限控制

延续数据仓库之Hive快速入门 - 离线&实时数仓架构一文,本文将介绍一下Hadoop/Hive自带的权限控制,权限控制是大数据平台非常重要的一部分,关乎数据安全。

集群安全下需求:

支持多组件,最好能支持当前大数据技术栈的主要组件,HDFS、HBASE、HIVE、 YARN、KAFKA等

支持细粒度的权限控制,可以达到HIVE列,HDFS目录,HBASE列,YARN队列

开源,社区活跃,按照现有的集群情况改动尽可能的小,而且要符合业界的趋势。

现有方案:

Hadoop、Hive本 身的权限控制

Kerberos安全认证

Apache Ranger权限管理方案

Hadoop权限:

Hadoop分布式文件系统实现了一个和POSIX系统类似的文件和目录的权限模型

每个文件和目录有一个所有者(owner)和一个组(group)

文件或目录对其所有者、同组的其他用户以及所有其他用户分别有着不同的权限

文件或目录操作都传递路径名给NameNode,对路径做权限检查

启动NameNode的用户是超级用户,能够通过所有的权限检查

通过配置可以指定一组特定的用户为超级用户

Hive权限:

Hive可以基于文件存储级别的权限管理

Hive可以基于元数据的权限管理

User:是基于linux用户的user

Group:是linux层面上的用户组

Role:角色在Hive里面创建,给角色添加权限,把角色赋予给user

Hive中没有超级管理员,任何用户都可以进行Grant/Revoke操作

开发实现自己的权限控制类,确保某个用户为超级用户

实操Hive的权限操作

首先添加一个系统用户:

[root@hadoop01 ~]# useradd hive

将test这个表的查询权限赋予给hive这个用户:

0: jdbc:hive2://localhost:10000> grant select on table test to user hive;

No rows affected (0.12 seconds)

0: jdbc:hive2://localhost:10000>

切换到hive用户:

[root@hadoop01 ~]# sudo su - hive

进入交互命令终端,可以正常执行查询语句:

[hive@hadoop01 ~]$ beeline -u jdbc:hive2://localhost:10000 -n hive

...

0: jdbc:hive2://localhost:1000

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值