如何使任何 IP 地址都可以访问 Google Cloud SQL 实例?

Posted

技术标签:

【中文标题】如何使任何 IP 地址都可以访问 Google Cloud SQL 实例?【英文标题】:How to make a Google Cloud SQL Instance accessible for any IP address? 【发布时间】:2014-09-05 03:40:39 【问题描述】:

我刚刚创建了一个 Google Cloud SQL 实例。在查看我的实例的访问控制时,我发现如果我想访问我的数据库,我应该授权我的IP地址获得访问数据库的权限,但问题是我的应用程序将部署在任何地方客户需要,即使我知道他们将在哪里运行应用程序并且我授权了他们的 IP 地址,它(IP)将至少每 24 小时更改一次,因为它不是静态 IP,然后我必须一次又一次地重新授权IP!

有没有办法让实例可以从任何 IP 访问?

谢谢

【问题讨论】:

【参考方案1】:

您可以将任何子网列入白名单。您只需使用 CIDR 表示法输入它:http://en.wikipedia.org/wiki/Cidr

特别是,您可以将 0.0.0.0/0 列入白名单,其中包括所有可能的 IP 地址。

请注意,出于安全原因,不建议这样做。您希望尽可能限制您的访问权限。

【讨论】:

非常感谢它运行良好,但你能解释一下为什么不建议为任何IP打开它吗?抱歉,我在网络安全方面没有很好的经验。 这意味着正在扫描IP范围的攻击者将能够找到您的实例。 Google 的 IP 范围(和任何人的一样)是公开的,扫描范围以查找响应的 mysql 实例是微不足道的。一旦他们有了这些,他们就可以开始在用户名/密码级别攻击实例,此时获得访问权限只是时间问题(强密码只能起到这么大的作用)。您的另一个选择是只允许 SSL 连接(您已将证书共享给受信任的客户端),这将保护您免受未经授权的访问。 添加,来自 Google:您已将 0.0.0.0/0 添加为允许的网络。此前缀将允许任何 IPv4 客户端连接到您的实例,包括您不打算允许的客户端。如果没有有效的 MySQL 用户凭据,客户端将无法登录您的实例,但他们的连接尝试仍然可以启动暂停的实例,这可能会增加您的正常运行时间并产生计划外费用。 今天尝试这个我收到以下消息并且无法保存我所做的更改:You have added 0.0.0.0/0 as an allowed network. This prefix will allow any IPv4 client to pass the network firewall and make login attempts to your instance, including clients you did not intend to allow. Clients still need valid credentials to successfully log in to your instance.Operation failed: The incoming request contained invalid data. ... 有人知道 GCP 是否可能收紧了对添加的限制0.0.0.0/0 作为一个范围?也许我没有激活一些额外的隐藏设置?【参考方案2】:

这是一篇较旧的帖子,但我在侧边栏上注意到了它,所以我想我会添加我的 2c。

如果您能够使用 Cloud SQL Second Gen(目前处于 Beta 版),则有一项新功能允许访问数据库而无需将任何防火墙列入白名单:https://cloud.google.com/sql/docs/sql-proxy

【讨论】:

【参考方案3】:

今天,我正在寻找一种设置 MS-SQL 服务器以用于开发目的的方法,并发现了类似的问题(如何允许我的笔记本电脑访问)。

This guide,有帮助。

简而言之,您需要允许防火墙在端口 1433 上启用对 VM 实例的外部访问。

【讨论】:

感谢链接不再有效。

以上是关于如何使任何 IP 地址都可以访问 Google Cloud SQL 实例?的主要内容,如果未能解决你的问题,请参考以下文章

找到逻辑 ID 和 IP 地址后,如何使此代码生成新行?

如何防止子域名网址在Google Cloud DNS上更改为URL中的IP地址?

亚马逊如何拥有弹性 IP 的专有权

如何找到谷歌的IP地址?

中国如何访问谷歌?怎样才能访问谷歌

如何使webservice得wsdl地址不打开,服务却能访问