hive权限控制
2018-03-08 15:11
288 查看
原文 see https://www.jianshu.com/p/e5b80c3e7269
授权(authorization):验证用户所用身份操作是否有权限
目前hive(版本0.12.0)支持简单的权限管理,默认情况下是不开启,这样所有的用户都具有相同的权限,同时也是超级管理员,也就对hive中的所有表都有查看和改动的权利,这样是不符合一般数据仓库的安全原则的。Hive可以是基于元数据的权限管理,也可以基于文件存储级别的权限管理,此次以介绍MetaData权限管理为主。通过配置hive-site.xml开启Hive身份认证功能进行权限检查。
create role role_name;
drop role role_name;
展示所有roles
show roles
赋予角色权限
grant select on database db_name to role role_name;
grant select ont_name to role role_name;t_name;t_name from role role_name;
Db_privs:记录了User/Role在DB上的权限
Tbl_privs:记录了User/Role在table上的权限
Tbl_col_privs:记录了User/Role在table column上的权限
Roles:记录了所有创建的role
Role_map:记录了User与Role的对应关系
作者:kimibob
链接:https://www.jianshu.com/p/e5b80c3e7269
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
说明
认证(authentication):验证用户所用的身份是否是对的授权(authorization):验证用户所用身份操作是否有权限
目前hive(版本0.12.0)支持简单的权限管理,默认情况下是不开启,这样所有的用户都具有相同的权限,同时也是超级管理员,也就对hive中的所有表都有查看和改动的权利,这样是不符合一般数据仓库的安全原则的。Hive可以是基于元数据的权限管理,也可以基于文件存储级别的权限管理,此次以介绍MetaData权限管理为主。通过配置hive-site.xml开启Hive身份认证功能进行权限检查。
配置
/*1.开启启身份认证后,任何用户必须被grant privilege才能对实体进行操作。*/ hive.security.authorization.enabled = true /*2.表示创建表时自动赋予一些用户或角色相应的权限*/ hive.security.authorization.createtable.owner.grants = ALL hive.security.authorization.createtable.role.grants = admin_role:ALL hive.security.authorization.createtable.user.grants = user1,user2:select;user3:create /*3.出现以下错误: Error while compiling statement: FAILED: SemanticException The current builtin authorization in Hive is incomplete and disabled. 需要配置属性 */ hive.security.authorization.task.factory = org.apache.hadoop.hive.ql.parse.authorization.HiveAuthorizationTaskFactoryImpl
角色管理(ing)
创建和删除角色create role role_name;
drop role role_name;
展示所有roles
show roles
赋予角色权限
grant select on database db_name to role role_name;
grant select on
权限名称 | 含义 |
---|---|
ALL | 所有权限 |
ALTER | 允许修改元数据(modify metadata data of object)—表信息数据 |
UPDATE | 允许修改物理数据(modify physical data of object)—实际数据 |
CREATE | 允许进行Create操作 |
DROP | 允许进行DROP操作 |
INDEX | 允许建索引(目前还没有实现) |
LOCK | 当出现并发的使用允许用户进行LOCK和UNLOCK操作 |
SELECT | 允许用户进行SELECT操作 |
SHOW_DATABASE | 允许用户查看可用的数据库 |
附
登录hive元数据库,可以发现以下表:Db_privs:记录了User/Role在DB上的权限
Tbl_privs:记录了User/Role在table上的权限
Tbl_col_privs:记录了User/Role在table column上的权限
Roles:记录了所有创建的role
Role_map:记录了User与Role的对应关系
作者:kimibob
链接:https://www.jianshu.com/p/e5b80c3e7269
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
相关文章推荐
- Hive权限控制
- hive权限控制介绍
- hive权限控制介绍
- Hive权限控制和超级管理员的实现
- hive权限控制
- hive权限控制介绍
- Hive 权限控制
- hive权限控制
- Hive权限控制和超级管理员的实现
- hive权限控制介绍
- hive权限控制介绍
- Hive 文件格式 & Hive操作(外部表、内部表、区、桶、视图、索引、join用法、内置操作符与函数、复合类型、用户自定义函数UDF、查询优化和权限控制)
- Hive权限控制和超级管理员的实现
- Hive权限控制和超级管理员的实现
- Hive权限控制中间层-Hamza
- 开放计算平台——数据仓库(Hive)权限控制
- HIVE权限控制(二),结合HDFS权限
- Hive权限控制和超级管理员的实现
- 【精华】Linux用户Hive权限控制实践
- HIVE权限控制(一)