如何将Google Cloud SQL PostgreSQL SSL/TLS证书导入Windows根证书并解决Power BI连接报错?
Power BI连接Cloud SQL PostgreSQL SSL证书验证错误解决方案
问题原因
Cloud SQL PostgreSQL采用双向SSL认证,仅导入server-ca.pem到根证书机构无法满足验证要求——Power BI还需要正确配置客户端证书与密钥;同时PEM格式的证书/密钥直接使用可能存在Windows兼容性问题。
解决方案步骤
1. 将客户端证书与密钥合并为PFX格式
Windows证书存储和部分驱动更认可包含私钥的PFX格式,用OpenSSL执行以下命令转换:
openssl pkcs12 -export -out client-cert-key.pfx -inkey client-key.pem -in client-cert.pem
执行时设置导出密码,后续配置需用到。
2. 导入server-ca.pem到受信任根证书机构
- 运行
certlm.msc打开「管理计算机证书」 - 展开「受信任的根证书颁发机构」→「证书」
- 右键→「所有任务」→「导入」,按向导选择
server-ca.pem,指定存储位置为「受信任的根证书颁发机构」
3. 导入PFX客户端证书到个人证书存储
- 在「管理计算机证书」中展开「个人」→「证书」
- 右键→「所有任务」→「导入」,选择生成的
client-cert-key.pfx,输入导出密码,指定存储位置为「个人」
4. 配置Power BI PostgreSQL连接
- 打开Power BI Desktop,选择「获取数据」→「PostgreSQL数据库」
- 输入Cloud SQL实例连接信息:
host=<实例IP> port=5432 dbname=<数据库名> user=<用户名> - 进入「高级选项」,勾选「SSL」:
- 「SSL根证书」选择
server-ca.pem文件 - 「SSL客户端证书」选择
client-cert.pem,「SSL客户端密钥」选择client-key.pem - 若使用PFX格式,部分驱动支持直接选择PFX文件并输入导出密码
- 「SSL根证书」选择
额外排查项
- 确认Cloud SQL实例已启用SSL连接(控制台「连接」→「SSL」配置检查)
- 验证根证书有效性:
openssl s_client -connect <实例IP>:5432 -CAfile server-ca.pem
返回Verify return code: 0 (ok)则证书有效
- 升级Power BI的PostgreSQL驱动至最新版本,避免兼容性问题
内容的提问来源于stack exchange,提问作者Charaka
相关产品推荐
相关产品推荐

