我得到一个
Caused by: com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden
GET https://sqladmin.googleapis.com/v1/projects/adstudio-sandbox1/instances/us-central1~adspromosdb-sandbox/connectSettings
{
"code": 403,
"errors": [
{
"domain": "global",
"message": "The client is not authorized to make this request.",
"reason": "notAuthorized"
}
],
"message": "The client is not authorized to make this request."
}
我根据我的服务名称猜测了一个服务帐户,并赋予它 Cloud SQL Admin/Editor/Client 和 Storage Object Admin 角色,但我仍然遇到同样的错误。我想知道它是否没有使用我认为是的服务帐户。
如何确认我的服务正在运行的服务帐户? (它与 Kubernetes 有什么关系?集群或命名空间是否总是共享 1 个服务帐户?)
Google 云服务帐户和 Kubernetes 服务帐户是两个不同的东西。
要从 Kubernetes 集群连接到 Cloud SQL 数据库,建议使用 Cloud SQL Auth Proxy 来“协助”从集群到数据库的身份验证,这也是最简单的方法。也可以使用 Cloud SQL Auth Proxy 作为本地 CLI 工具,以安全的方式连接到您的 Cloud SQL 数据库。
有关如何设置从 Kubernetes 到 Cloud SQL 数据库的连接的完整指南,请参阅从 Google Kubernetes Engine 连接到 Cloud SQL。