postgresql - 使用 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
帮助,有人吗?
解决方案
我找到了答案:我们可以使用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
推荐阅读
- google-cloud-functions - 部署所有模块的 Firebase Cloud 功能
- stripe-payments - Stripe.applePay.checkAvailability 在 macbook Safari 中返回 false
- wpf - WPF 自定义控件:对属性更改做出反应的正确方法
- ios - 执行 UserDefaults 时遇到问题
- reactjs - 如何在方法中使用 react-router
- mysql - MySQL使用where子句结果连接多个表太慢
- gitlab - GitLab CI:将管道标记为不批准合并请求
- swiftui - Swiftui 不同的选项卡视图在预览中每秒显示一次
- apache-spark - 重新分区(1)和合并(1)之间的区别
- flutter - 如何在不交互的情况下转发短信?