terraform.gcp.best-practice.gcp-compute-shielded-vm.gcp-compute-shielded-vm
semgrep
Author
unknown
Download Count*
License
Ensure Compute instances are launched with Shielded VM enabled
Run Locally
Run in CI
Defintion
rules:
- id: gcp-compute-shielded-vm
patterns:
- pattern: resource
- pattern-either:
- pattern-inside: |
resource "google_compute_instance" "..." {
...
}
- pattern-inside: |
resource "google_compute_instance" "..." {
...
shielded_instance_config {
...
enable_integrity_monitoring = false
...
}
...
}
- pattern-not-inside: |
resource "google_compute_instance" "..." {
...
shielded_instance_config {
...
enable_integrity_monitoring = true
...
}
...
}
message: Ensure Compute instances are launched with Shielded VM enabled
metadata:
category: best-practice
technology:
- terraform
- gcp
references:
- https://docs.bridgecrew.io/docs/google-cloud-policy-index
license: Commons Clause License Condition v1.0[LGPL-2.1-only]
languages:
- hcl
severity: WARNING
Examples
gcp-compute-shielded-vm.tf
# fail
# ruleid: gcp-compute-shielded-vm
resource "google_compute_instance" "fail1" {
name = "test"
machine_type = "n1-standard-1"
zone = "us-central1-a"
boot_disk {}
}
# fail
# ruleid: gcp-compute-shielded-vm
resource "google_compute_instance" "fail2" {
name = "test"
machine_type = "n1-standard-1"
zone = "us-central1-a"
boot_disk {}
shielded_instance_config {
enable_integrity_monitoring = false
}
}
# ok: gcp-compute-shielded-vm
resource "google_compute_instance" "success" {
name = "test"
machine_type = "n1-standard-1"
zone = "us-central1-a"
boot_disk {}
shielded_instance_config {
enable_vtpm = true
enable_integrity_monitoring = true
}
}
Short Link: https://sg.run/GzDn