如何加密到AWS RDS MySql数据库以及如何在Python中使用SSL访问该加密数据库?



在AWS RDS上创建了一个MySQL数据库实例。截图

显示加密为真。我可以在Python中使用PyMysql访问此数据库,但这不需要任何证书。我想在访问数据库时添加SSL认证要求。怎么做?

必须在传输过程中对数据库使用加密。这个过程在aws文档中有解释。

有两种加密类型:at-rest在途的(更多:使用云存储时了解安全性)。

因为你的屏幕截图显示加密为true,这意味着加密处于静态

由于这个原因,它仍然是第二个要强制执行的约束:in-transit正如Marci所说。如您所期望的那样,为了加密通信,您需要提供一个Key。因为这些密钥必须被管理(保存在保险库中,安全),所以您几乎没有选择使用KMS来管理这些密钥(或[使用SSL/TLS加密到DB实例的连接])5,或者为您提供这些密钥。

在您做出这些决定之后,这涉及到您信任谁来管理密钥的秘密,您可以遵循任何路径。

从文档,连接MySQL/MariDB客户端:

要使用RDS证书启动MySQL 5.7或更高版本的客户端,请运行如下命令:

mysql -h myinstance.123456789012.rds-us-east-1.amazonaws.com -u testuser -p --ssl-ca=[full path]global-bundle.pem --ssl-mode=VERIFY_IDENTITY

要使用RDS证书启动MariaDB客户端,运行如下命令:

mysql -h myinstance.123456789012.rds-us-east-1.amazonaws.com -u testuser -p --ssl-ca=[full path]global-bundle.pem --ssl-verify-server-cert

如果您的问题更具体,我们可以为您提供确切的路径