Guillaume Bienkowski
06/16/2026, 7:51 AMRocky
06/16/2026, 7:52 AMCREATE DATABASE) to specify a different encryption key for each database. The encryption process uses a Key Encryption Key (KEK) and Data Encryption Keys (DEKs) managed by a KeyManager in the Frontend (FE) and cached on the Backend/CN nodes.
* Inference: While the internal architecture (using KEK/DEK) is designed for flexibility, the user-facing capability to assign unique keys to specific databases is not a standard documented feature as of version 3.4/3.5.
3. How to set this up
The setup involves configuring both the Backend (BE/CN) and the Frontend (FE).
Backend/Compute Node Configuration
In your be.conf or cn.conf, you must enable the feature:
properties
enable_transparent_data_encryption = true
* Note: This flag is not runtime-mutable; you must set it before starting the nodes. The FE and BE/CN encryption flags must match, or the cluster will fail to start.
Frontend/Key Management Configuration
For TDE to work, StarRocks requires a Key Management Service (KMS) integration or a Master Key to manage the KEK.
* KEK Management: The Frontend (FE) implements a KeyManager to handle encryption metadata.
* KeyCache: Backend nodes request encryption info from a KeyCache provided by the FE.
Caution: As of the latest stable releases, the detailed configuration for external KMS providers (like AWS KMS or HashiCorp Vault) is often handled via specific enterprise-grade or internal configuration keys that are not yet fully detailed in the public "open source" documentation.
If you are looking for per-database encryption specifically for multi-tenant isolation, it is recommended to:
1. Verify the specific KMS configuration requirements for your version in the StarRocks GitHub repository or release notes.
2. Reach out to the StarRocks community on Slack for the latest implementation status of multi-key support for KEKs.
References
• administration/management/FE_configuration.md
• administration/management/BE_configuration.md