【发布时间】:2018-03-01 10:35:57
【问题描述】:
我正在尝试将 Google Data Studio 与托管在 AWS 实例上的 MySQL 数据库远程连接。为了实现安全连接,我们按照documentation 中的建议为 AWS 的 MySQL 数据库用户添加了 SSL 访问权限:
GRANT USAGE ON *.* TO 'encrypted_user'@'%' REQUIRE SSL;
这里的问题是,AWS 与GOOGLE CloudSQL 不同,它只生成一个服务器证书,而不是一个客户端证书,也不是一个客户端私钥(据我所知)。后者都需要为 Google Data Studio 和 MySQL 连接启用 SSL。
只是为了补充一点,我们还将 Google 推荐的 IP 列入白名单here。这个thread有很多用户抱怨白名单特定IP不起作用,他们不得不在子网上添加通配符。所以我们还为每个 IP 添加了 /16 子网的地址:
64.18.%.%
64.233.%.%
66.102.%.%
66.249.%.%
72.14.%.%
74.125.%.%
108.177.%.%
173.194.%.%
207.126.%.%
209.85.%.%
216.58.%.%
216.239.%.%
最后,将新 IP 列入白名单后无需重启 AWS 防火墙,它立即生效。
我的问题:
是否绝对没有办法在 AWS 上托管的 MySQL 上创建客户端证书和客户端私钥?
我真的很想在 Google Data Studio (GDS) 和我们的 MySQL-DB 之间使用 SSL,但是 GDS-UI 不允许我们在不填写客户端证书和客户端私钥的情况下进行连接。目前有什么办法让我允许这种安全连接吗?
提前致谢!
【问题讨论】:
-
我也对这个问题感兴趣。我想到的事情是,我们可以终止 SSL 连接,例如在 EC2 实例上,使用正在运行的 stunnel 或其他东西。一旦我也尝试过,我也会分享我的经验。
-
不幸的是,我认为这是不可能的。原因是 Google 似乎不允许使用自签名客户端证书。创建由同一 CA(亚马逊)签名的客户端证书的唯一方法是拥有私钥,这显然是不可能的。
标签: mysql amazon-web-services ssl google-data-studio