Hive开启Sentry需要注意的点-创新互联

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

成都创新互联公司长期为近1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为南涧企业提供专业的网站设计、成都网站设计,南涧网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。

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里面有默认配置的数仓目录

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


名称栏目:Hive开启Sentry需要注意的点-创新互联
标题来源:http://azwzsj.com/article/ceoece.html