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

时间:2018-10-11 12:39:18

标签: postgresql google-cloud-sql pem google-data-studio pkcs#8

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

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

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

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

我已将它们上传到Data Studio连接页面的相关字段中: enter image description here 当我按身份验证时,我收到一条错误消息: 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并不是一件容易的事,我是否遗漏了一些明显的东西?

任何帮助将不胜感激。

谢谢。

2 个答案:

答案 0 :(得分:3)

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

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

因此,Data Studio连接有效!快乐的日子!

答案 1 :(得分:0)

(首先获得证书)

如果您使用 GCP Cloud Postgres 连接,如下所示:

  1. 转到您的 GCP 控制台 -> SQL
  2. 点击进入您的数据库实例 -> 连接
  3. 向下滚动到“配置 SSL 客户端证书”
  4. 点击“创建客户端证书”,为其命名,然后下载输出