gpt4 book ai didi

postgresql - 限制 db 用户对 google cloud sql 的权限

转载 作者:行者123 更新时间:2023-11-29 13:14:04 26 4
gpt4 key购买 nike

我是 Google Cloud SQL 的新手。我用两个新用户创建了两个 postgres 数据库(一个从 Web 仪表板创建,一个从命令行创建)。我的目标是防止这两个用户能够相互修改数据库,但我无法让它工作。

这是我想要的:

  • UserA 对 DB_A 的所有权限
  • UserA 对 DB_B 没有权限
  • UserB 对 DB_B 的所有权限
  • UserB 对 DB_A 没有权限

我已经尝试在 psql 提示符下授予/撤销权限,但最后我仍然能够以 UserB 的身份在 DB_A 中创建/删除表。

有没有可能实现我想要的?我错过了什么吗?

最佳答案

Cloud SQL 上的 Postgres 是标准的 Postgres,因此它就像任何其他 Postgres 实例一样:

给角色所有权限:

GRANT ALL ON <db_name> TO <role_name>;

删除所有权限:

REVOKE ALL ON <db_name> TO <role_name>; 

Postgres docs关于特权确实给出了以下警告:

The special privileges of an object's owner (i.e., the right to modify or destroy the object) are always implicit in being the owner, and cannot be granted or revoked

因此请牢记这一点 - 如果 UserA 拥有这两个数据库,则他们始终可以修改它们。

关于postgresql - 限制 db 用户对 google cloud sql 的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51326036/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com