启用授权选项,默认是false,后面的授权操作基于此选项为true进行
set hive.security.authorization.enabled=true
========================基于用户的授权===============================
获取当前用户
set system:user.name
授权在指定库下面删除表
grant drop on database db_1 to user yuzt
授权在指定库下面创建表
GRANT CREATE ON DATABASE db_1 TO USER yuzt;
授权查询某个表
grant select on table db_1.t3 to user yuzt
查看某个用户在指定库上有哪些权限
SHOW GRANT USER yuzt on DATABASE db_1;
结果:
hive> SHOW GRANT USER yuzt on DATABASE db_1;
OK
db_1 yuzt USER CREATE false 1464055421000 yuzt
db_1 yuzt USER DROP false 1464055458000 yuzt
收回权限
hive> revoke create on database db_1 from user yuzt;
=========基于用户组的授权(用户组是Linux系统定义的用户,下面的yuzt是用户组名)=========
grant select on table db_1.t3 to group yuzt;
说明:可以使用如下命令查看当前系统有哪些组
less /etc/passwd
cat /etc/passwd |awk -F [:] '{print $4}' |sort|uniq | getent group |awk -F [:] '{print $1}'
=================基于角色的授权===============================
创建角色
hive> create role create_on_db_1;
为角色赋予数据库对象的操作权限
grant create on database db_1 to role create_on_db_1
将角色授予某个用户
grant role create_on_db_1 to user yuzt;
hive.security.authorization.createtable.owner.grants
该选项用于表示,表创建完成后,用户可以自动获取哪些授权,默认是null
对创建赋予所有权限
<property>
<name>hive.security.authorization.createtable.owner.grants</name>
<value>
ALL
</value>
<description>
The privileges automatically granted to the owner whenever a table gets created.An example like "select,drop" will grant select and drop privilege to the owner of the table
</description>
</property>
针对不同的用户默认赋予一些权限
<property>
<name>hive.security.authorization.createtable.user.grants</name>
<value>admin1,edward:select;user1:create</value>
</property>
- 浏览: 1068019 次
- 性别:
- 来自: 北京
最新评论
-
jchubby:
关于第一个reduceByKey对应的cache,shuffl ...
【Spark三十七】Spark Cache机制 -
bo_hai:
看了你的文章,updateStateByKey 这个方式的使用 ...
【Spark八十八】Spark Streaming累加器操作(updateStateByKey) -
bo_hai:
棒极啦,解决了我的问题。
【Spark七十二】Spark的日志配置 -
tivan:
你好,这个代码生成主要在,那个地方使用。
【Spark105】Spark SQL动态代码生成一 -
zxsz4085:
看楼主这么厉害的样子,请问楼主如何知道类库的版本呢?比如g++ ...
【Thrift一】Thrift编译安装
相关推荐
15. hive.security.authorization.enabled 该参数决定了Hive是否开启权限认证。如果设置为true,则Hive将开启权限认证,默认值为false。 16. hive.exec.plan 该参数决定了Hive执行计划的路径,会在程序中自动进行...
例如,对于Kerberos,可能需要设置`hive.server2.use.SSL`和`hive.security.authorization.enabled`等属性。 10. **性能监控和日志记录**: 为了跟踪查询性能和调试问题,可以启用Hive的日志记录,并结合Hadoop的...
背景:由于Hive需要开启权限管理,安装网上教程,开启权限配置,重启集群后。 使用root用户登录,进入Hive...Authorization failed:No privilege 'Create' found for outputs { }. Use SHOW GRANT to get more details
### HiveSQL执行计划详解 #### 一、前言 在大数据处理领域,Hive作为一款广泛使用的数据仓库工具,提供了高效的数据查询与分析能力。为了更深入地理解HiveSQL的执行过程,掌握其执行计划变得尤为重要。执行计划是...
2. 基于SQL标准的授权(SQL Standards Based Authorization in HiveServer2) 这是Hive推荐的授权模型,因为它完全兼容SQL标准的授权机制。它不仅支持对用户的授权认证,还引入了角色(Role)的概念,使得权限管理...
在大数据处理领域,Hive 是一个非常重要的组件,它提供了基于 Hadoop 的数据仓库功能,使得用户可以通过 SQL 类似的查询语言 HiveQL 来处理存储在 Hadoop 分布式文件系统 (HDFS) 中的大量数据。"hive-role.zip" 文件...
2. `hive.enforce.authorization`:设置为`true`开启Hive的权限检查。 3. `hive.metastore.execute.setugi`:设置为`true`,使Hive Metastore服务在执行权限检查时使用用户的身份。 四、SQL命令进行权限控制 Hive...
14. **hive.security.authorization.enabled** - **含义**:控制Hive是否开启权限认证。 - **默认值**:`false` - **建议设置**:根据安全需求调整。 15. **hive.exec.plan** - **含义**:指定Hive执行计划的...
一、hive版本验证,FAILED: SemanticException org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata....解决方法 ...
- 可以使用EXPLAIN EXTENDED查看更详细的执行计划,EXPLAIN DEPENDENCY查看查询依赖关系,EXPLAIN AUTHORIZATION查看授权信息。 2. **Hive表创建**: - 创建表时可以定义表的结构和行格式(row format),包括...
在实际应用中,还需要考虑更复杂的权限管理策略,比如通过Hadoop的Authorization API实现细粒度的访问控制,以及利用Hive的Role-Based Access Control(RBAC)来管理不同角色的权限。此外,监控和审计也是确保Hadoop...
.authorization("digest", "username:password".getBytes()) // 如果需要认证 .build(); client.start(); // 使用client进行操作,如创建节点、读取数据等 } } ``` Curator框架还提供了很多其他高级功能,...
`hbase.security.authorization`设为`true`开启权限验证机制,这对于多用户环境下的数据安全至关重要。`hbase.unsafe.stream.capability.enforce`设为`false`是为了禁用某些可能引发问题的特性。`hbase.coprocessor....