Ensure that your Google Cloud Platform (GCP) AlloyDB database clusters are encrypted using customer-managed encryption keys (CMEK) instead of the default Google-managed encryption keys. CMEK provides greater control over your encryption keys, allowing your organization to create, rotate, and manage encryption keys through Cloud Key Management Service (Cloud KMS). This ensures compliance with regulatory requirements and enhances data security by giving your organization full ownership and control over the encryption strategy. CMEK supports symmetric keys, Cloud Hardware Security Module (HSM) keys, and Cloud External Key Manager (Cloud EKM) keys. The encryption key must be configured in the same Cloud KMS location as your AlloyDB cluster to ensure proper functionality.
By using customer-managed encryption keys (CMEK) for AlloyDB clusters, organizations gain complete control over their encryption keys and data protection strategy. CMEK enables you to manage key protection levels, locations, rotation schedules, access permissions, and cryptographic boundaries through Cloud KMS, ensuring that encryption practices align with organizational security policies and compliance requirements. With CMEK, you can define who can access your data by controlling the permissions on your encryption keys, implement custom key rotation policies, and maintain an audit trail of all key usage through Cloud Audit Logs. Additionally, CMEK provides the ability to render data inaccessible by disabling or deleting the encryption key, giving organizations an additional layer of control in data breach scenarios or during offboarding processes. Without CMEK, organizations rely entirely on Google's default encryption practices, which may not meet specific compliance frameworks or internal security standards that require customer-controlled encryption key management.
Important: If a Cloud KMS key is deleted, any AlloyDB clusters encrypted with that key become permanently inaccessible and the data cannot be recovered. If a Cloud KMS key is disabled, AlloyDB instances will experience downtime within 30 minutes. If Cloud KMS becomes unavailable for more than 30 minutes, AlloyDB will take the cluster offline. Additionally, AlloyDB clusters do not automatically re-encrypt themselves with newer key versions after rotation; full data re-encryption requires a manual backup and restore operation to a new cluster.
Audit
To determine if your AlloyDB clusters are encrypted with customer-managed encryption keys (CMEK), perform the following operations:
Remediation / Resolution
To enable customer-managed encryption keys (CMEK) for your Google Cloud AlloyDB clusters, you must create a new AlloyDB cluster with CMEK configured, migrate your data from the existing cluster to the new cluster, and then delete the old cluster. Before creating the new cluster, you must create a Cloud KMS encryption key and grant the AlloyDB service agent the necessary permissions to use the key. Perform the following operations:
Note: Important: AlloyDB does not support modifying the encryption type of an existing cluster from Google-managed keys to customer-managed encryption keys (CMEK). You must create a new cluster with CMEK enabled and migrate your data. Ensure that you have appropriate backup and migration strategies in place before proceeding. The Cloud KMS encryption key must be created in the same region as your AlloyDB cluster. Deleting or disabling the CMEK key will make your AlloyDB cluster data inaccessible.References
- Google Cloud Platform (GCP) Documentation
- Secure data with encryption keys
- About CMEK
- Create a cluster and its primary instance
- AlloyDB overview
- Create a key
- Cloud Key Management Service overview
- Customer-managed encryption keys (CMEK)