首页 > 解决方案 > 使用 IAM 用户从 Azure Data Studio 连接到 Cloud SQL

问题描述

按照此处的说明,我在使用我生成的令牌从 Azure Data Studio 连接到数据库时遇到问题。它成功连接到数据库,但是一旦我想运行一个简单的查询(我已经在那里给了我的用户读取访问权限),它就会给我这个连接错误,我需要再次使用令牌进行连接,并且再次发生断开连接片刻后随机:

致命:用户“user@company.com”的 Cloud SQL IAM 用户身份验证失败 致命:pg_hba.conf 拒绝主机“ ...用户“user@company.com”、数据库“db-name”、SSL 关闭

我做了一些搜索,发现还有一种使用 Cloud SQL Auth 代理通过 IAM 数据库身份验证登录的方法,但文档仅限于 Postgress 命令行,而不是像 Azure Data Studio 这样的 GUI 数据库工具。如果您想在这种情况下连接 GUI 工具,任何人都可以对此有所了解吗?

关于更改pg_hba.conf文件,由于我使用云 SQL 实例,我不确定如何在云实例上关闭sslmode。我检查了我的实例的连接选项卡,SSL encryption但没有在那里检查(不确定是否相同),我更改了 sslmode 以在我的 Azure Data Studio 上禁用连接,但它不允许我在此更改后连接:

FATAL: pg_hba.conf rejects connection for host "*.*.*.*", user "user@company.com", database "database", SSL off

帮助,有人吗?

标签: postgresqlgoogle-cloud-platformgoogle-cloud-sqlgoogle-cloud-iamcloud-sql-proxy

解决方案


我找到了答案:我们可以使用Cloud SQL Auth proxy 使用 IAM 数据库身份验证进行连接。从 GUI DB 工具(我的是 Azure Data Studio)完成之后的唯一步骤是连接到 IP(在我的情况下为 127.0.0.1)Cloud SQL Auth 代理侦听(默认为127.0.0.1)使用以下命令启动 Cloud SQL Auth 代理后:

./cloud_sql_proxy -instances=<GCPproject:Region:DBname>=tcp:127.0.0.1:5432

推荐阅读