2

我正在使用 Cloudformation 堆栈并且我有一个管道Kinesis Stream ==> Kinesis Firehose ==> S3 Bucket。在Kinesis Stream 模板中,它列出了一个StreamEncryption字段并说:

流加密

使用 AWS KMS 密钥为指定的流启用或更新服务器端加密。

我在有问题的陈述中加粗。

另外,从这里

当您将数据从数据生产者发送到 Kinesis 流时,Kinesis Data Streams 服务会使用 AWS KMS 密钥加密您的数据,然后再将其静态存储。当您的 Kinesis Data Firehose 传输流从您的 Kinesis 流中读取数据时,Kinesis Data Streams 服务首先解密数据,然后将其发送到 Kinesis Data Firehose。Kinesis Data Firehose 根据您指定的缓冲提示缓冲内存中的数据,然后将其传送到您的目的地,而不存储未加密的静态数据。

我希望使用我的 KMS 密钥对最终在 S3 中的记录进行加密,这样对我的 S3 而非 KMS 具有完全访问权限的人将无法读取数据。

这会这样做吗?如果没有,我如何让数据在 S3 内“双重”加密?

4

1 回答 1

0

一个 hack,这不是一个好的解决方案,但目前可行的是让Firehose对数据进行 Lambda 转换,但自己从 Lambda 中加密并写出数据。

不理想,但实用。

于 2018-03-21T21:11:58.933 回答