redshift架构的只读权限

时间:2018-06-14 07:32:50

标签: sql postgresql permissions amazon-redshift database-administration

我想在redshift中给予readonly权限。 我用了这个命令

GRANT USAGE ON SCHEMA myschema TO GROUP my_group; 
GRANT SELECT ON ALL TABLES IN SCHEMA myschema TO GROUP my_group; 
ALTER DEFAULT PRIVILEGES IN SCHEMA myschema GRANT SELECT ON TABLES TO GROUP my_group; REVOKE CREATE ON SCHEMA myschema FROM GROUP my_group;"

这样可行但看起来如果创建了新表,那么用户就没有这些表的权限

根据AWS

  

IN SCHEMA schema_name

     

可选。如果出现IN SCHEMA子句,则指定   默认权限应用于在中创建的新对象   规定   模式名。在这种情况下,作为目标的用户或用户组   ALTER DEFAULT PRIVILEGES必须具有CREATE权限   指定的架构。特定于模式的默认权限   添加到现有的全局默认权限。默认情况下,默认   权限全局应用于整个数据库。

这是否意味着我必须向该组授予CREATE权限?

1 个答案:

答案 0 :(得分:0)

假设您使用 user_x 创建表格,然后您想为组 my_group 授予READ权限,这是我通常用来实现的命令:

ALTER DEFAULT PRIVILEGES FOR USER user_x IN SCHEMA myschema GRANT SELECT ON TABLES TO GROUP my_group;