hive 如何在特里诺/Presto中将所有角色授予用户?

qrjkbowd  于 2022-11-05  发布在  Hive
关注(0)|答案(1)|浏览(112)

基本上相当于特里诺/presto中的hive查询。

show role grant user <username>;
vzgqcmou

vzgqcmou1#

我们可以从information_schema中获得信息,这是不言自明的,但我找不到有关此系统定义模式的文档。

SELECT * 
FROM information_schema.role_authorization_descriptors 
WHERE grantee = 'a_user';

更有用查询是检查用户是否有权访问表

SELECT *
FROM information_schema.table_privileges
WHERE table_schema = 'a_schema'
AND   table_name = 'a_table'
AND   privilege_type = 'SELECT'
AND   (grantee = 'a_user' OR grantee IN (SELECT role_name
                                      FROM information_schema.role_authorization_descriptors
                                      WHERE grantee = 'a_user'));

相关问题