向 Redshift 中的组授予架构中新表的权限

Grant permissions to a group in Redshift for new tables in schema

我们在为 redshift 中的组授予权限时遇到了问题。

主要问题是,当我们授予对某些架构的访问权限,然后在用户向架构添加新的 table 后,该组无法访问新的 table(由于权限错误)。

我们尝试授予以下权限:

GRANT USAGE ON SCHEMA <schema> TO GROUP <group>;
GRANT SELECT ON ALL TABLES IN SCHEMA <schema> TO GROUP <group>;
ALTER DEFAULT PRIVILEGES IN SCHEMA <schema> GRANT SELECT ON TABLES to group <group>;

而且该解决方案没有按预期工作。

我们做出的一个临时解决方案是创建超级用户以允许我们的开发人员工作,这是我们想要避免的,这不是一个好的做法。

谢谢!

要设置将为新表创建的权限,您必须更新默认权限。参见:https://docs.aws.amazon.com/redshift/latest/dg/r_ALTER_DEFAULT_PRIVILEGES.html

默认权限“定义默认的一组访问权限,这些权限将应用于指定用户将来创建的对象。默认情况下,用户只能更改自己的默认访问权限。只有超级用户可以指定其他用户的默认权限。” Grant 仅适用于现有表/对象。

希望对您有所帮助。