文档章节

hive集成sentry的sql使用语法

PeanutLike
 PeanutLike
发布于 2017/06/30 13:10
字数 1130
阅读 34
收藏 0
点赞 0
评论 0

Sentry权限控制通过Beeline(Hiveserver2 SQL 命令行接口)输入Grant 和 Revoke语句来配置。语法跟现在的一些主流的关系数据库很相似。需要注意的是:当sentry服务启用后,我们必须使用beeline接口来执行hive查询,Hive Cli并不支持sentry。

##CREATE ROLE Statement CREATE ROLE语句创建一个可以被赋权的角色。权限可以赋给角色,然后再分配给各个用户。一个用户被分配到角色后可以执行该角色的权限。

只有拥有管理员的角色可以create/drop角色。默认情况下,hive、impala和hue用户拥有管理员角色。

CREATE ROLE [role_name];

##DROP ROLE Statement DROP ROLE语句可以用来从数据库中移除一个角色。一旦移除,之前分配给所有用户的该角色将会取消。之前已经执行的语句不会受到影响。但是,因为hive在执行每条查询语句之前会检查用户的权限,处于登录活跃状态的用户会话会受到影响。

DROP ROLE [role_name];

##GRANT ROLE Statement GRANT ROLE语句可以用来给组授予角色。只有sentry的管理员用户才能执行该操作。

GRANT ROLE role_name [, role_name]
    TO GROUP (groupName) [,GROUP (groupName)]

##REVOKE ROLE Statement REVOKE ROLE语句可以用来从组移除角色。只有sentry的管理员用户才能执行该操作。

REVOKE ROLE role_name [, role_name]    
    FROM GROUP (groupName) [,GROUP (groupName)]

##GRANT (PRIVILEGE) Statement 授予一个对象的权限给一个角色,该用户必须为sentry的管理员用户。

GRANT    
    (PRIVILEGE) [, (PRIVILEGE) ]    
    ON (OBJECT) (object_name)   
    TO ROLE (roleName) [,ROLE (roleName)]

##REVOKE (PRIVILEGE) Statement 因为只有认证的管理员用户可以创建角色,从而只有管理员用户可以取消一个组的权限。

REVOKE    
    (PRIVILEGE) [, (PRIVILEGE) ]    
    ON (OBJECT) (object_name)   
    FROM ROLE (roleName) [,ROLE (roleName)]

##GRANT (PRIVILEGE) ... WITH GRANT OPTION 在cdh5.2中,你可以委托给其他角色来授予和解除权限。比如,一个角色被授予了WITH GRANT OPTION的权限可以GRANT/REVOKE同样的权限给其他角色。因此,如果一个角色有一个库的所有权限并且设置了 WITH GRANT OPTION,该角色分配的用户可以对该数据库和其中的表执行GRANT/REVOKE语句。

GRANT
    (PRIVILEGE) 
    ON (OBJECT) (object_name)
    TO ROLE (roleName)
    WITH GRANT OPTION

只有一个带GRANT选项的特殊权限的角色或者它的父级权限可以从其他角色解除这种权限。一旦下面的语句执行,所有跟其相关的grant权限将会被解除。

REVOKE
    (RIVILEGE)
    ON (BJECT) (bject_name)
    FROM ROLE (roleName)

Hive目前不支持解除之前赋予一个角色 WITH GRANT OPTION 的权限。要想移除WITH GRANT OPTION、解除权限,可以重新去除 WITH GRANT OPTION这个标记来再次附权。

##SET ROLE Statement SET ROLE语句可以给当前会话选择一个角色使之生效。一个用户只能启用分配给他的角色。任何不存在的角色和当前用户不能使用的角色是不能生效的。如果没有使用任何角色,用户将会使用任何一个属于他的角色的权限。

  • 选择一个角色使用:
To enable a specific role: 
  • 使用所有的角色:
To enable a specific role: 
  • 关闭所有角色
SET ROLE NONE;

##SHOW Statement

  • 显示当前用户拥有库、表、列相关权限的数据库:
SHOW DATABASES;
  • 显示当前用户拥有表、列相关权限的表;
SHOW TABLES;
  • 显示当前用户拥有SELECT权限的列:
SHOW COLUMNS (FROM|IN) table_name [(FROM|IN) db_name];
  • 显示当前系统中所有的角色(只有管理员用户可以执行):
SHOW ROLES;
  • 显示当前影响当前会话的角色:
SHOW CURRENT ROLES;
  • 显示指定组的被分配到的所有角色(只有管理员用户和指定组内的用户可以执行)
SHOW ROLE GRANT GROUP (groupName);
  • SHOW语句可以用来显示一个角色被授予的权限或者显示角色的一个特定对象的所有权限。 显示指定角色的所有被赋予的权限。(只有管理员用户和指定角色分配到的用户可以执行)。下面的语句也会显示任何列级的权限。
SHOW GRANT ROLE (roleName);
  • 显示指定对象的一个角色的所有被赋予的权限(只有管理员用户和指定角色分配到的用户可以执行)。下面的语句也会显示任何列级的权限。
SHOW GRANT ROLE (roleName) on (OBJECT) (objectName);

© 著作权归作者所有

共有 人打赏支持
PeanutLike
粉丝 38
博文 22
码字总数 34274
作品 0
徐汇
技术主管
搭建私有的前端监控服务: sentry

去年底写过一篇简单而完整地体验一遍sentry的sourcemap服务, 是完全基于使用层面的. 由于有需求需要自行搭建sentry, 整理一下搭建流程 版本 8.22.0 参考github release 搭建方式 通过Docker ...

YDJFE ⋅ 06/15 ⋅ 0

nginx temp缓存导致的诡异问题描述

站点结构是nginx+fpm所有的配置检查都没有问题但是站点去下载文件的时候只能传递一点点数据,剩余的文件无法加载,无法读取,无法下载,这种问题多么的诡异开始以为Laravel的文件下载用错了不...

xueyi28 ⋅ 04/19 ⋅ 0

谷歌黑科技:gVisor轻量级容器运行时沙箱

谷歌发布了一种新型沙箱gVisor,可以用于为资源占用较少、不需要运行完整VM的容器提供安全隔离。gVisor的核心是一个使用Go编写的开源用户空间内核,与现有的容器技术相比,其设计做了不同的权...

六库科技 ⋅ 05/29 ⋅ 0

前端代码错误日志监控——Sentry

随着项目工程化的发展,对于提升产品性能的要求也越来越多。产品即便通过研发自测,测试各种测,到了用户使用过程中,依然还是会出现一些bug;这对这些bug,不是所有用户会进行反馈(难以发现...

黑魔法 ⋅ 04/17 ⋅ 0

django 1.8 官方文档翻译: 6-6-2 如何使用WSGI 部署

如何使用WSGI 部署 Django 首要的部署平台是WSGI,它是Python Web 服务器和应用的标准。 Django 的 管理命名为你设置一个简单的默认WSGI 配置,你可以根据你项目的需要做调整并指定任何与WSG...

apachecn_飞龙 ⋅ 2015/08/29 ⋅ 0

详解Linux运维工程师高级篇(大数据安全方向)

详解linux运维工程师高级篇(大数据安全方向) hadoop安全目录: kerberos(已发布) elasticsearch knox oozie ranger apache sentry 简介: 从运维青铜到运维白银再到运维黄金,这里就要牵...

cs312779641 ⋅ 02/07 ⋅ 0

2016中国“互联网+”千人论坛 ——“互联网业务与技术”分论坛成功举办 聚焦大数据与人工智能

活动现场 2016年9月3日,由CIO时代网、中国互联网协会、“互联网+”研究咨询中心、正益移动AppCan联合主办,中国互联网协会互联网工业应用委员会协办的2016中国“互联网+”千人论坛在北京国际...

玄学酱 ⋅ 05/15 ⋅ 0

hive集成sentry的sql使用语法

Sentry权限控制通过Beeline(Hiveserver2 SQL 命令行接口)输入Grant 和 Revoke语句来配置。语法跟现在的一些主流的关系数据库很相似。需要注意的是:当sentry服务启用后,我们必须使用beeli...

bxst ⋅ 2017/07/03 ⋅ 0

Nigelthorn恶意软件滥用Chrome扩展来加密挖矿和窃取数据

     2018年5月3日,Radware用机器学习算法检测到一个0 day恶意软件威胁。该恶意软件通过Facebook的社会工程链接进行传播,并通过滥用Chrome扩展来感染用户,该扩展可以执行证书窃取,加密货...

嘶吼RoarTalk ⋅ 05/15 ⋅ 0

关于一个NMOS+PMOS开关电路失效的分析

MOS为电压控制电流的模式,BJT(三极管)为电流控制电流,因此MOS相比于BJT更常用一些。 最近一个项目用到了PMOS+NMOS作为开机信号,开机要求为高电平开机,最小电压为1.8V,耐压可达17V,为...

kingsai2012 ⋅ 2017/03/08 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

两道面试题,带你解析Java类加载机制

在许多Java面试中,我们经常会看到关于Java类加载机制的考察,例如下面这道题: class Grandpa{ static { System.out.println("爷爷在静态代码块"); }} cl...

1527 ⋅ 10分钟前 ⋅ 0

SpringCloud(Data Flow)

dataflow-server

赵-猛 ⋅ 20分钟前 ⋅ 0

深入理解Java虚拟机

这本书我读到第8章,之后就是在读不下去了。 读到后面是一种痛苦的体验,太多的东西是不全面的,大量的专有名词是没有解释的,读到最后很多东西仅仅是一个侧面,所以我觉得,这本书不适合初学...

颖伙虫 ⋅ 25分钟前 ⋅ 0

B树和B+树的总结

B树 为什么要B树 磁盘中有两个机械运动的部分,分别是盘片旋转和磁臂移动。盘片旋转就是我们市面上所提到的多少转每分钟,而磁盘移动则是在盘片旋转到指定位置以后,移动磁臂后开始进行数据的...

浮躁的码农 ⋅ 28分钟前 ⋅ 0

NanoPi NEO core/ Ubuntu16.04单网卡配置3个IP地址(2个静态,1个动态)

配置 root@NanoPi-NEO-Core:/etc/network# cat interfacesauto loiface lo inet loopbackallow-hotplug eth0iface eth0 inet static address 172.31.188.249 netmask 255.......

SamXIAO ⋅ 55分钟前 ⋅ 0

三步为你的App集成LivePhoto功能

摘要:LivePhoto是iOS9新推出的一种拍照方式,类似于拍摄Gif图或录制视频片段生成图片。如果没有画面感,可以联想《哈利波特》霍格沃茨城堡的壁画,哈哈,很炫酷有木有,但坑爹的是只有iphone6S以...

壹峰 ⋅ 今天 ⋅ 0

centos7 git安装

由于centos中的源仓库中git不是最新版本,需要进行源码安装。 1、查看yum仓库git信息 [root@iZm5e3d4r5i5ml889vh6esZ zh]# yum info gitLoaded plugins: fastestmirrorLoading mirror s...

xixingzhe ⋅ 今天 ⋅ 0

input file 重复上传同一张图片失效的解决办法

解决办法 方法一:来回切换input[type='file']的type属性值,可以是‘text’,'button','button'....,然后再切换回来‘file’ 方法二:每次取消图片预览后,重置input[type='file']的value的...

时刻在奔跑 ⋅ 今天 ⋅ 0

Mahout推荐算法API详解

前言 用Mahout来构建推荐系统,是一件既简单又困难的事情。简单是因为Mahout完整地封装了“协同过滤”算法,并实现了并行化,提供非常简单的API接口;困难是因为我们不了解算法细节,很难去根...

xiaomin0322 ⋅ 今天 ⋅ 0

WampServer默认web服务器根目录位置

安装WampServer之后的web服务器根目录默认位置在WampServer安装目录下的www:

临江仙卜算子 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部