将Google CloudSQL Postgres数据库连接到Data Studio

Tho*_*kos 1 postgresql pem pkcs#8 google-cloud-sql google-data-studio

我正在尝试将托管在Google Cloud Sql实例中的Postgres数据库连接到Data Studio。我已按照说明进行操作(位于https://support.google.com/datastudio/answer/7288010),但令我感到失望的是,我仍然无法从Data Studio连接到数据库。

我认为问题出在SSL连接上,就像我在CloudSql中的选项中启用“非安全连接”一样,我可以从Data Studio成功连接。

我创建了ssl连接正常工作所需的3个文件:

  • 客户证书
  • 客户端密钥
  • 服务器证书

我已将它们上传到Data Studio连接页面的相关字段中: 在此处输入图片说明 当我按身份验证时,我收到一条错误消息: Please make sure that the private key is in PKCS8 format.

我尝试通过运行以下命令来更改客户端密钥文件的格式: openssl pkcs8 -topk8 -inform PEM -outform DER -in client-key.pem -out client-key.pkcs8 -nocrypt

但是我得到一个错误: Can't reach the host. Please double check your connection parameters. Learn more about database connectors here.

最后必须注意,如果我尝试使用ssl和完全相同的密钥(但采用pem格式的客户端密钥)从本地计算机连接到数据库,则可以成功连接。

我也应该将证书转换为其他格式吗?我觉得通过SSL将Postgres db连接到Data Studio并不是一件容易的事,我是否缺少明显的东西?

任何帮助将不胜感激。

谢谢。

Tho*_*kos 8

最终证明,仅更改客户端密钥的格式即可。上面的方法不起作用的原因是更改格式的命令错误。

应该是:(请 openssl pkcs8 -topk8 -inform PEM -outform PEM -in client-key.pem -out client-key.key -nocrypt 注意问题中张贴的PEM而不是DER参数)。

因此,Data Studio连接有效!快乐的时光!

  • 确实很烦人的是,虽然连接器配置会抱怨客户端密钥不是 PKCS8 格式,但它不会抱怨 PKCS8 是 DER 而不是 PEM。Google DataStudio 社区页面上的很多人都遇到了这个问题。谢谢托马斯的回答,我希望在浪费一天多的时间之前读过这个答案。 (3认同)