Kinesis在静止时加密数据吗



Kinesis消息存储在AWS上时是否加密?

使用什么机制来持久存储消息?

Kinesis消息存储在AWS上时是否加密?

创建的Amazon Kinesis流应用程序的加密机制遵循与您在AWS上创建的任何其他应用程序相同的原则。以下是你需要问自己的问题:

  1. 您控制加密方法和整个KMI吗

在这种情况下,您负责加密/解密过程以及AWS无法访问的密钥的管理和使用。

  1. 当AWS为您提供KMI存储组件时,您是否控制加密方法并提供KMI管理层

在这种情况下,您的加密密钥存储在AWS环境,但AWS员工无法访问。您需要使用AWS CloudHSM。

  1. 您决定让AWS控制加密方法和整个KMI吗

在这种情况下,AWS会自动代表您管理一切:这意味着,Kinesis消息在存储在AWS上时会被加密

实用的解决方案:

为了避免麻烦,您可以使用第三种选择:让AWS代表您这样做。这与上面列出的第三种情况相对应。为此,对您来说,最简单、最简单的方法是使用亚马逊Kinesis Firehose可以在加载数据前对数据进行批处理、压缩和加密,从而最大限度地减少目的地的存储量,提高安全性

使用什么机制来持久存储消息?

数据保留期可按小时递增配置,从24小时(默认保留期)到168小时(7天),并可通过流限制窗体(亚马逊Kinesis流限制)进行请求。尽管如此,您可以使用AWS LambdaAmazon Kinesis Firehose将数据从Amazon Kinesi Streams持久保存到Amazon S3。您可以在这里找到一个循序渐进的实用示例:使用Amazon Kinesis Firehose和AWS Lambda将流式数据持久化到Amazon S3

Amazon Kinesis是三种底层AWS产品的总称:

  1. 亚马逊Kinesis消防软管
  2. 亚马逊Kinesis分析
  3. 亚马逊Kinesis流

Kinesis Streams是其他两款产品的基础组件,它们利用Kinesis Stream提供增值功能。

在撰写本文时,Kinesis Firehose可以用于将数据发送到Amazon S3存储桶、Amazon Redshift表或Amazon Elasticsearch服务(或这些区别的任何组合)。

正如Billal BEGUERADJ在回答中提到的那样,亚马逊Kinesis Firehose提供了一个选项,可以在目标数据存储中对静止的数据进行加密,数据通过Kinesis流传输到该存储中。加密是将数据存储到目的地的一部分。有关更多信息,请参阅Kinesis Firehose常见问题解答中的常见问题解答"我可以使用什么样的加密?"。

通过Kinesis Steam发送的数据由流保留一段可配置的时间。在撰写本文时,默认时间为24小时,可选择将持续时间延长至7天。引文

虽然数据由流保留,但它在静止时似乎没有被加密,尽管Amazon Kinesis Streams文档似乎没有具体解决这个问题。因此,据推测,即使您使用的是启用了加密的Kinesis Firehose,底层流(作为该托管服务的最终用户,对您来说是透明的)上仍有24小时的数据未加密。

类似地,如果你只是直接使用Kinesis流,数据在静止时不会被加密

为了克服静止时缺乏加密的问题,您需要分别在生产者和消费者应用程序中使用客户端加密/解密。

最新更新