2016-08-12 77 views
1

Google App Engine似乎通过Cloud SQL Proxy自动将其连接隧道连接到Cloud SQL 2nd generation。这是在尝试理清如何使用TLS时无意中发现的,但未成功:"TLS requested but server does not support TLS" error with Google Cloud SQL (2nd generation) from Google App Engine?如何通过Google Cloud SQL第二代主机过滤App Engine连接? (2nd)

我注意到这种方法在不允许全局访问Cloud SQL实例的情况下进行不安全的访问......这很好。但是,我们只能为以cloudsqlproxy~%,而不是连接的主机名接受筛选,以localhost,这使得几乎所有的“cloudsqlproxy”主机与正确的凭据连接。

这是安全和正确的事,而不是使用%好...这显然绕过任何种类的主机筛选的?或者,这是否会打开任何cloudsqlproxy与我们的第二代实例的可能连接?

的目标是限制上的SQL实例特定用户帐户只连接来自我们的App Engine的项目。没有其他人应该能够连接这些凭据。

回答

0

好的问题是,您正确的使用cloudsqlproxy-%是现在可以申请App Engine连接的最严格的过滤方式,不幸的是,您无法有效地说“允许来自App Engine的连接,但不能从Cloud SQL Proxy获得连接”。

很难拿出维护,因为应用程序引擎的Flex的VM住在客户项目App Engine的标准和应用程序引擎灵活的一致性的解决方案。如果限制仅适用于App Engine标准,但不适用于App Engine flex,则可能会有些混淆。

您可以在一定程度限制谁可以通过限制一个项目的编辑器(和业主)作为使用Cloud SQL的代理必须有编辑访问或上述连接帐户使用云SQL代理限制曝光。将来,这将通过IAM支持变得更加精细。

+0

因此,如果有,除了项目本身和我的项目没有编辑/业主,那么其他人可以通过云SQL代理连接? –

+1

没错。通过让客户端连接到Cloud SQL API并请求临时SSL证书,代理连接起作用。除非调用者是项目的编辑者或所有者,否则API不会授予证书。 – Vadim

相关问题