Postgres - 向角色组中的现有用户授予权限

Posted

技术标签:

【中文标题】Postgres - 向角色组中的现有用户授予权限【英文标题】:Postgres - grant permission to an existing user in a role group 【发布时间】:2021-09-23 17:55:33 【问题描述】:

我正在尝试向角色组中的用户授予权限,我执行的步骤在哪里:

    创建用户:myuser 创建角色组:只读 grant read_only to myuser grant select on all tables in schema public to read_only alter default priviliges in schema public grant select on tables to read_only

完成上述所有步骤后,当我使用myuser 查询表时,我得到了“权限被拒绝”。我在这里错过了什么?

【问题讨论】:

您仅更改了将在该架构中创建的新表的默认权限,您尚未对现有表授予任何授权 @Bergi 是的,实际上我在第 4 步中已经完成了该步骤,但仍然无法查询表。 【参考方案1】:

更改默认权限只会影响新表。您需要通过发出以下命令来授予对所有现有表的权限,以便您拥有权限。

GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only;

【讨论】:

我在 'alterprivilege' 语句之前有这一步 (#4),但仍然无法查询表。

以上是关于Postgres - 向角色组中的现有用户授予权限的主要内容,如果未能解决你的问题,请参考以下文章

如何向组中的特定用户授予文件权限?

企业实践用户邮箱导入/导出(第1部分)

使用 Spring Security ACL 授予对现有对象身份的权限

授予对 Postgres 中所有表的访问权限

Postgres:即使授予了授权,也拒绝架构的权限

授予者没有 GRANT 权限 - 问题