Redshift 撤销权限不起作用

DaD*_*eem 5 amazon-web-services amazon-redshift

我有一个带有四个架构(Schema1、Schema2、Schema3 和 Schema 4)的 Amazon Redshift 集群。

User1在这个集群中创建了一个用户。我希望此用户对Schema1. 目前,该用户可以访问(选择、插入、更新、删除)所有模式中的所有表。

我尝试了 Redshift 手册中的所有命令,但看起来没有任何效果。

例子:

REVOKE ALL on schema schema1 from User1
REVOKE ALL on schema schema2 from User1
REVOKE ALL on schema schema3 from User1
REVOKE ALL on schema schema4 from User1
Run Code Online (Sandbox Code Playgroud)

我还尝试撤销个人权限(插入、更新、删除)。

我还尝试从单个表中撤销权限(插入、更新、删除)

尝试了手册中的所有组合。我正在使用 SQL Workbench,所有语句都成功执行,没有任何语法错误。

想不通。任何帮助表示赞赏。

PS 我在角色和权限方面有 15 年的数据库经验。

Joh*_*ein 1

这些命令似乎有效:

CREATE SCHEMA schema1;
CREATE TABLE schema1.foo (name TEXT);
CREATE USER user1 PASSWORD 'Abcd1234';
GRANT USAGE ON SCHEMA schema1 TO user1;
GRANT SELECT ON ALL TABLES IN SCHEMA schema1 TO user1;
Run Code Online (Sandbox Code Playgroud)

但是,它可能不会自动授予对将来创建的表的访问权限。

由于 Amazon Redshift 基于 PostgreSQL 8.0.2,请参阅:如何在 PostgreSQL 中创建只读用户?