redshift/Postgresql 8.0 撤销连接到用户的数据库

Posted

技术标签:

【中文标题】redshift/Postgresql 8.0 撤销连接到用户的数据库【英文标题】:redshift/Postgresql 8.0 revoke connect to database of a user 【发布时间】:2013-11-12 02:32:20 【问题描述】:

如何撤销用户对数据库的访问权限?

我试过了 从 public_readonly 撤销数据库开发上的所有权限; 我仍然可以连接。

看起来默认情况下所有用户都可以连接到所有数据库。

请注意,这是一个 Redshift 问题,因此 pgpass 更改的解决方案显然不相关。

【问题讨论】:

【参考方案1】:

您可能在谈论superuser account:

masteruser,即您在启动集群时创建的用户,是超级用户。

数据库超级用户绕过所有权限检查。使用超级用户角色时要非常小心。我们建议您以非超级用户的身份完成大部分工作。无论 GRANT 和 REVOKE 命令如何,超级用户都保留所有权限。

这可能是您仍然可以连接的原因。

要创建功能较弱的用户,请使用普通的CREATE USER 语句,然后所有权限都应按预期工作。

【讨论】:

以上是关于redshift/Postgresql 8.0 撤销连接到用户的数据库的主要内容,如果未能解决你的问题,请参考以下文章

psycopg2/python 将数据从 postgresql 复制到 Amazon RedShift(postgresql)

使用 Amazon Redshift / PostgreSQL 进行队列分析

使用 Amazon Redshift / PostgreSQL 进行漏斗查询

Redshift/PostgreSQL 中子查询的 GroupAggregate

使用 Redshift (PostgreSQL) 和计数的数据透视表

将 json 字典列转换为键值对行(Redshift+Postgresql)