Ensure that the tables created for your Google Cloud BigQuery datasets are encrypted with Customer-Managed Keys (CMKs) in order to have a more granular control over data encryption/decryption process. A BigQuery dataset table contains individual records organized in rows where each data record is composed of columns (also called fields). You can create, rotate, manage and destroy your own Customer-Managed Keys (CMKs) using Google Cloud Key Management Service (Cloud KMS).
This rule resolution is part of the Conformity Security & Compliance tool for GCP.
By default, the BigQuery service encrypts all your content stored at rest using Google-managed encryption keys. The cloud service manages this type of encryption without any additional actions from you and your application. However, if you have sensitive or confidential data to encrypt, and you need to fully control and manage encryption yourself, you can create and use Customer-Managed Keys (CMKs). Instead of letting Google to manage the encryption keys that protect your BigQuery data, you can choose to create and manage your own encryption keys using Cloud KMS service.
Audit
To determine if your Google Cloud BigQuery dataset tables are encrypted with Customer-Managed Keys (CMKs), perform the following operations:
Remediation / Resolution
To enable encryption with Cloud KMS Customer-Managed Keys (CMKs) for your BigQuery dataset tables, perform the following operations:
Note: Configuring Customer-Managed Keys (CMKs) for BigQuery dataset tables using Google Cloud Platform (GCP) Console is not currently supported.References
- Google Cloud Platform (GCP) Documentation
- BigQuery
- Manage tables
- Encryption at rest
- Customer-managed Cloud KMS keys
- Cloud Key Management
- Encryption at rest in Google Cloud
- GCP Command Line Interface (CLI) Documentation
- gcloud projects list
- gcloud kms keyrings create
- gcloud kms keys create
- gcloud projects add-iam-policy-binding
- BQ Command Line Interface (CLI) Documentatio
- Using the bq command-line tool
- Listing datasets
- Getting information about datasets