Compute instance has Confidential Computing enabled
Google Compute Engine VMs configured as Confidential VMs encrypt data in use with hardware-based memory protection and per-instance keys.
This assessment identifies whether Confidential Computing is enabled on each VM instance.
Risk
Absent Confidential Computing, plaintext data in RAM can be exposed via host introspection, hypervisor compromise, or cold-boot/DMA attacks, undermining confidentiality and enabling in-memory tampering that impacts integrity of computations, models, and secrets.
Run this check with Prowler
Run in Prowler Cloudprowler gcp --checks compute_instance_confidential_computing_enabledRecommendation
Enable Confidential VMs for workloads processing sensitive data to protect data-in-use. Apply defense in depth: enforce least privilege on administrative access, use disk encryption with CMEK, and require workload attestation/trusted images. If unsupported, isolate or refactor workloads to compatible options.
Remediation
Terraform
resource "google_compute_instance" "<example_resource_name>" {
name = "<example_resource_name>"
machine_type = "n2d-standard-2" # Supported for Confidential VM
zone = "<ZONE>"
boot_disk {
initialize_params {
image = "debian-cloud/debian-12"
}
}
network_interface {}
# Critical: Enables Confidential Computing on the VM
confidential_instance_config {
enable_confidential_compute = true # Turns on Confidential VM
}
}Other
Check Code
from prowler.lib.check.models import Check, Check_Report_GCP
from prowler.providers.gcp.services.compute.compute_client import compute_client
class compute_instance_confidential_computing_enabled(Check):
def execute(self) -> Check_Report_GCP:
findings = []
for instance in compute_client.instances:
report = Check_Report_GCP(metadata=self.metadata(), resource=instance)
report.status = "PASS"
report.status_extended = (
f"VM Instance {instance.name} has Confidential Computing enabled."
)
if not instance.confidential_computing:
report.status = "FAIL"
report.status_extended = f"VM Instance {instance.name} does not have Confidential Computing enabled."
findings.append(report)
return findingsReferences
- https://www.trendmicro.com/trendaivisiononecloudriskmanagement/knowledge-base/gcp/ComputeEngine/confidential-computing.html
- https://cloud.google.com/compute/confidential-vm/docs/creating-cvm-instance:https://cloud.google.com/compute/confidential-vm/docs/about-cvm:https://cloud.google.com/confidential-computing:https://cloud.google.com/blog/products/identity-security/introducing-google-cloud-confidential-computing-with-confidential-vms