hive 创建访问用户_hive创建角色并赋权
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创建角色并赋权相关推荐
- hive创建角色并赋权
1 角色管理命令 1.1 创建角色 创建一个新角色,需要 admin 用户执行 CREATE ROLE role_name; --示例:创建名为bigdata_admin_role的角色 CREATE ...
- sql service 从创建访问用户到数据库访问 【SQL】
create login [LoginMame] with password=[Pwd] --创建数据库登陆用户 create user [DBLoginName] for login [LoginM ...
- MySQL给用户设置密码(修改密码)、创建用户,grant为某个IP、某个网段或所有IP地址创建访问用户并授权
1. 设置密码 1.1 我们刚安装完mysql,登录是不需要密码的,可以直接进入,如下图. 1.2 感觉没密码总是不靠谱,所以想要设置一个密码.其实我们只要修改一下用户表中对应用户的密码就可以重新设置 ...
- PostgreSQL的登录、创建用户、数据库并赋权
Table of Contents 一.在默认配置条件下,本机访问PostgreSQL 二.创建新用户来访问PostgreSQL 1.如上所述,先切换到Linux用户postgres,并执行psql: ...
- 【MySQL】 # MySQL对用户权限的简单操作:(1)创建新用户(2)赋权限
MySQL对用户权限操作的详细内容:MySQL权限操作 1. 创建新用户 一般使用 Navicat 直接登录 MySQL,也可以使用命令行 mysql -u root -p,然后输入密码即可. 1.1 ...
- hive jdbc 访问 配置_Hive入门级教程(详细)
什么是Hive Hive 是建立在 Hadoop上的数据仓库基础构架.它提供了一系列的工具,可以用来进行数据提取转化加载(ETL ),这是一种可以存储.查询和分析存储在 Hadoop 中的大规模数据的 ...
- oracle 创建用户表空间及赋权
最近在使用数据库经常创建用户表空间 ,再次记录一下 /*第一步:创建数据表空间 */ create tablespace **** logging datafile '/u02/oradata/or ...
- oracle查看角色内容,oracle创建,查看用户和角色,用户角色赋权
一.创建用户并赋予权限 1.创建用户 create user wangxiangyu identified by wangxiangyu; 2.赋权 grant dba to wangxiangyu; ...
- oracle 将包赋权给用户,oracle数据库如何创建用户和角色,并给其赋权?
一.创建用户并赋予权限 1.创建用户 create user wangxiangyu identified by wangxiangyu; 2.赋权 grant dba to wangxiangyu; ...
最新文章
- linux恢复设置文件夹,将.bashrc文件恢复到Ubuntu中的默认设置
- 我的 FPGA 学习历程(11)—— 实验:按键消抖
- echarts 图表配置tooltip 的formatter
- Spring boot应用如何支持https
- 【牛客 - 283H】图论一顿套模板(思维转化,Dijkstra)
- VMware专家:行动起来 狙击云炒作
- leetcode-全排列详解(回溯算法)
- 模糊评价模型-以2018美赛为例
- HTML网页设计:十一、表单
- 毛驴县令第二季简介及其下载
- pspice仿真错误
- 第四届中国金融风云榜9月在深圳盛大揭晓
- sqlserver 附加数据库失败,操作系统错误 5:5(拒绝访问。)的解决办法
- 语义化版本号 Sematic Versioning
- 四元数旋转表达(Hamilton notation JPL notation)
- 操作系统中 完成时间,周转时间,带权周转时间和到达时间,服务时间是什么关系,怎么算
- 读《矿矿上高中一年级》所得到的收获
- ps命令 proc文件系统
- Docker 底层技术推导
- 项目管理常见题目举例整理
热门文章
- VMware Workstation虚拟机窗口小,无法显示内部系统全部桌面
- php导出excel数据代码,phpspreadsheet导出数据到Excel的方法介绍(代码示例)
- 把树分成森林 matlab,20170106RF_Matlab 随机森林指的是利用多棵树对样本进行训练并预测的一种分类器,包括两个方面:数据的随 269万源代码下载- www.pudn.com...
- java 去掉 t_关于Java:在LocalDateTime中不能删除“ T”
- js访问对方手机文件夹_求JS大神帮我写个利用JS来实现手机端和PC端访问自动选择样式文件代码...
- Qt图形界面编程入门(标签与槽机制习题分享)
- pyqt5 下拉 多页 点击_PyQt5实战——自定义翻页控件实现
- android 资源如何下沉,关于Android业务模块下沉的一些实践及总结
- python 日志不会按照日期分割_django实现日志按日期分割
- python环境快速安装opencv 离线版安装