You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GKE部署Spring Boot应用连接Cloud SQL报403权限不足如何解决?

问题根因

你遇到的403权限报错核心原因是GKE环境下访问Cloud SQL的身份缺少sqladmin.googleapis.com接口的调用权限与对应OAuth认证范围。Cloud Run默认会启用云服务访问所需的基础范围,因此同镜像之前运行正常,而GKE默认节点权限范围未包含Cloud SQL管理接口权限,导致无法创建临时证书连接数据库。

修复步骤

根据你GKE集群是否启用Workload Identity选择对应方案:

场景1:未启用Workload Identity(使用节点默认服务账号)

  • 更新对应节点池的OAuth范围,添加Cloud SQL管理接口权限,执行命令:
    gcloud container node-pools update [节点池名称] --cluster [集群名称] --zone [可用区] --scopes=https://www.googleapis.com/auth/sqlservice.admin
  • 为节点池绑定的默认Compute Engine服务账号(格式为[项目编号]-compute@developer.gserviceaccount.com)授予Cloud SQL 客户端角色。

场景2:已启用Workload Identity(官方推荐方案)

  • 确认应用Pod关联的Kubernetes服务账号(KSA)已经和Google Cloud服务账号(GSA)完成绑定
  • 为绑定的GSA账号授予Cloud SQL 客户端角色即可,无需额外修改节点权限范围。

补充:如果你通过Sidecar方式部署Cloud SQL Auth Proxy连接数据库,需要确保Sidecar容器关联的服务账号也持有上述权限,配置逻辑与应用容器一致。

验证操作

修复完成后重启应用Pod,查看Pod日志不再出现权限报错、可正常连接Cloud SQL即为修复成功。

内容的提问来源于stack exchange,提问作者jikar bhati

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 05:06:04