有没有办法使用 AWS KMS 加密 AWS EC2 实例 PostgreSQL 数据库?



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

有没有办法使用 AWS 密钥管理服务或其他方式加密此数据库?

你要求两个不同的用例,我会把它们分开

我需要找到一种加密整个数据库的方法

如前所述,AWS可以默认加密静态数据,数据存储在后台加密(对于RDS或EBS(。AWS 使用 KMS 管理用于加密底层存储的加密密钥。

此加密是透明的,因此具有正确数据库凭据的客户端可以访问数据。

并加密特定列数据

这需要在应用程序级别完成。您在这里有几个选择。应用程序可以直接加密数据,也可以使用 pgcrypto 库让数据库加密数据。

在这种情况下,最大的问题是存储位置以及如何管理加密密钥。密钥可由 KMS 或 AWS Secret Manager 进行管理

使用 KMS,您可以创建数据加密密钥来加密数据本身,并创建 KMS 来加密"数据加密密钥"。实际上 - 秘密管理器正在为您执行此操作。

如果您在 AmazonRelational Database Service (Amazon RDS(下使用 PostgreSQL,则可以自动加密静态数据。

请参阅:加密 Amazon RDS 资源 - Amazon 关系数据库服务

但是,由于您自己安装了 PostgreSQL(无论它是否在 Amazon EC2 实例上(,因此您需要自己管理加密

请参阅:PostgreSQL 文档:加密选项

最新更新