0
点赞
收藏
分享

微信扫一扫

Sentry赋予server1权限给hive以外用户时ACL不同步问题分析

Sikj_6590 2022-11-15 阅读 69

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。


1.问题描述



在使用Sentry赋予server1所有权限给hive以外的用户时(如:fayson用户默认用户组也是fayson),通过Hue使用fayson用户登录,Sentry赋予fayson用户的权限是能正常工作,但是HDFS文件的ACL权限未同步导致不能对相应表的数据目录进行操作。


2.问题复现



1.使用hive用户登录Hue,并赋予server1的所有权限给fayson用户组

Sentry赋予server1权限给hive以外用户时ACL不同步问题分析_hdfs

2.fayson用户的所属组信息

[ec2-user@ip-172-31-22-86 ~]$ id faysonuid=1006(fayson) gid=1008(fayson) groups=1008(fayson)[ec2-user@ip-172-31-22-86 ~]$

Sentry赋予server1权限给hive以外用户时ACL不同步问题分析_hdfs_02


3.使用fayson用户登录Hue

Sentry赋予server1权限给hive以外用户时ACL不同步问题分析_h5_03


fayson用户可以看到hive的所有库

Sentry赋予server1权限给hive以外用户时ACL不同步问题分析_hive_04


可以对任意库下的表进行SELECT操作

Sentry赋予server1权限给hive以外用户时ACL不同步问题分析_hdfs_05


可以对所有表进行count操作

Sentry赋予server1权限给hive以外用户时ACL不同步问题分析_hdfs_06

可以向表中插入数据


4.不能浏览表Hive的HDFS目录

Sentry赋予server1权限给hive以外用户时ACL不同步问题分析_hive_07


5.查看HDFS文件的ACL权限未同步

Sentry赋予server1权限给hive以外用户时ACL不同步问题分析_h5_08

Sentry赋予server1权限给hive以外用户时ACL不同步问题分析_hive_09


如果将tpcds_parquet库的权限授权给fayson用户组则可以实现HDFS文件的ACL同步

Sentry赋予server1权限给hive以外用户时ACL不同步问题分析_hive_10

Sentry赋予server1权限给hive以外用户时ACL不同步问题分析_hive_11


3.解决方法



如果需要对非hive用户赋予server1的权限,则需要将server1下所有库的权限一一赋给fayson用户组,这样才能确保HDFS文件的ACL权限也是同步的。如果是最大权限的用户则可以为该用户添加hive组。


4.总结



在使用Sentry赋予server1的权限给非hive用户时是不能达到所有HDFS文件的ACL同步,如果是非最大权限的用户则需要加上数据库授权,如果是最大权限的用户可以使用hive/impala或着为用户添加hive组。


server1的权限一般是hive中管理员权限,如hive或者impala用户,就像这个文件/user/hive/warehouse的owner是hive一样。如果将此权限赋给其他用户时则需要加上数据库的权限,以保障数据的安全。



为天地立心,为生民立命,为往圣继绝学,为万世开太平。

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。







推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

Sentry赋予server1权限给hive以外用户时ACL不同步问题分析_hdfs_12

原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操


举报

相关推荐

0 条评论