In this post you build encryption and decryption into sample Kinesis producer and consumer applications using the Amazon Kinesis Producer Library (KPL), the Amazon Kinesis Consumer Library (KCL), AWS KMS, and the aws-encryption-sdk. The methods and the techniques used in this post to encrypt and decrypt Kinesis records can be easily replicated into your architecture. Some constraints:
-
AWS charges for the use of KMS API requests for encryption and decryption, for more information see AWS KMS Pricing.
-
You cannot use Amazon Kinesis Analytics to query Amazon Kinesis Streams with records encrypted by clients in this sample application.
-
If your application requires low latency processing, note that there will be a slight hit in latency.
Check it out, especially if you’re thinking about streaming sensitive data.