Skip to main content

More Info:

Ensure that Bigtable cluster Backups are encrypted with CMK.

Risk Level

High

Address

Security

Compliance Standards

  • APRA CPS 234 (Australia)
  • BSI C5 (Germany)
  • Brazil LGPD
  • CCPA / CPRA (California)
  • CIS Critical Security Controls v8
  • CMMC 2.0
  • CSA Cloud Controls Matrix v4
  • DPDPA
  • Digital Operational Resilience Act (EU)
  • GDPR
  • HIPAA
  • HITRUST CSF
  • ISO 27001
  • ISO/IEC 27017
  • ISO/IEC 27018
  • ISO/IEC 27701
  • KSA PDPL
  • MAS Technology Risk Management (Singapore)
  • MITRE ATT&CK (Cloud)
  • NIS2 Directive
  • NIST
  • NIST SP 800-171
  • NYDFS 23 NYCRR 500
  • SOC2
  • SWIFT Customer Security Controls Framework
  • Sarbanes-Oxley IT General Controls
  • Securities and Exchange Board of India (SEBI) - Cloud Security Adoption Framework
  • UK NCSC Cyber Assessment Framework

Triage and Remediation

Remediation

Using Console

To remediate the misconfiguration “Bigtable Cluster Backups Should Be Encrypted With Customer Managed Keys” for GCP using GCP console, follow these steps:
  1. Open the Google Cloud Console and select the project where your Bigtable cluster is located.
  2. Go to the Cloud Bigtable section of the console and select your Bigtable instance.
  3. Click on the “Backups” tab and select the backup that you want to encrypt with a customer-managed key.
  4. Click on the “Edit” button next to the backup.
  5. In the “Encryption” section, select “Customer-managed key” from the drop-down menu.
  6. Click on the “Select a key” button and choose the customer-managed key that you want to use to encrypt the backup.
  7. Click on the “Save” button to save the changes.
  8. Repeat steps 3-7 for all the backups associated with your Bigtable cluster.
By following these steps, you will remediate the misconfiguration by encrypting your Bigtable cluster backups with customer-managed keys.

To remediate the misconfiguration of Bigtable Cluster Backups not being encrypted with customer-managed keys, you can follow the below steps using GCP CLI:
  1. Create a new key ring:
Replace [KEYRING_NAME] with the name of the key ring you want to create and [LOCATION] with the location where you want to create the key ring.
  1. Create a new key:
Replace [KEY_NAME] with the name of the key you want to create and [KEYRING_NAME] and [LOCATION] with the name of the key ring and location where you created the key ring in step 1.
  1. Grant the Cloud Key Management Service (KMS) service account permission to access the key:
Replace [KEY_NAME], [KEYRING_NAME], [LOCATION], and [PROJECT_ID] with the name of the key, key ring, location, and project ID where you created the key ring.
  1. Enable encryption for Bigtable backups:
Replace [CLUSTER_ID] with the ID of the Bigtable cluster you want to update, [KEY_NAME] with the name of the key you created in step 2, and 1 with the version number of the key.After following these steps, all new backups for the Bigtable cluster will be encrypted with the customer-managed key.
To remediate the misconfiguration of Bigtable Cluster Backups Should Be Encrypted With Customer Managed Keys in GCP, you can follow the below steps using Python:
  1. First, create a customer-managed encryption key (CMEK) in the Cloud Key Management Service (KMS) using the following code:
  1. Next, enable encryption for your Bigtable cluster backups using the CMEK you just created:
  1. Finally, verify that encryption is enabled for your Bigtable cluster backups:
Note: Make sure to replace project_id, location_id, key_ring_id, key_id, instance_id, cluster_id, and key_name with your own values.By following these steps, you can remediate the misconfiguration of Bigtable Cluster Backups Should Be Encrypted With Customer Managed Keys in GCP using Python.
Changing kms_key_name on an existing google_bigtable_backup forces replacement of the backup; existing backup data will not be re-encrypted in place and the original backup will be destroyed when Terraform applies the replacement.To verify, terraform plan should show each affected google_bigtable_backup gaining kms_key_name = (known after apply) and that this change requires replacement for backups that previously had no CMEK configured.

Additional Reading: