我有一个应用程序部署在EKS在美国-东部-1和在同一地区,我有极光mysql RDS集群。如何从部署在EKS中的同地域应用创建ssl to aurora db实例?
发布于 2021-09-14 12:41:35
从https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.SSL.html下载包含区域的中间证书和根证书的
openssl
openssl x509 -outform der -in C:\Users\c62540a\us-east-1-bundle.pem -out auroradb_root.der
OpenSSL是一个开源的命令行工具,通常用于生成私钥、创建CSR、安装SSL/TLS证书以及识别证书信息。
此工具在git中可用,路径如下:
C:\Program Files\Git\usr\bin
keytool -importcert -file C:\Users\c62540a\us-east-1-bundle.pem - keystore trust.jks -alias aws-auroradb-root -storepass storepass
然后,证书将被添加到名为trust.jks的信任存储区,并使用keytool命令中指定的信任存储区密码将证书捆绑包导入到信任存储区。如果不存在,上述命令将创建名为trust.jks的信任存储区,并将证书捆绑包导入其中。
您可以通过更新DB集群的DB集群参数组来设置require_secure_transport参数值。您不需要重新启动DB集群即可使更改生效。require_secure_transport参数仅适用于Aurora MySQL 5.7版。您可以在自定义DB集群参数组中设置该参数。该参数在数据库实例参数组中不可用。
上的MySQL /TLS连接
MySQL 5.7及更高版本的:
ALTER USER 'encrypted_user'@'%' REQUIRE SSL;
适用于MySQL 5.6及更早版本的:
GRANT USAGE ON *.* TO 'encrypted_user'@'%' REQUIRE SSL;
在
中,可以将相同的信任存储区创建为环境变量并定义为机密
System.setProperty("javax.net.ssl.trustStore", certs); System.setProperty("javax.net.ssl.trustStorePassword", "password");
如果您使用的是JDBC,那么请使用以下jdbc连接和sslmode属性:
Properties properties = new Properties();
properties.setProperty("sslMode", "VERIFY_IDENTITY");
properties.put("user", DB_USER);
properties.put("password", DB_PASSWORD);https://stackoverflow.com/questions/68567680
复制相似问题