Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >EMR上Hive ACL配置

EMR上Hive ACL配置

原创
作者头像
程序猿
修改于 2018-08-12 14:11:49
修改于 2018-08-12 14:11:49
1.9K00
代码可运行
举报
运行总次数:0
代码可运行
  • hive-site.xml配置(配置中设置了hadoop为admin用户):
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<property>
	<name>hive.security.authorization.enabled</name>
	<value>true</value>
</property>
<property>
	<name>hive.server2.enable.doAs</name>
	<value>false</value>
</property>
<property>
	<name>hive.users.in.admin.role</name>
	<value>hadoop</value>
</property>
<property>
	<name>hive.security.metastore.authorization.manager</name>
	<value>org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider,org.apache.hadoop.hive.ql.security.authorization.MetaStoreAuthzAPIAuthorizerEmbedOnly</value>
</property>
<property>
	<name>hive.security.metastore.authenticator.manager</name>
	<value>org.apache.hadoop.hive.ql.security.HadoopDefaultMetastoreAuthenticator</value>
</property>
<property>
	<name>hive.security.authorization.manager</name>
	<value>org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdConfOnlyAuthorizerFactory</value>
</property>
  • hiveserver2-site.xml配置:
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
	<property>
		<name>hive.security.authorization.manager</name>
		<value>org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactory</value>
	</property>

	<property>
		<name>hive.security.authorization.enabled</name>
		<value>true</value>
	</property>

	<property>
		<name>hive.security.authenticator.manager</name>
		<value>org.apache.hadoop.hive.ql.security.SessionStateUserAuthenticator</value>
	</property>
</configuration>
  • 重启hiveserver2

到目前为止,hive就已经支持acl功能了。现在来看看如果使用acl功能(常用命令)。

  • beeline登录hive(使用admin账号:hadoop):

beeline -u "jdbc:hive2://localhost:7001/" -n hadoop

  • 切换当前用户为admin权限:set role admin;
  • 角色命令: 创建角色:create role role_name; 查看角色:drop role role_name; 删除角色:drop role role_name;
  • 角色权限命令: 给角色设置权限:grant select on table table_name to role role_name; 解除:revoke select on table table_name from role role_name; 查看角色的权限:show grant role role_name on table table_name;
  • 权限包含: 1.SELECT:赋予读取某个对象的权限 2.INSERT:赋予添加数据至某个对象(表)的权限 3.UPDATE:赋予在某个对象(表)上执行更新操作的权限; 4.DELETE:赋予在某个对象(表)上删除数据的权限; 5.ALL:赋予在某个对象上的所有权限(被转换成拥有上面四个权限)
  • 角色用户命令: 给用户分配角色:grant role_name to USER user_name; 解除使用:revoke role_name from USER user_name; 查询用户有什么角色:show role grant user user_name; 查看角色下有哪些用户:show principals role_name;

目前为止,大概知道了如果使用hive的acl了,接下来实际给个例子,使用acl:

=====创建表及数据 create table if not exists table1 (name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ','; create table if not exists table2 (name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ','; create table if not exists table3 (name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';

insert into table1 values ('t1-1'),('t1-2'); insert into table2 values ('t2-1'),('t2-2'); insert into table3 values ('t3-1'),('t3-2'); ========权限设计 1. 数据组(dev可读可写tabel1和table2),运营组(om可读table1和table2),boss组(可读table1、table2和table3,同时可写table3) 2. 给dev_1用户分配dev的role,给om_1分配om的role,给boss_1分配boss的role

=======实操 利用hadoop登录:beeline -u "jdbc:hive2://localhost:7001/" -n hadoop 切换admin角色:set role admin; 创建角色: create role dev; create role om; create role boss; show roles;

角色分配权限: grant ALL on table table1 to role dev; grant ALL on table table2 to role dev; grant select on table table1 to role om; grant select on table table2 to role om; grant select on table table1 to role boss; grant select on table table2 to role boss; grant ALL on table table3 to role boss; show grant role dev on table table1; show grant role om on table table1; show grant role boss on table table1; show grant role dev on table table2; show grant role om on table table2; show grant role boss on table table2; show grant role dev on table table3; show grant role om on table table3; show grant role boss on table table3;

让用户绑定角色: grant dev to USER dev_1; grant om to USER om_1; grant boss to USER boss_1; show role grant user dev_1; show role grant user om_1; show role grant user boss_1;

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Hive数据仓库之权限管理
延续数据仓库之Hive快速入门 - 离线&实时数仓架构一文,本文将介绍一下Hadoop/Hive自带的权限控制,权限控制是大数据平台非常重要的一部分,关乎数据安全。
端碗吹水
2020/11/12
4.1K0
Hive如何进行权限控制?
  目前hive支持简单的权限管理,默认情况下是不开启,这样所有的用户都具有相同的权限,同时也是超级管理员,也就对hive中的所有表都有查看和改动的权利,这样是不符合一般数据仓库的安全原则的。Hive可以是基于元数据的权限管理,也可以基于文件存储级别的权限管理。
挽风
2023/10/17
9560
Hadoop技术(三)数据仓库工具Hive
在这里可以回顾一下Hadoop的相关知识: 1.x job tracker 既管资源调度又管任务分配 2.x 分为ResourceManager(资源分配)和DataManager(任务分配) 牢记Hadoop 1.x与2.x架构图
时间静止不是简史
2020/07/24
2.1K0
Hadoop技术(三)数据仓库工具Hive
如何在CDH未启用认证的情况下安装及使用Sentry
CDH平台中的安全,认证(Kerberos/LDAP)是第一步,授权(Sentry)是第二步。如果要启用授权,必须先启用认证。但在CDH平台中给出了一种测试模式,即不启用认证而只启用Sentry授权。但强烈不建议在生产系统中这样使用,因为如果没有用户认证,授权没有任何意义形同虚设,用户可以随意使用任何超级用户登录HiveServer2或者Impala,并不会做密码校验。注:本文档仅适用于测试环境。
Fayson
2018/03/29
8.9K0
如何在CDH未启用认证的情况下安装及使用Sentry
CDP中的Hive3系列之保护Hive3
作为管理员,您需要了解运行 Hive 查询的 Hive 默认授权是不安全的,以及您需要做什么来保护您的数据。您需要了解您的安全选项:设置 Ranger 或基于存储的授权 (SBA),它基于模拟和 HDFS 访问控制列表 (ACL),或这些方法的组合。
大数据杂货铺
2021/08/20
2.5K0
0816-CDP Hive3升级说明
CDH5中的Hive版本是1.1,而CDP7中的Hive版本为3。Hive3相对Hive1更新特别多,比如支持全新的ACID v2机制,并且底层使用Tez和内存进行查询,相比MR的方式性能提升超过10倍,支持物化视图以及语法使用扩充等等。因为是一次大版本的更新,对于老的CDH5用户升级到CDP7,会需要对于Hive3有足够的了解与准备,才能保证升级成功。本文主要介绍Hive3的新特性,架构,以及语法改造说明。
Fayson
2020/11/03
3.3K1
如何使用Sentry管理Hive外部表权限
使用如下命令在HDFS的根目录下创建Hive外部表的数据目录/extwarehouse
Fayson
2018/03/29
5.5K0
如何使用Sentry管理Hive外部表权限
将Hive数据迁移到CDP
使用Replication Manager 将 Hive 数据迁移到 CDP 后,您可能需要执行其他任务。您需要了解 Hive 3.x 和更早版本之间的语义差异。其中一些差异要求您更改 Hive 脚本或工作流程。此外,您需要将使用 CDP 不支持的 Hive CLI 的脚本转换为 Beeline。
大数据杂货铺
2021/10/09
1.4K0
如何在CDH启用Kerberos的情况下安装及使用Sentry(二)
使用beeline连接HiveServer2,创建columnread角色并授权test表s1列的读权限,将columnread角色授权给fayson_r用户组
Fayson
2018/03/29
3.7K0
如何在CDH启用Kerberos的情况下安装及使用Sentry(二)
「EMR 运维指南」之 Impala 关联 Sentry + Hue
在EMR集群带公网master节点部署sentry服务,Impala的GROUP组需要在Impala server节点上进行创建系统组与之关联。
岳涛
2023/11/15
6851
「EMR 运维指南」之 Impala 关联 Sentry + Hue
Oracle 角色、配置文件
增加或删除角色中的某一权限,被授予该角色的所有用户或角色自动地获得新增权限或删除旧的权限
Leshami
2018/08/07
1.1K0
如何在CDH启用Kerberos的情况下安装及使用Sentry(一)
本文档主要讲述如何在启用Kerberos的CDH集群中安装配置及使用Sentry。
Fayson
2018/03/29
3.6K2
如何在CDH启用Kerberos的情况下安装及使用Sentry(一)
大数据平台之权限管理组件 - Aapche Ranger
Apache Ranger提供一个集中式安全管理框架, 并解决授权和审计。它可以对Hadoop生态的组件如HDFS、Yarn、Hive、Hbase等进行细粒度的数据访问控制。通过操作Ranger控制台,管理员可以轻松的通过配置策略来控制用户访问权限。Ranger优点:
端碗吹水
2020/11/13
5.6K4
大数据平台之权限管理组件 - Aapche Ranger
如何使用Sentry为包含特殊字符的用户组授权
Apache Sentry是由Cloudera贡献给Hadoop开源社区的组件,它提供了细粒度级、基于角色的授权以及多租户的管理模式。Sentry当前可以和Hive/Hcatalog、Apache Solr 、Apache Kafka以及Cloudera Impala等集成。
Fayson
2018/09/29
2.5K0
CDP中的Hive3系列之启动Apache Hive3
如果您想使用 Apache Hive 进行快速测试,您可以使用 Hive 默认授权模式来执行此操作,假设您位于不安全的集群上(没有 Kerberos 或 Ranger 策略)。默认授权模式下,只有用户hive可以访问Hive。启动 Hive shell 的步骤,不要与 CDP 不支持的 Hive CLI 混淆,包括如何登录到集群。
大数据杂货铺
2021/08/20
1.4K0
hive之路4-CLI和Beeline
beeline是hiveserver2的CLI,一个JDBC的客户端,分为两种模式
皮大大
2021/03/02
1K0
HBase的ACL说明
特别说明:该专栏文章均来源自微信公众号《大数据实战演练》,欢迎关注!
create17
2019/02/14
3K0
HBase的ACL说明
用ranger对hive metastore 进行授权管理
hive standalone metastore 3.1.2可作为独立服务,作为spark、flink、presto等服务的元数据管理中心,然而在现有的hive授权方案中只有针对hiveserver2的授权,所以本文针对hive standalone metastore独立服务使用ranger对连接到hive metastore的用户进行授权访问,以解决hive standalone metastore无权限验证问题。
从大数据到人工智能
2022/01/15
1.9K0
用ranger对hive metastore 进行授权管理
运维常用 mysql 语句
上周隔壁专题推送最后一篇Nginx文章(公众号出门左转 Nginx专题) ,从本周开始每周一推送MySql主题文章(Docker 主题每周四不变),文章内容均为运维方向相关,聚沙成塔,集腋成裘,第一篇文章讲一下运维工作中经常使用的 MySql 语句。
用户1560186
2019/12/19
1.6K0
大数据技术之_08_Hive学习_01_Hive入门+Hive安装、配置和使用+Hive数据类型
  Hive:由Facebook开源用于解决海量结构化日志的数据统计(分析框架)。   Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类SQL查询功能。 本质是:将HQL转化成MapReduce程序。
黑泽君
2019/03/08
9810
大数据技术之_08_Hive学习_01_Hive入门+Hive安装、配置和使用+Hive数据类型
相关推荐
Hive数据仓库之权限管理
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验