zoukankan      html  css  js  c++  java
  • 在hue当中设置hive当中数据库的控制权限。

    这段时间在搞大数据的集群搭建工作,并且安装了hive的服务,但是没有对其中的数据库的操作权限做限制,每个人都可以对数据库进行增删改查。今天有空做了一下了对hive数据库当中的数据库做一些限制。

    我们都是在hue的客户端进行操作hive当中的数据库。操作如下:

    (1)在hue界面创建登录用户:

    (2)   配置hive权限控制

    <property>
    
    <name>hive.security.authorization.enabled</name>
    
    <value>true</value>
    
    </property>
    
    <property>
    
    <name>hive.security.authorization.createtable.owner.grants</name>
    
    <value>ALL</value>
    
    </property>
    
    <property>
    
    <name>hive.security.authorization.task.factory</name>
    
    <value>org.apache.hadoop.hive.ql.parse.authorization.HiveAuthorizationTaskFactoryImpl</value>
    
    </property>  如上图所示在hive的配置文件当中加入这些配置,控制hive的执行权限。

     (3)给集群服务器添加用户(集群节点都要添加)

    useradd bigdata 这里是创建bigdata用户

    passwd bigdata 这里是给bigdata用户进行密码的设置。

    重启hive服务
    然后打开hive的客户端,在客户端上面执行如下命令:

    CREATE ROLE bigdata;(创建数据库角色)

    GRANT ROLE bigdata TO USER bigdata;(将数据库角色赋予用户)

    GRANT CREATE ON DATABASE test TO role bigdata;(给角色test库的建表权限) 这里执行是给数据库test赋予创建表的权限。这里的数据库test自己提前创建好。

    GRANT SELECT ON DATABASE test TO role bigdata;(给查询权限) 这里赋予数据库test查询的执行的权限。

    grant ALL ON DATABASE test TO USER bigdata; 这里是将所有的权限给数据库test,他的用户的bigdata。

    当然了这里既然可以进行赋予权限当然也可以进行撤回权限。

    REVOKE ALL on database test from user bigdata;(收回权限) 但是这里的权限一旦你只赋予一部分的权限给数据库test是撤回不了的。具体的报错如下;

     FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. org.apache.hadoo 
     
    从上面的截图中可以看出只有赋予全部权限的时候才能将权限撤回来,要不然报错。
    我们也可以查看给bigdata角色赋予的权限:
    这里我们能看到我们赋予角色创建和查询的权限。然后登陆hue的客户端进行试验。确实是可以进行查询和创建的。为了试一下能不能正真的控制权限我将全部的权限撤回来。然后只给这个角色查询的权限。但是报错。

     FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. org.apache.hadoo 
    还是报这个错,最后的解决办法是将创建的的角色bigdata删除掉,然后重新创建。然后再执行命令就可以了。就是这么简单。
    这次只给bigdata用户操作hive数据库test的查询权限。创建权限是没有给,然后测试效果如下:
    这里显示是没有创建数据的权限的,至此给一个用户操作数据的权限的赋予完成。

     详细可以参考:

    https://blog.csdn.net/lituao_lt/article/details/78590677

  • 相关阅读:
    543. Diameter of Binary Tree
    1519. Number of Nodes in the Sub-Tree With the Same Label
    WinCMD CMDKEY
    Delphi TDataSet
    Delphi DBGrid 实现多选和获取多选的值
    Access 错误: Data type mismatch in criteria expression
    Delphi Timage 介绍和操作[1](图片判断、清空、类型)
    Delphi WinAPI CopyFile、CopyFileEx、CopyFileTransacted -复制文件
    Delphi 图片转换(jpg、bitmap、png、gif)
    WinCMD NET USE 命令
  • 原文地址:https://www.cnblogs.com/gxgd/p/9687976.html
Copyright © 2011-2022 走看看