使用另一个具有虚拟机的 Google 云 (gcp) 帐户从 Google 云 (gcp) 帐户访问 Postgres SQL 服务器

Accessing a Postgres SQL Server from a Google cloud (gcp) account using another Google cloud (gcp) account which has a virtual machine

我的 Google 云帐户(帐户 a)中有一个 Postgres SQL 服务器。我可以在本地使用外部 IP 地址或使用其中一台虚拟机的内部 IP 地址访问它。

我有一个朋友有另一个 google 云帐户(帐户 b)。除非我将他的 VM 的 IP 地址列入白名单,否则他无法访问该帐户。他有没有其他方法可以访问我的 SQL 服务器,例如添加或更改 IAM 权限?

您可以使用 Cloud SQL IAM database authentication. Note that this feature is on Pre-GA,它仅适用于带有 PostgreSQL 的 Cloud SQL,但基本上 Cloud SQL 已与 IAM 集成,以帮助您更好地监控和管理用户和服务帐户对数据库的访问。

需要考虑的另一件事是目前不支持群组,仅支持直接用户和服务帐户(即不支持通过群组的间接用户)。您需要为您自己的用户帐户提供“Cloud SQL Instance User”角色,以及该组中将使用基于 IAM 的身份验证的用户帐户,以及该项目中配置为使用基于 IAM 的身份验证的 Postgres 实例。请注意,您至少需要一个在项目中分配此角色的个人用户帐户 - 您不能只有服务帐户。

另一方面,请确保您尝试向其添加用户的 Postgres 实例已根据说明 here.

设置了标志 cloudsql.iam_authentication

接下来,您应该能够通过 'Add User' 界面添加被授予“云 SQL 实例用户”角色的用户和服务帐户,如 here 所述。

最后,您需要为每个 user/Service 帐户授予对其应有权访问的模式的适当权限,注意用户或服务帐户的完整电子邮件地址是必需的,因为概述 here.