SparkSQL利用HDFS的权限控制表的读权限

Spark内置的thrift-server(连接hive)的对权限管理支持得并不是很好,只支持了create/drop权限的控制,但是任意用户都可以读任意库/表,委实是一个问题。为了解决这个问题,可以用HDFS的文件权限控制来对表的读权限进行控制。

1.新建用户

由于Hive,HDFS都是用系统用户来做权限控制的,所以需要新建一个系统用户。

比如新建一个mytest用户,如下图所示:


2.给hive表默认在hdfs中存入的路径733权限(rwxr-wx-wx),即mytest用户可以在它下面新建表


3.利用beeline连接thrift-server,并用mytest用户进行连接。同时创建一张tb_mytest表。

SparkSQL利用HDFS的权限控制表的读权限_第1张图片

4.可以看到/user/hive/warehouse下的3张表


更改它们的权限,让dua1和tb_first只能被pijing和pijing所属用户组的人读


SparkSQL利用HDFS的权限控制表的读权限_第2张图片

5.此时,用beeline用mytest连接,读取的结果如下:

SparkSQL利用HDFS的权限控制表的读权限_第3张图片

可以看到,对于tb_mytest表有读的权限,而对于tb_first表则没有读的权限。

你可能感兴趣的:(BIGDATA)