温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Hive开启Sentry需要注意的点

发布时间:2020-06-13 01:46:52 来源:网络 阅读:307 作者:wjw870907 栏目:大数据

本文要点不在于配置,需要学习怎么配置请看https://blog.51cto.com/smilemask/2043930

1.add jar无法使用,原因是因为sentry认为引用第三方jar包可以绕过权限来获取到你想要的数据,那么真实需要引用如何解决?cdh 提供一个参数hive.reloadable.aux.jars.path,该参数已经替换原来aux jar path,在你上传到hiveserver2后指定lib目录下,如果有包名的重复,可以使用reload命令重新加载。那么如何开发需要测试怎么办呢?通过创建一个不存在的函数绕过,举例,我想引用一个json-serde包,在hql里执行CREATE FUNCTION testfc AS 'test' using jar 'hdfs:///tmp/json-serde_jar_file.jar'; 这句话会报错,但是会把你的jar包引用到hs2中,然后执行sql语句即可,需要注意grant uri授权

2.开启hdfs sentry同步。基本上hive开启sentry后也会开启次选项,这样权限在sql层面和文件系统层面都得到了安全限制。开启后,你指定的同步目录比如/user/hive/warehouse 下的库或者表会变成hive:hive 771 ,然后用hadoop fs getfacl查看可以得到这个库或者表一些特殊用户权限,这个权限和hive或者impala上设置的权限就一样了。当sentry退回后,用户和组权限会变回原来的设置。值得注意的是,如果是在hdfs新增的数据,那么还是开启hdfs同步后的权限,hive:hive 771,这个需要额外处理,因为用户都无法查看这个数据。如果是一些外部表路径比如/tmp/aaa/database/table ,在你设置额外同步目录/tmp/aaa时,aaa目录并不会有771 hive:hive权限,到库层级才会变成那样,原因是hive里面有默认配置的数仓目录

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI