MaterializeInc / materialize

The Cloud Operational Data Store: use SQL to transform, deliver, and act on fast-changing data.
https://materialize.com
Other
5.71k stars 465 forks source link

[Epic] Customer-Managed Encryption Keys (CMEK) #24766

Open benesch opened 7 months ago

benesch commented 7 months ago

Notion epic

Link: https://www.notion.so/Customer-Managed-Encryption-Keys-CMEK-96457aba99a743f98c170fc29ec4ddc6 Product brief: Status: Not started Prioritization: 10 - October Estimated delivery date:

Migrated from MaterializeInc/product#221.

A user in the community asked about our support for CMEK for encryption at rest, and mentioned it as a blocker for their use case. Their specific need was for keys stored in AWS-KMS.

Do you support customer managed keys for the encryption at rest in S3? (...) The reason for me asking about support of CMKs is that we're required to use specific keys for our data when it's encrypted at rest.

See this thread for more context.

cc @morsapaes

pH14 commented 2 months ago

A few thoughts that might help future work on CMEK...

For implementation, I imagine all the work can be pushed down into persist. A few possible ideas there:

Alternatively, we could rejig our cloud infra to be single tenant and do something super simple: