设为首页 收藏本站
查看: 1076|回复: 0

[经验分享] hive集成sentry的sql使用语法

[复制链接]

尚未签到

发表于 2018-10-20 08:48:57 | 显示全部楼层 |阅读模式
  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);



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-623877-1-1.html 上篇帖子: rhel-server-7.0 更改yum源 下篇帖子: linux源码安装zabbix_server
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表