学习SQL Workbench/J和RDS连接到RDS+SSL

149 阅读1分钟

学习SQL Workbench/J和RDS连接到RDS+SSL

SQL Workbench/J + (Redshift / RDS)

SQL Workbench/J是AWS推荐的Java程序,用于连接Redshift,,要点如下(步骤是假设你使用的是MacOS,Linux的说明应该真的类似)。

  1. 下载证书
  2. 将证书导入你的钥匙库,如:keytool -keystore ${JAVA_HOME}/lib/security/cacerts -import -alias redshift -file <file.pem> ;按照提示,确保你使用默认密码changeit
  3. 更新你的sqlworkbench.sh ,添加所需的java参数以正确加载新的存储,类似这样。
exec $JAVACMD \
  -Djavax.net.ssl.trustStore=$JAVA_HOME/lib/security/cacerts -Djavax.net.ssl.trustStorePassword=changeit \
  -Dvisualvm.display.name=SQLWorkbench -Xmx1024m -cp $cp workbench.WbStarter $@

另外,不要忘记在你的连接字符串中添加ssl=true ,这样就可以了

请注意这是最好的情况,我总是喜欢从手动下载页面下载tar.gz,然后手动更新PATH 到用户文件夹,在其他情况下,当使用安装程序时,你将需要做更多的事情来完成你刚读到的内容。

对于微软的Windows来说,事情要简单一些,但是在修改cacerts 文件时,你仍然要考虑权限。

RDS

SQL Workbench/J类似,连接到RDS+SSL需要

  1. 下载证书
  2. 将你的连接字符串更新为。
  3. 使用证书
  4. 强制使用sslmode

在实际应用中,这意味着修改你的连接字符串,在Rails中,你可以通过修改config/database.yml ,在PostreSQL中添加以下内容就可以了。

sslrootcert: /path/to/rds-combined-ca-bundle.pem
sslmode: require

对于MySQL也是如此。

sslca: /path/to/rds-combined-ca-bundle.pem
sslmode: 'REQUIRED'