我已经按照以下说明设置了使用IAM身份验证的云sql数据库:
https://binx.io/2021/05/19/how-to-connect-to-a-cloudsql-with-iam-authentication/
我正在尝试从云计算实例进行身份验证。连接到我的数据库:
gcloud sql users list --instance=db1-instance-e740ca44
NAME HOST TYPE PASSWORD_POLICY
postgres BUILT_IN
sa-cloudsql-user CLOUD_IAM_SERVICE_ACCOUNT
IAM authentication enabled:
gcloud sql instances describe db1-instance-e740ca44 --format json | jq '.settings.databaseFlags'
[
{
"name": "cloudsql.iam_authentication",
"value": "on"
}
]
但是当尝试连接时,我仍然得到以下错误:
psql "host=127.0.0.1 port=5432 sslmode=disable dbname=postgres user=sa-cloudsql-user"
psql: error: FATAL: Cloud SQL IAM service account authentication failed for user "sa-cloudsql-user"
我甚至尝试向sa-cloudsql-user服务帐户和我的计算实例运行的服务帐户授予所有者权限,以确保它不是IAM权限问题,但没有骰子。
有人有什么想法吗?
我不知道这是否仍然与你相关,但这对我来说是一个问题。命令行工具。/cloud-sql-proxy必须带以下标志运行:
--auto-iam-authn
--credentials-file={key-file-of-your-SA}