【发布时间】:2018-02-10 00:15:57
【问题描述】:
我有一个包含四个架构(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
我还尝试撤销个别权限(插入、更新、删除)。
我还尝试撤销单个表的权限(插入、更新、删除)
尝试了手册中的所有组合。我正在使用 SQL Workbench,所有语句都成功执行,没有任何语法错误。
想不通。任何帮助表示赞赏。
附:我在角色和权限方面拥有 15 年的数据库经验。
【问题讨论】:
-
您能否提供给我们Minimal, Complete, and Verifiable example,以便我们重现您的情况并尝试诊断?这可以通过显示创建现有配置的命令以及未能产生您所寻求的结果的命令来完成。随时编辑您的问题以添加此信息。
-
旁注:确保在 SQL Workbench 中打开 auto-commit 以查看任何错误消息,否则第一个错误将阻止将来的命令执行,直到事务已关闭。
-
谢谢约翰,我会提供详细信息
-
“看起来没有任何工作。” - 您如何测试这些命令是否有效?请注意,您必须是超级用户或对象的所有者才能更改权限。
-
@DaDeem 请问您是否解决了这个问题?因为我现在遇到了同样的问题,而且很莫名其妙......
标签: amazon-web-services amazon-redshift