在aws redshift中删除用户

时间:2018-04-17 23:23:57

标签: amazon-web-services amazon-redshift

我已经在数据库的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。但是输出:

enter image description here

2 个答案:

答案 0 :(得分:0)

撤消架构权限不会自动撤消对该架构中的表授予的权限。尝试执行

在etpglue的SCHEMA tbl中修改所有表格中的所有特权。

以及您的其他REVOKE语句。

答案 1 :(得分:0)

使用aws-labs中的以下脚本来查找您尝试删除的用户拥有的对象。

https://github.com/awslabs/amazon-redshift-utils/blob/master/src/AdminScripts/user_to_be_dropped_objs.sql

在编辑/删除对象之后继续。