有没有一种方法可以使用AWS KMS加密AWS EC2实例PostgreSQL数据库?

时间:2019-12-24 04:04:09

标签: postgresql amazon-web-services encryption amazon-ec2 aws-kms

我需要找到一种加密整个数据库并加密PostgreSQL中特定列数据的方法。目前,我在Amazon EC2实例中有一个PostgreSQL数据库。

是否可以使用AWS Key Management Service或其他方式加密此数据库?

2 个答案:

答案 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实例上),您将需要自行管理加密

请参阅:PostgreSQL Documentation: Encryption Options