【发布时间】:2021-05-09 03:28:13
【问题描述】:
在 Google Cloud SQL 上,针对 PostgreSQL 的 IAM 数据库身份验证最近已普遍可用。
所以,我仔细按照这里的说明进行操作:Overview of Cloud SQL IAM database authentication。
我认为我已经正确配置了我的 Cloud SQL 实例,因为对于用户帐户,它可以正常工作。简而言之:
- 我在我的 Google Cloud 项目中使用了自己的用户帐户,并向其中添加了角色
CloudSQL Instance Viewer - 我将它添加为我的 CloudSQL 实例的用户
- 我授予它对我数据库中所有表的所有权限
- 使用此处描述的命令:https://cloud.google.com/sql/docs/postgres/iam-logins,我可以登录到我的数据库:
PGPASSWORD=$(gcloud auth print-access-token) psql --host=HOSTNAME \
--username=EMAIL \
--dbname=DATABASE_NAME
太棒了!
但是现在,我真正不明白的是,它应该如何在使用服务帐户运行的应用程序中工作?医生并没有说太多。这是否意味着我必须以编程方式执行此 gcloud auth print-access-token 的等效操作并将其结果作为连接到我的数据库的密码传递?
【问题讨论】:
标签: postgresql google-cloud-sql google-cloud-iam