[英]Google Cloud sql database connection error in java hibernate
[英]Connection methods to Google Cloud SQL Database with Java JDBC
目前,我已经创建了一个简单的Java应用程序,它以正常方式连接到我的Google Cloud SQL数据库:
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://-google-cloud-sql-ip:-port-/-projectname-","-user-","-password-");
Statement st = con.createStatement();
}
catch (Exception ex) {
ex.printStackTrace();
}
我唯一担心的是密码是以纯文本形式放在这里的。 它不受任何保护。 我知道可以用yGuard之类的东西来保护源代码。 此外,我必须在Google Cloud中注册我的外部IP地址才能使用。
因此,我想知道是否可以使用某种OAuth方法建立与Cloud SQL数据库的数据库连接。 我更喜欢一种独立于计算机物理位置的连接方法,所以我可以连接任何我想要的地方(如果我有互联网连接)。
有没有比上面提到的方法更好的方法,还是这是唯一的方法? 如果是这样,请告诉我如何保护明文密码。
任何帮助深表感谢!
无法使用OAuth2验证与Cloud SQL的连接。 您可以使用OAuth2经过身份验证的API调用来创建新的临时用户名/密码对(和/或授权IP),然后使用它进行连接,但这不会增加任何额外的安全性,只需在应用程序中嵌入凭据即可。
正如Razvan在他的评论中建议的那样,从Android应用程序直接连接到您的Cloud SQL实例几乎肯定是不安全的。 此外,您将来不可能进行架构更改,因为您将无法控制升级的旧版本应用程序。
以下是一些替代方案:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.