首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将create权限限制为RDS PostgreSQL 9.6中新创建的用户

将create权限限制为RDS PostgreSQL 9.6中新创建的用户
EN

Stack Overflow用户
提问于 2018-12-27 10:53:49
回答 1查看 1.7K关注 0票数 2

在RDS PostgreSQL 9.6中创建只读用户时,我面临一个问题。我正在执行以下SQL命令:

代码语言:javascript
运行
复制
---- ###### CREATE ROLE ################
CREATE ROLE readonlyrole_dev;

-- Grant access to existing tables
GRANT USAGE ON SCHEMA public TO readonlyrole_dev;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO readonlyrole_dev;

-- set the privileges that will be applied to objects created in the future.
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO readonlyrole_dev;



CREATE USER readonly_dev WITH PASSWORD 'welcome1';
GRANT readonlyrole_dev TO readonly_dev;

当我与readonly_dev用户登录时,默认情况下它有创建新表的特权,但我不想这样做。我希望readonly_dev只保留一个只读用户。

注意:要撤消我正在执行的用户的访问权限

代码语言:javascript
运行
复制
REVOKE CREATE ON SCHEMA public FROM PUBLIC;

撤销所有老用户的create特权。我只想撤销新创建的用户的create权限。

我怎么能这么做?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-28 09:08:51

你不能这样做,这也没有必要。

只需拒绝用户对所有架构的CREATE权限即可。为此,您应该使用用户组--将所有应该有权在架构上具有所需权限的组中创建表并将CREATEPUBLIC中撤消的用户放入其中。

如果坚持必须这样做,请尝试创建一个事件触发器,每当某个用户试图创建表时,该触发器就会抛出异常。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53943853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档