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

GAE环境下Java11 Quarkus应用访问Cloud SQL授权问题排查

问题根因判断

从你提供的审计日志可以看到,cloudsql.instances.connect权限的granted字段为true,说明你给服务账号分配的IAM权限本身没有问题,报错并非出自IAM角色配置缺失,需重点排查以下配置项:

需核对的配置清单

  • 检查App Engine的app.yaml配置
    标准环境下必须在app.yaml的beta_settings字段中正确声明Cloud SQL实例连接名,格式为[项目ID]:[区域]:[实例名],你的场景下对应的值应为addlogic-foodiefnf-1:europe-west3:quarkus,注意不要写错区域标识,也不要额外添加空格。
  • 检查JDBC连接串配置
    使用Cloud SQL Socket Factory连接时,JDBC URL需符合规范,参考格式如下:
    jdbc:postgresql:///[你的数据库名]?cloudSqlInstance=addlogic-foodiefnf-1:europe-west3:quarkus&socketFactory=com.google.cloud.sql.postgres.SocketFactory&user=[数据库用户名]&password=[数据库密码]
    重点核对cloudSqlInstance参数的值和Cloud SQL控制台给出的实例连接名完全一致,没有多余的前后空格。
  • 检查Cloud SQL实例的网络配置
    如果你没有使用Cloud SQL Socket Factory,而是直接通过公网IP连接数据库,需要将App Engine的出站IP段添加到Cloud SQL实例的授权网络列表中。更推荐使用官方Socket Factory方案,无需配置授权网络,安全性和稳定性更高。同时确认Cloud SQL实例的公网IP处于启用状态,实例运行正常。
  • 检查项目依赖配置
    确认项目中已经引入了版本匹配的Cloud SQL Postgres Socket Factory依赖,不存在依赖缺失或版本冲突问题。之前遇到的PostgreSQL10Dialect类加载问题需确认已经完全修复,避免类加载异常触发误判的权限报错。
  • 检查实例名拼写
    从审计日志中可以看到实例资源名称末尾带有多余空格,需排查所有配置文件中填写的实例名、连接名是否存在多余空格、大小写错误的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 04:39:03