1 角色管理命令

1.1 创建角色

创建一个新角色,需要 admin 用户执行

CREATE ROLE role_name;

1.2 删除角色

删除一个角色,需要 admin 用户执行

DROP ROLE role_name;

1.3 显示当前角色

显示用户当前角色列表

SHOW CURRENT ROLES;

1.4 设定角色

如果指定了role_name,则该角色将成为当前角色中的唯一角色

将Role_Name设置为All将刷新当前角色的列表(在新角色被授予用户的情况下),并将其设置为默认的角色列表。

将Role_Name设置为None将从当前用户中删除所有当前角色。

SET ROLE (role_name|ALL|NONE);

1.5 显示角色

列出所有当前存在的角色。

只有admin角色对此有特权。

SHOW ROLES;

1.6 赋权/撤销语法

第一种

将一个或多个角色授予其他角色或用户。

如果指定了“WITH ADMIN OPTION”,则用户将获得将该角色授予其他用户/角色的权限。

如果授予语句最终在角色之间创建循环关系,则该命令将失败并出现错误。

GRANT role_name [, role_name] ...

TO principal_specification [, principal_specification] ...

[ WITH ADMIN OPTION ];

principal_specification

: USER user

| ROLE role

从FROM子句中的用户/角色中撤消角色的成员权限。

REVOKE [ADMIN OPTION FOR] role_name [, role_name] ...

FROM principal_specification [, principal_specification] ... ;

principal_specification

: USER user

| ROLE role

第二种

GRANT ROLE role_name [, role_name] ...

TO principal_specification [, principal_specification] ...

[WITH ADMIN OPTION]

REVOKE [ADMIN OPTION FOR] ROLE role_name [, role_name] ...

FROM principal_specification [, principal_specification] ...

principal_specification:

USER user

| GROUP group

| ROLE role

1.7 显示角色授予

principal_name是用户或角色的名称。

列出已授予给定用户或角色的所有角色。

SHOW ROLE GRANT (USER|ROLE|GROUP ) principal_name;

示例:

0: jdbc:hive2://localhost:10000> SHOW ROLE GRANT USER user1;

+---------+---------------+----------------+----------+

| role | grant_option | grant_time | grantor |

+---------+---------------+----------------+----------+

| public | false | 0 | |

| role1 | false | 1398284083000 | uadmin |

+---------+---------------+----------------+----------+

1.8 列出所有角色和属于该角色的用户

仅admin角色对此具有特权。

SHOW PRINCIPALS role_name;

示例:

0: jdbc:hive2://localhost:10000> SHOW PRINCIPALS role1;

+-----------------+-----------------+---------------+----------+---------------+----------------+

| principal_name | principal_type | grant_option | grantor | grantor_type | grant_time |

+-----------------+-----------------+---------------+----------+---------------+----------------+

| role2 | ROLE | false | uadmin | USER | 1398285926000 |

| role3 | ROLE | true | uadmin | USER | 1398285946000 |

| user1 | USER | false | uadmin | USER | 1398285977000 |

+-----------------+-----------------+---------------+----------+---------------+----------------+

2 权限管理

2.1 赋权和移除权限

对表或视图赋权/撤销授权

GRANT

priv_type [, priv_type ] ...

ON table_or_view_name

TO principal_specification [, principal_specification] ...

[WITH GRANT OPTION];

REVOKE [GRANT OPTION FOR]

priv_type [, priv_type ] ...

ON table_or_view_name

FROM principal_specification [, principal_specification] ... ;

principal_specification

: USER user

| ROLE role

priv_type

: INSERT | SELECT | UPDATE | DELETE | ALL

对列赋权/撤销授权

GRANT

priv_type [(column_list)]

[, priv_type [(column_list)]] ...

[ON object_specification]

TO principal_specification [, principal_specification] ...

[WITH GRANT OPTION]

REVOKE [GRANT OPTION FOR]

priv_type [(column_list)]

[, priv_type [(column_list)]] ...

[ON object_specification]

FROM principal_specification [, principal_specification] ...

REVOKE ALL PRIVILEGES, GRANT OPTION

FROM user [, user] ...

priv_type:

ALL | ALTER | UPDATE | CREATE | DROP

| INDEX | LOCK | SELECT | SHOW_DATABASE

object_specification:

TABLE tbl_name

| DATABASE db_name

principal_specification:

USER user

| GROUP group

| ROLE role

如果授予用户对表或视图的WITH GRANT OPTION特权,则该用户还可以赋权/撤消其他用户的特权以及这些对象上的角色。

示例:

0: jdbc:hive2://localhost:10000/default> grant select on table secured_table to role my_role;

No rows affected (0.046 seconds)

0: jdbc:hive2://localhost:10000/default> revoke update, select on table secured_table from role my_role;

No rows affected (0.028 seconds)

2.2 显示权限

SHOW GRANT [principal_specification] ON (ALL | [TABLE] table_or_view_name);

principal_specification

: USER user

| ROLE role

2.3 管理对象权限的示例

2.3.1 创建角色,并将指定数据库所有/只读权限赋给该角色

--创建名为bigdata_admin_role的角色

CREATE ROLE bigdata_admin_role;

--将数据库bigdata_db的所有权限赋给bigdata_admin_role角色

GRANT ALL ON DATABASE bigdata_db TO ROLE bigdata_admin_role;

--将集群路径所有权限赋权给bigdata_admin_role角色

GRANT ALL ON URI 'hdfs://nameservice/user/bigdata' TO bigdata_admin_role;

--将bigdata_admin_role角色的权限给到bigdata_g组

GRANT ROLE bigdata_admin_role TO GROUP bigdata_g;

--至此,bigdata_g 组下的所有用户拥有了操作bigdata_db库的所有权限

--创建名为bigdata_read_role的角色,该角色只有只读权限

CREATE ROLE bigdata_read_role;

--将数据库bigdata_db的select权限赋给bigdata_read_role角色

GRANT SELECT ON DATABASE bigdata_db TO ROLE bigdata_read_role;

--将集群路径所有权限赋权给bigdata_admin_role角色

GRANT ALL ON URI 'hdfs://nameservice/user/bigdata' TO bigdata_read_role;

--将bigdata_admin_role角色的权限给到bigdata_g组

GRANT ROLE bigdata_read_role TO GROUP bigdata_g;

--至此,bigdata_g 组下的所有用户拥有了操作bigdata_db库的读权限

--创建一个用户组hive_g,并给该角色赋权查询bigdata_db.test_tb的权限

CREATE ROLE hive_read_role;

GRANT ROLE hive_read_role TO GROUP hive_g;

GRANT SELECT ON TABLE bigdata_db.test_tb TO ROLE hive_read_role;

找出用户ashutosh对表hivejiratable拥有的特权:

0: jdbc:hive2://localhost:10000> show grant user ashutosh on table hivejiratable;

+-----------+----------------+------------+---------+-----------------+-----------------+------------+---------------+----------------+----------+

| database | table | partition | column | principal_name | principal_type | privilege | grant_option | grant_time | grantor |

+-----------+----------------+------------+---------+-----------------+-----------------+------------+---------------+----------------+----------+

| default | hivejiratable | | | ashutosh | USER | DELETE | false | 1398303419000 | thejas |

| default | hivejiratable | | | ashutosh | USER | SELECT | false | 1398303407000 | thejas |

+-----------+----------------+------------+---------+-----------------+-----------------+------------+---------------+----------------+----------+

找出用户ashutosh对所有对象具有的特权:

0: jdbc:hive2://localhost:10000> show grant user ashutosh on all;

+-----------+-------------------+------------+---------+-----------------+-----------------+------------+---------------+----------------+----------+

| database | table | partition | column | principal_name | principal_type | privilege | grant_option | grant_time | grantor |

+-----------+-------------------+------------+---------+-----------------+-----------------+------------+---------------+----------------+----------+

| default | hivecontributors | | | ashutosh | USER | DELETE | false | 1398303576000 | thejas |

| default | hivecontributors | | | ashutosh | USER | INSERT | false | 1398303576000 | thejas |

| default | hivecontributors | | | ashutosh | USER | SELECT | false | 1398303576000 | thejas |

| default | hivejiratable | | | ashutosh | USER | DELETE | false | 1398303419000 | thejas |

| default | hivejiratable | | | ashutosh | USER | SELECT | false | 1398303407000 | thejas |

+-----------+-------------------+------------+---------+-----------------+-----------------+------------+---------------+----------------+----------+

找出所有用户对表hivejiratable拥有的特权:

0: jdbc:hive2://localhost:10000> show grant on table hivejiratable;

+-----------+----------------+------------+---------+-----------------+-----------------+------------+---------------+----------------+----------+

| database | table | partition | column | principal_name | principal_type | privilege | grant_option | grant_time | grantor |

+-----------+----------------+------------+---------+-----------------+-----------------+------------+---------------+----------------+----------+

| default | hivejiratable | | | ashutosh | USER | DELETE | false | 1398303419000 | thejas |

| default | hivejiratable | | | ashutosh | USER | SELECT | false | 1398303407000 | thejas |

| default | hivejiratable | | | navis | USER | INSERT | false | 1398303650000 | thejas |

| default | hivejiratable | | | navis | USER | SELECT | false | 1398303650000 | thejas |

| default | hivejiratable | | | public | ROLE | SELECT | false | 1398303481000 | thejas |

| default | hivejiratable | | | thejas | USER | DELETE | true | 1398303380000 | thejas |

| default | hivejiratable | | | thejas | USER | INSERT | true | 1398303380000 | thejas |

| default | hivejiratable | | | thejas | USER | SELECT | true | 1398303380000 | thejas |

| default | hivejiratable | | | thejas | USER | UPDATE | true | 1398303380000 | thejas |

+-----------+----------------+------------+---------+-----------------+-----------------+------------+---------------+----------------+----------+

hive 创建访问用户_hive创建角色并赋权相关推荐

  1. hive创建角色并赋权

    1 角色管理命令 1.1 创建角色 创建一个新角色,需要 admin 用户执行 CREATE ROLE role_name; --示例:创建名为bigdata_admin_role的角色 CREATE ...

  2. sql service 从创建访问用户到数据库访问 【SQL】

    create login [LoginMame] with password=[Pwd] --创建数据库登陆用户 create user [DBLoginName] for login [LoginM ...

  3. MySQL给用户设置密码(修改密码)、创建用户,grant为某个IP、某个网段或所有IP地址创建访问用户并授权

    1. 设置密码 1.1 我们刚安装完mysql,登录是不需要密码的,可以直接进入,如下图. 1.2 感觉没密码总是不靠谱,所以想要设置一个密码.其实我们只要修改一下用户表中对应用户的密码就可以重新设置 ...

  4. PostgreSQL的登录、创建用户、数据库并赋权

    Table of Contents 一.在默认配置条件下,本机访问PostgreSQL 二.创建新用户来访问PostgreSQL 1.如上所述,先切换到Linux用户postgres,并执行psql: ...

  5. 【MySQL】 # MySQL对用户权限的简单操作:(1)创建新用户(2)赋权限

    MySQL对用户权限操作的详细内容:MySQL权限操作 1. 创建新用户 一般使用 Navicat 直接登录 MySQL,也可以使用命令行 mysql -u root -p,然后输入密码即可. 1.1 ...

  6. hive jdbc 访问 配置_Hive入门级教程(详细)

    什么是Hive Hive 是建立在 Hadoop上的数据仓库基础构架.它提供了一系列的工具,可以用来进行数据提取转化加载(ETL ),这是一种可以存储.查询和分析存储在 Hadoop 中的大规模数据的 ...

  7. oracle 创建用户表空间及赋权

    最近在使用数据库经常创建用户表空间 ,再次记录一下 /*第一步:创建数据表空间  */ create tablespace **** logging datafile '/u02/oradata/or ...

  8. oracle查看角色内容,oracle创建,查看用户和角色,用户角色赋权

    一.创建用户并赋予权限 1.创建用户 create user wangxiangyu identified by wangxiangyu; 2.赋权 grant dba to wangxiangyu; ...

  9. oracle 将包赋权给用户,oracle数据库如何创建用户和角色,并给其赋权?

    一.创建用户并赋予权限 1.创建用户 create user wangxiangyu identified by wangxiangyu; 2.赋权 grant dba to wangxiangyu; ...

最新文章

  1. linux恢复设置文件夹,将.bashrc文件恢复到Ubuntu中的默认设置
  2. 我的 FPGA 学习历程(11)—— 实验:按键消抖
  3. echarts 图表配置tooltip 的formatter
  4. Spring boot应用如何支持https
  5. 【牛客 - 283H】图论一顿套模板(思维转化,Dijkstra)
  6. VMware专家:行动起来 狙击云炒作
  7. leetcode-全排列详解(回溯算法)
  8. 模糊评价模型-以2018美赛为例
  9. HTML网页设计:十一、表单
  10. 毛驴县令第二季简介及其下载
  11. pspice仿真错误
  12. 第四届中国金融风云榜9月在深圳盛大揭晓
  13. sqlserver 附加数据库失败,操作系统错误 5:5(拒绝访问。)的解决办法
  14. 语义化版本号 Sematic Versioning
  15. 四元数旋转表达(Hamilton notation JPL notation)
  16. 操作系统中 完成时间,周转时间,带权周转时间和到达时间,服务时间是什么关系,怎么算
  17. 读《矿矿上高中一年级》所得到的收获
  18. ps命令 proc文件系统
  19. Docker 底层技术推导
  20. 项目管理常见题目举例整理

热门文章

  1. VMware Workstation虚拟机窗口小,无法显示内部系统全部桌面
  2. php导出excel数据代码,phpspreadsheet导出数据到Excel的方法介绍(代码示例)
  3. 把树分成森林 matlab,20170106RF_Matlab 随机森林指的是利用多棵树对样本进行训练并预测的一种分类器,包括两个方面:数据的随 269万源代码下载- www.pudn.com...
  4. java 去掉 t_关于Java:在LocalDateTime中不能删除“ T”
  5. js访问对方手机文件夹_求JS大神帮我写个利用JS来实现手机端和PC端访问自动选择样式文件代码...
  6. Qt图形界面编程入门(标签与槽机制习题分享)
  7. pyqt5 下拉 多页 点击_PyQt5实战——自定义翻页控件实现
  8. android 资源如何下沉,关于Android业务模块下沉的一些实践及总结
  9. python 日志不会按照日期分割_django实现日志按日期分割
  10. python环境快速安装opencv 离线版安装