hive 创建访问用户_Apache Ranger 与Hive整合

本文介绍了如何在Hadoop安全体系下进行Hive权限管理。重点讨论了Hive的访问方式,以及在启用权限控制后的问题解决方法。特别提到了使用Apache Ranger进行权限控制的步骤,并对比了Ranger与Sentry的权限管理区别。Ranger采用基于策略的访问控制,允许更细粒度的权限设置。
摘要由CSDN通过智能技术生成

HiveServer2有自己的CLI叫 Beeline(基于JDBC的SQLLine),由于新的开发焦点在HiveServer2,那么Hive CLI将被废弃

$ beeline
beeline> !connect jdbc:hive2://localhost:10000 hadoop ""
beeline> show databases;

或者:

$ beeline -u jdbc:hive2://localhost:10000/stg -n hadoop -p ""

Hive中的用户就是用户的系统用户名

Hadoop 安全体系

fdefaec04e6bf5f46318a6bc97c30a25.png

hive 权限管理

hive访问三种方式:

ca40199f9c3b30bc24aea70f950220fa.png
[root@beginman ~]# su - hive
[hive@beginman ~]$ hive
hive> show roles;
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Current user : hive is not allowed to list roles. User has to belong to ADMIN role and have it as current role, for this action.

执行任何有关权限设置和查看的语句时都报错,这是因为没有开启权限控制

<!--开启hive权限认证机制-->
<property>
<name>hive.security.authorization.enabled</name>      # 开启权限认证功能
<value>true</value>
<description>enable or disable the hive client authorization</description>
</property>

<property>
<name>hive.server2.enable.doAs</name>
<value>false</value>
</property>


<property>
<name>hive.users.in.admin.role</name>               # admin 权限用户列表
<value>hive</value>
</property>

然后重启hive, 用hive 账号进入hive, 执行 set role admin, 将此用户设置为admin角色的用户即可

hive> set role admin;
OK
Time taken: 0.852 seconds
hive> show roles;
OK
admin
public

使用Apache ranger进行权限控制:https://help.aliyun.com/document_detail/66420.html?spm=a2c4g.11186623.2.20.31d33e02PcxZsu#concept-ej3-jn3-bfb

Ranger与Sentry使用区别

Sentry:RBAC(role-based acess control)基于角色的管理,即:通过创建角色,将每个组件的权限授予给此角色。然后在用户中添加此角色,即用户具备此角色访问组件的权限(组也类似)

Ranger: PBAC(policy-based acess control)基于策略的管理,即:每个组件可以添加服务Service如Hive,然后添加自定义策略(如访问粒度Database,Table,Column),再添加组或用户访问权限(Select,Create,Drop等)

Ranger 权限管理流程图分析,以ranger对hive进行权限管理为例,如下图所示:鉴权过程分为五个步骤

eab888e42bd88cbced26ffa0f93d5f8b.png
  • https://ieevee.com/tech/2016/05/10/spark-7-security.html)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值