Hive 权限管理
官方页面
Hive 三种授权模型:
1、Storage Based Authorization in the Metastore Server : 基于存储的授权 - 可以对Metastore中的元数据进行保护,但是没有提供更加细粒度的访问控制(例如:列级别、行级别)
2、 SQL Standards Based Authorization in HiveServer2 : 基于SQL标准的Hive授权 - 完全兼容SQL的授权模型,推荐使用该模式
3、Old default Hive Authorization (Legacy Mode) :hive默认授权 - 设计目的仅仅只是为了防止用户产生误操作,而不是防止恶意用户访问未经授权的数据。
重点解说 : SQL Standards Based Authorization in HiveServer2
完全兼容SQL的授权模型
除支持对于用户的授权认证,还支持角色role的授权认证(role可理解为是一组权限的集合,通过role为用户授权、一个用户可以具有一个或多个角色、默认包含另种角色:public、admin)
限制:
1、启用当前认证方式之后,dfs, add, delete, compile, and reset等命令被禁用
2、通过set命令设置hive configuration的方式被限制某些用户使用(可通过修改配置文件hive-site.xml中hive.security.authorization.sqlstd.confwhitelist进行配置)
3、添加、删除函数以及宏的操作,仅为具有admin的用户开放
4、用户自定义函数(开放支持永久的自定义函数),可通过具有admin角色的用户创建,其他用户都可以使用
5、Transform功能被禁用
1、在hive服务端修改配置文件hive-site.xml添加以下配置内容
[root@node03 conf]# vi + hive-site.xml
hive.security.authorization.enabled true
hive.server2.enable.doAs false
hive.users.in.admin.role root
hive.security.authorization.manager org.apache.hadoop.hive.ql.security.authorization.plugin.sqlstd.SQLStdHiveAuthorizerFactory
hive.security.authenticator.manager org.apache.hadoop.hive.ql.security.SessionStateUserAuthenticator
2、重启hive metastore
[root@node03 conf]# hive --service metastore
2021-06-30 23:26:32: Starting Hive Metastore Server3、服务端启动hiveserver2;客户端通过beeline进行连接
[root@node03 ~]# hiveserver2
which: no hbase in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/java/jdk1.8.0_291-amd64/bin:/opt
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
