Hive权限管理-通过grant语句或者hue修改用户权限

简介

Apache Sentry是由Cloudera贡献给Hadoop开源社区的组件,它提供了细粒度级、基于角色的授权以及多租户的管理模式。Sentry当前可以和Hive集成,用于Hive数据的权限。

角色可以理解为一组权限的集合,而Hive中的权限即为用户被允许的一种操作。可以对组进行授权,属于这个组的用户,即自动拥有该组的权限,属于多个组的用户,即拥有多个组的权限。

操作方式

下面介绍的是两种常用的授权方式:

  • 使用grant语句授权

    主要步骤如下

    1. 创建角色
      CREATE ROLE role_test;
    2. 为角色赋权
      GRANT SELECT ON TABLE default.city TO ROLE role_test;
    3. 将角色与组绑定
      GRANT ROLE role_test TO GROUP group_test;

    这种操作方式,可以在任何可以执行hive sql的地方执行,既可以使用终端以命令行的方式进行,也可以在Hue这种提供查询工具的编辑器中执行。

  • Hue Sentry管理界面

    主要步骤如下

    1. 在security界面点击Add role
    2. 输入要创建的角色名称
    3. 选择组
    4. 选择权限类型
    5. 点击保存
      在这里插入图片描述
      这种方式的优点主要胜在界面可视化,对操作者比较友好。
      与grant语句不同的是,grant语句每执行成功一次操作,均会保存相关的结果,而在Hue中点击保存之前,实际上并没有真正操作,点击保存后,将需要的数据打包发送给服务器,服务器将这些组合操作通过SentryApi保存到数据库中。

均要求用户有相关的权限

总结

上述两种方式,从本质上来讲,就是在Sentry的数据库中插入一组数据,仅仅是操作方式的不同,殊途同归。
在这里插入图片描述

完成这一些操作的时候,当用户使用用户名和密码去访问hiveserver2时,Hiveserver2将会使用用户的组去Sentry查询用户对应的权限,这样就可以根据不同的用户展示不同的表了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值