【发布时间】:2014-02-05 22:10:36
【问题描述】:
我需要在 redshift cluster db 中创建只读用户帐户。创建用户帐户后,该用户将无法在 PUBLIC 中创建任何对象。但他们可以选择任何对象。由于 CREATE & USAGE 权限默认授予所有用户,请指导我如何限制 PUBlic SCHEMA 中的对象创建?
版本:
PostgreSQL 8.0.2 on i686-pc-linux-gnu, compiled by GCC gcc (GCC) 3.4.2 20041017 (Red Hat 3.4.2-6.fc3), Redshift 1.0.735
谢谢你
你好,
我注意到了你的回复。是的,它有效。但我有一个澄清。
如果您在下面执行并在数据库中进一步创建任何用户(现有用户也是),那么他们将无法在 PUBLIC 模式中创建对象。
postgres=# REVOKE CREATE ON SCHEMA public FROM PUBLIC;
REVOKE
所以,如果我重新设置(即下面),那么它适用于所有用户并且所有用户都能够在数据库中创建对象。
postgres=# grant create on schema public to public;
GRANT
我的意图是,我需要限制某些用户的对象创建 (CREATE priv)。不适用于所有数据库用户。例如我需要创建 2 个用户。第一个是只读的。第二个是读写。我应该能够从中撤销 CREATE priv。不是来自所有人。
如果我错了,你能指导我吗?
再次感谢您
【问题讨论】:
-
您可以使用
CREATE GROUP命令创建一组用户并仅授予SELECT 和USAGE 权限,但无论哪种方式您都需要执行REVOKE CREATE ON SCHEMA public FROM PUBLIC;命令...
标签: postgresql amazon-redshift