无法通过 Cloud SQL 代理从 Cloud Shell By Proxy 进行连接

2023-11-22

我正在关注DjangoGAE 示例,但通过代理从 Google Cloud Shell 连接到 Cloud SQL 实例时遇到问题。可能与权限设置有关,因为我看到请求未授权,

其他上下文,

  1. “gcloud beta sql connect auth-instance --user=root”连接没有问题。

  2. 我有一个 SQL 代理客户端的服务帐户。

我可能错过了什么。有人可以解释一下吗?提前致谢。

提前致谢。


代理日志:

./cloud_sql_proxy -instances=auth-158903:asia-east1:auth-instance=tcp:3306

2017/02/17 14:00:59 Listening on 127.0.0.1:3306 for auth-158903:asia-east1:auth-instance
2017/02/17 14:00:59 Ready for new connections
2017/02/17 14:01:07 New connection for "auth-158903:asia-east1:auth-instance"
2017/02/17 14:03:16 couldn't connect to "auth-158903:asia-east1:auth-instance": dial tcp 107.167.191.26:3307: getsockopt: connection timed out

客户端日志:

mysql -u root -p --host 127.0.0.1
Enter password: 
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0

我也尝试使用凭证文件,但仍然没有运气,

./cloud_sql_proxy -instances=auth-158903:asia-east1:auth-instance=tcp:3306 -credential_file=Auth-2eede8ae0d0b.jason

2017/02/17 14:21:36 using credential file for authentication; [email protected]
2017/02/17 14:21:36 Listening on 127.0.0.1:3306 for auth-158903:asia-east1:auth-instance
2017/02/17 14:21:36 Ready for new connections
2017/02/17 14:21:46 New connection for "auth-158903:asia-east1:auth-instance"
2017/02/17 14:21:48 couldn't connect to "auth-158903:asia-east1:auth-instance": ensure that the account has access to "auth-158903:asia-east1:auth-instance" (and make sure there's no typo in that name). Error during get instance auth-158903:asia-east1:auth-instance: googleapi:     **Error 403: The client is not authorized to make this request., notAuthorized**

如果我只授予我的服务帐户“Cloud SQL Client”IAM 角色,我可以准确地重现此问题。当我也为我的服务帐户授予“Cloud SQL Viewer”角色时,它就可以连接。我建议你尝试一下这个方法,看看是否有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法通过 Cloud SQL 代理从 Cloud Shell By Proxy 进行连接 的相关文章

随机推荐