为什么我的 cloudsql postgres 用户可以访问所有数据库?

问题描述

我正在尝试按照文档设置 IAM postgres 与 cloudsql 的集成:https://cloud.google.com/sql/docs/postgres/create-manage-iam-users#grant-db-privileges

但这让我绊倒了。我创建了一个这样的用户gcloud alpha sql users create [email protected] --instance=myserver --type=cloud_iam_service_account --project myproject

我可以以用户身份登录,但是这个 postgres 用户具有超级用户级别的访问权限。我可以连接到任何数据库并在任何数据库上执行 CRUD。文档似乎暗示这不应该是:Before a user or service account can connect to a database or run queries against it,they need to be granted privileges for that database

显然不是,因为一旦我创建了那个 cloud_iam_service_account 用户,它几乎可以做任何事情。

看起来用户添加cloudsqliamserviceaccount postgres 组。如果我将他们从该组中删除,IAM 集成将关闭,他们无法登录

我应该如何在 postgres 中控制这些 IAM 用户的访问权限?我只希望他们能够访问他们自己的特定数据库

当我在 \l 下执行 Access privileges 时,我看不到 IAM 用户cloudsqliamserviceaccount 角色的明确授权,因此不确定它从哪里获得此权限。 cloudsqliamserviceaccount 角色也不是任何其他角色的成员。

我什至如何查看这些用户的这些权限来自哪里?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)