我需要找到一种加密整个数据库并加密PostgreSQL中特定列数据的方法。目前,我在Amazon EC2实例中有一个PostgreSQL数据库。
是否可以使用AWS Key Management Service或其他方式加密此数据库?
答案 0 :(得分:1)
您要求两个不同的用例,我将它们分开
我需要找到一种加密整个数据库的方法
正如已经回答的那样,AWS可以默认对静态数据进行加密,数据存储在后台进行加密(对于RDS或EBS)。 AWS使用KMS来管理用于加密基础存储的加密密钥。
此加密是透明的,因此具有正确数据库凭据的客户端可以访问数据。
并加密特定的列数据
这需要在应用程序级别完成。您在这里有一些选择。该应用程序可以直接加密数据,也可以使用pgcrypto库让数据库加密数据。
在这种情况下,最大的问题是存储位置以及如何管理加密密钥。可以通过KMS或AWS Secret Manager
管理密钥使用KMS,您可以创建一个数据加密密钥来对数据本身进行加密,并创建KMS来加密“数据加密密钥”。实际上-秘密经理正在为您这样做。
答案 1 :(得分:0)
如果您在Amazon Relational Database Service( Amazon RDS )下使用PostgreSQL,则可以自动加密静态数据。
请参阅:Encrypting Amazon RDS Resources - Amazon Relational Database Service
但是,由于您自己安装了PostgreSQL(无论它是否在Amazon EC2实例上),您将需要自行管理加密。