数据仓库服务 GAUSSDB(DWS)-某张表执行过 grant select on table t1 to public,如何针对某用户回收权限:原因分析

时间:2024-01-12 09:50:46

原因分析

上述问题中撤销user3对表t1的访问权限未生效是因为:之前执行过GRANT SELECT ON table t1 TO public;这条SQL语句,该语句中关键字public表示该权限要赋予给所有角色,包括之后新创建的角色,所以新用户user3对该表也有访问权限。public可以看做是一个隐含定义好的组,它包含所有角色。

因此,执行完REVOKE SELECT ON table t1 FROM user3;之后,虽然user3用户没有了表t1的访问权限(通过系统表pg_class的relacl字段可查看t1表的权限),但是他仍然有public的权限,所以仍能访问该表。

support.huaweicloud.com/trouble-dws/dws_09_0093.html