Data Fusion复制作业连接Cloud SQL(MS SQL)时SSL认证错误求助
问题描述
使用私有IP的Cloud SQL(MS SQL Server)和Data Fusion构建到BigQuery的复制作业,已完成租户项目到VPC的对等连接配置并部署SQL Auth Proxy。标准管道(MS SQL源连接器+BigQuery Sink连接器)可正常连接运行,但创建复制作业配置源时触发以下SSL错误:
The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target". ClientConnectionId:
使用JDBC驱动版本12.2,Cloud SQL配置已提供对应截图。
解决方案
- 复用标准管道的有效连接参数:标准管道能成功连接,说明其JDBC参数适配当前环境。将标准管道中MS SQL源的完整JDBC连接参数(尤其是SSL相关项)复制到复制作业的源配置中,覆盖默认参数。
- 调整SSL连接参数适配SQL Auth Proxy场景:
- 由于SQL Auth Proxy已负责客户端到Cloud SQL之间的加密传输,可尝试在JDBC URL中添加
encrypt=false,跳过客户端到Proxy的SSL验证(Proxy与Cloud SQL的加密仍保留)。 - 若必须启用SSL,可临时添加
encrypt=true;trustServerCertificate=true(仅用于测试,生产环境不推荐),或配置trustStore参数指向包含Cloud SQL根证书的信任存储。
- 由于SQL Auth Proxy已负责客户端到Cloud SQL之间的加密传输,可尝试在JDBC URL中添加
- 导入Cloud SQL根证书到Data Fusion信任库:
- 下载Cloud SQL的server-ca.pem证书。
- 使用
keytool命令将证书导入Data Fusion作业使用的JVM信任存储(默认路径为$JAVA_HOME/jre/lib/security/cacerts):keytool -importcert -file server-ca.pem -alias cloudsql-server-ca -keystore cacerts -storepass changeit - 在复制作业的源配置中指定信任存储路径和密码:
trustStore=/path/to/cacerts;trustStorePassword=changeit。
- 检查Cloud SQL SSL强制配置:确认Cloud SQL实例是否开启了“强制SSL连接”,若开启则必须确保复制作业的JDBC连接配置符合SSL要求,不可直接关闭加密。
内容的提问来源于stack exchange,提问作者BinRip
相关产品推荐
相关产品推荐

