Databricks is giving users more granular control over their data encryption with the introduction of customer-managed keys (CMK) for its Lakehouse Postgres offering. This move addresses a critical need for enhanced data security for regulated environments, allowing organizations to leverage their own Key Management Service (KMS) for protecting sensitive information.
Traditionally, cloud database encryption relies on provider-managed keys. Databricks' approach, detailed on their blog, shifts this responsibility, enabling users to employ keys from AWS KMS, Azure Key Vault, or Google Cloud KMS. This ensures the root of trust remains firmly within the customer's control, a crucial aspect for compliance.
Encryption Across the Lakehouse Stack
The architecture of Lakehouse Postgres separates storage and compute. This separation, while enabling scalability, presents a unique encryption challenge: both long-term storage and transient compute caches require robust protection.
Databricks employs a hierarchical envelope encryption model. Here, customer-managed keys (CMKs) reside in the user's cloud KMS and are never exposed to Databricks. Instead, Databricks receives encrypted versions of keys necessary for data decryption.
This hierarchy involves three tiers: the customer-managed root key (CMK), a Key Encryption Key (KEK) used by Databricks' Key Manager Service, and Data Encryption Keys (DEKs) unique to each data segment. When data access is required, components unwrap DEKs using keys obtained from the customer's KMS.