我已经在数据库的redshift中创建了一个用户,然后我在模式中授予了很少的 SELECT 权限。现在我需要删除,但我不能,因为系统坚持认为,即使撤销所有权限,用户也无法被删除,因为它仍然可以访问某个对象。
创建用户时:
CREATE USER etlglue WITH
PASSWORD '******';
grant select on all tables in schema tbl to etlglue;
现在当我试图放弃时:
REVOKE ALL PRIVILEGES ON SCHEMA tbl FROM etlglue;
REVOKE ALL PRIVILEGES ON SCHEMA public FROM etlglue;
REVOKE ALL PRIVILEGES ON DATABASE db FROM etlglue;
DROP USER etlglue;
我试图在REVOKE命令中应用CASCADE,但两者都没有,我去了文档here。但是输出:
答案 0 :(得分:0)
撤消架构权限不会自动撤消对该架构中的表授予的权限。尝试执行
在etpglue的SCHEMA tbl中修改所有表格中的所有特权。
以及您的其他REVOKE语句。
答案 1 :(得分:0)
使用aws-labs中的以下脚本来查找您尝试删除的用户拥有的对象。
在编辑/删除对象之后继续。