为什么已有View视图的select权限,但是查询不了View?
问题描述
用户A创建了表Table1。
用户B基于Table1创建了视图View1。
赋予用户C Table1的查询表权限后,用户C查询View失败。
当前权限分配情况
- 用户A具备的权限:Table1的管理员权限。
- 用户B具备的权限:View1的管理员权限。
- 用户C具备的权限:Table1的查询表权限。
解决措施
不同版本的Spark引擎对View表的权限要求不同:
- Spark2.4.x:用户C具备View查询权限,且用户B具备Table1的查询权限。
对权限的要求如下:
- 用户B具备的权限:View1的管理员权限、Table1的查询权限(当前缺失)。
- 用户C具备的权限:Table1的查询表权限。
针对该场景请补充用户B对Table1的查询表权限后,用户C重试查询View1。
- Spark 3.3.x:用户C具备View查询权限,且用户C具备Table1的查询权限。
对权限的要求如下:
- 用户C具备的权限:Table1的查询表权限。View1的查询权限(当前缺失)。
针对该场景请补充用户C对View1的查询权限后,用户C重试查询View1。