温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。
1.问题描述
在使用Sentry赋予server1所有权限给hive以外的用户时(如:fayson用户默认用户组也是fayson),通过Hue使用fayson用户登录,Sentry赋予fayson用户的权限是能正常工作,但是HDFS文件的ACL权限未同步导致不能对相应表的数据目录进行操作。
2.问题复现
1.使用hive用户登录Hue,并赋予server1的所有权限给fayson用户组
2.fayson用户的所属组信息
[ec2-user@ip-172-31-22-86 ~]$ id fayson
uid=1006(fayson) gid=1008(fayson) groups=1008(fayson)
[ec2-user@ip-172-31-22-86 ~]$
3.使用fayson用户登录Hue
fayson用户可以看到hive的所有库
可以对任意库下的表进行SELECT操作
可以对所有表进行count操作
可以向表中插入数据
4.不能浏览表Hive的HDFS目录
5.查看HDFS文件的ACL权限未同步
如果将tpcds_parquet库的权限授权给fayson用户组则可以实现HDFS文件的ACL同步
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干货,欢迎转发和分享。
原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操