首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hive的用户权限体系理解

Hive的用户权限体系理解

作者头像
Lu说
发布2022-06-07 20:23:27
1.5K0
发布2022-06-07 20:23:27
举报

此前对Hive的用户体系一直是心存疑惑,最近有了一些新的体会,我发现一个此前困恼了很久的问题,随着经验的增长都会迎刃而解。

这里要分为两部分认证和鉴权,认证就是让用户安全登录,鉴权即为用户的权限管理。

用户认证(Authentication)

一般有三种NONE、LDAP、Kerberos。

默认情况下是NONE,也就是不做身份认证。实际上默认情况之下访问Hive的用户即为客户端用户,如使用Linux root用户打开Hive终端,那对于Hive来说,这个会话就是root用户。Hive并不在意用户名是什么,它的权限管理是基于角色(role)的。所以Hive没有创建用户这一说,而只有创建角色的说法。

另一层面,因为Hive最终要依赖于HDFS,Hive组件与HDFS的交互都是通过hive进程的启动用户来完成的。而Hive的用户(比如使用root登录时的root用户)是没有办法直接使用Hive的,可以建表但是插入数据会失败,这是因为这时的root用户没有Hive HDFS目录的权限。

所以,我们需要将用户代理给Hive组件的运行用户去访问HDFS,所以需要在core-site.xml 内新增如下配置

至于LDAP、kerberos也就是提供一套统一的用户认证体系而已,本质上对于Hive来说,与Linux操作系统用户无异。还有一种是Custom,即支持用户自定义用户认证体系。

用户鉴权(Authorization)

一般有三种:NONE,SQLStdAuth,Ranger。

NONE,即没有鉴权体系,所有用户对所有库表有权限;SQLStdAuth,SQL标准鉴权,即Hive自带的鉴权体系,基于角色的鉴权体系,而非用户;

Ranger,ranger在Hadoop生态中只是作为一个插件而已,有它没它都可以,没它各个组件也有鉴权体系,但有它权限管理会简单很多。一般配合LDAP和kerberos来使用,它的用户列表来源于kerberos或者LDAP。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-06-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop集群运维 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 用户认证(Authentication)
  • 用户鉴权(Authorization)
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档