Customer-Managed Encryption Keys (CMEK) should be used for boot disks
Description
Use Customer-Managed Encryption Keys (CMEK) to encrypt node boot disks using keys managed within Cloud Key Management Service (Cloud KMS). GCE persistent disks are encrypted at rest by default using envelope encryption with keys managed by Google. For additional protection, users can manage the Key Encryption Keys using Cloud KMS.
Note: This cannot be remediated by updating an existing cluster. The node pool must either be recreated or a new cluster created.
From the console
To create a new node pool:
- Go to the Kubernetes Engine
- Select Kubernetes clusters for which node boot disk CMEK is
disabled
- Click
ADD NODE POOL
- In the Nodes section, under machine configuration, ensure Boot disk type is
Standard persistent disk
or SSD persistent disk
- Select
Enable customer-managed encryption for Boot Disk
and select the Cloud KMS encryption key to be used. - Click
CREATE
To create a new cluster:
- Go to the Kubernetes Engine
- Click
CREATE
and click CONFIGURE
for the required cluster mode - Under
NODE POOLS
, expand the default-pool list and click Nodes
- In the Configure node settings pane, select
Standard persistent disk
or SSD Persistent Disk
as the Boot disk type - Select
Enable customer-managed encryption for Boot Disk
check box and choose the Cloud KMS encryption key
to be used - Configure the rest of the cluster settings as required
- Click
CREATE
From the commandline
- Create a new node pool using customer-managed encryption keys for the node boot disk, of disk_type either
pd-standard
or pd-ssd
:gcloud container node-pools create <cluster_name> --disk-type <disk_type> --boot-disk-kms-keyprojects/<key_project_id>/locations/<location>/keyRings/<ring_name>/cryptoKeys/<key_name>
- Create a cluster using customer-managed encryption keys for the node boot disk, of disk_type either
pd-standard
or pd-ssd
:gcloud container clusters create <cluster_name> --disk-type <disk_type> --boot-disk-kms-key projects/<key_project_id>/locations/<location>/keyRings/<ring_name>/cryptoKeys/<key_name>
References