2016-08-12 75 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

相關問題