Ce produit n'est pas pris en charge par le site Datadog que vous avez sélectionné. ().
Cette page n'est pas encore disponible en français, sa traduction est en cours. Si vous avez des questions ou des retours sur notre projet de traduction actuel, n'hésitez pas à nous contacter.
Google Compute Engine instances should not be configured to use the default service account, which has broad permissions and full access to all Cloud APIs. If the attribute service_account—specifically the email sub-attribute—is missing, empty, or set to the default Google Compute Engine service account, it increases the risk of privilege escalation and unauthorized access to sensitive resources. Instead, instances should explicitly specify a custom service account with only the necessary permissions, such as in the following example:
#this code is a correct code for which the query should not find any result
resource"google_compute_instance""negative1"{name="test"machine_type="e2-medium"zone="us-central1-a"tags=["foo","bar"]boot_disk{initialize_params{image="debian-cloud/debian-9"}} // Local SSD disk
scratch_disk{interface="SCSI"}network_interface{network="default"access_config{ // Ephemeral IP
}}service_account{email="email@email.com"scopes=["userinfo-email","compute-ro","storage-ro"]}}
# service_account.email references a google_service_account created in the
# same plan (google_service_account.custom.email), so it's unresolved
# pre-apply and absent from planned_values.values in negative2.json (a real
# create plan for this exact configuration). The rule confirms via
# _dd_tfplan_meta.configuration_expressions that the reference targets a
# google_service_account resource -- which can never resolve to the reserved
# default Compute Engine service account -- so it correctly stays silent
# instead of treating this as an unconfigured/default service account.
resource"google_compute_instance""negative2"{name="test"machine_type="e2-medium"zone="us-central1-a"tags=["foo","bar"]boot_disk{initialize_params{image="debian-cloud/debian-9"}}network_interface{network="default"access_config{ // Ephemeral IP
}}service_account{email=google_service_account.custom.emailscopes=["userinfo-email","compute-ro","storage-ro"]}}resource"google_service_account""custom"{account_id="custom-sa"display_name="Custom Service Account"}
Non-Compliant Code Examples
#this is a problematic code where the query should report a result(s)
resource"google_compute_instance""positive1"{name="test"machine_type="e2-medium"zone="us-central1-a"tags=["foo","bar"]boot_disk{initialize_params{image="debian-cloud/debian-9"}}network_interface{network="default"access_config{ // Ephemeral IP
}}}resource"google_compute_instance""positive2"{name="test"machine_type="e2-medium"zone="us-central1-a"tags=["foo","bar"]boot_disk{initialize_params{image="debian-cloud/debian-9"}}network_interface{network="default"access_config{ // Ephemeral IP
}}service_account{scopes=["userinfo-email","compute-ro","storage-ro"]}}resource"google_compute_instance""positive3"{name="test"machine_type="e2-medium"zone="us-central1-a"tags=["foo","bar"]boot_disk{initialize_params{image="debian-cloud/debian-9"}}network_interface{network="default"access_config{ // Ephemeral IP
}}service_account{email=""scopes=["userinfo-email","compute-ro","storage-ro"]}}resource"google_compute_instance""positive4"{name="test"machine_type="e2-medium"zone="us-central1-a"tags=["foo","bar"]boot_disk{initialize_params{image="debian-cloud/debian-9"}}network_interface{network="default"access_config{ // Ephemeral IP
}}service_account{email="a"scopes=["userinfo-email","compute-ro","storage-ro"]}}resource"google_compute_instance""positive5"{name="test"machine_type="e2-medium"zone="us-central1-a"tags=["foo","bar"]boot_disk{initialize_params{image="debian-cloud/debian-9"}}network_interface{network="default"access_config{ // Ephemeral IP
}}service_account{email="email@developer.gserviceaccount.com"scopes=["userinfo-email","compute-ro","storage-ro"]}}
1
2
rulesets:- Terraform / GCP # Rules to enforce / GCP.
Demander une démonstration personnalisée
Commencer avec Datadog
Ask AI
AI-generated responses may be inaccurate. Verify important info.