【问题标题】:Connect a Google CloudSQL Postgres database to Data Studio将 Google CloudSQL Postgres 数据库连接到 Data Studio
【发布时间】:2019-03-16 13:12:54
【问题描述】:

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

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

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

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

我已将它们上传到数据洞察连接页面的相关字段中: 当我按下身份验证时,我收到一条错误消息: 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 应该不难,我是否遗漏了一些明显的东西?

任何帮助将不胜感激。

谢谢。

【问题讨论】:

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


    【解决方案1】:

    (首先获得证书)

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

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

    【讨论】:

      【解决方案2】:

      最终证明,只需更改客户端密钥的格式即可。 上面不行的原因是改变格式的命令错误。

      应该是:

      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 社区页面上有很多人对此有疑问。谢谢托马斯的回答,我希望我在浪费一天多的时间之前已经阅读过。
      • 您能否提供有关您如何开始获取 PEM 文件的任何信息?
      • @blong 你可能已经猜到了,但是你从 SQL->Connections 页面下载了它
      • @ChrisMcCauley 干杯,感谢您提供的额外信息!
      猜你喜欢
      • 1970-01-01
      • 2017-08-07
      • 2022-08-02
      • 1970-01-01
      • 2021-07-11
      • 1970-01-01
      • 2020-12-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多