turbot/steampipe-mod-terraform-gcp-compliance

Control: GKE clusters GKE metadata server should be enabled

Description

This control checks that GKE clusters GKE metadata server is enabled.

Usage

Run the control in your terminal:

powerpipe control run terraform_gcp_compliance.control.kubernetes_cluster_metadata_server_enabled

Snapshot and share results via Turbot Pipes:

powerpipe login
powerpipe control run terraform_gcp_compliance.control.kubernetes_cluster_metadata_server_enabled --share

SQL

This control uses a named query:

select
address as resource,
case
when (attributes_std -> 'node_config') is null then 'alarm'
when (attributes_std -> 'node_config' -> 'workload_metadata_config') is null then 'alarm'
when (attributes_std -> 'node_config' -> 'workload_metadata_config' ->> 'mode') = 'GKE_METADATA' then 'ok'
else 'alarm'
end as status,
split_part(address, '.', 2) || case
when (attributes_std -> 'node_config') is null then ' node config not defined'
when (attributes_std -> 'node_config' -> 'workload_metadata_config') is null then ' workload metadata config not defined'
when (attributes_std -> 'node_config' -> 'workload_metadata_config' ->> 'mode') = 'GKE_METADATA' then ' GKE metadata server enabled'
else ' GKE metadata server disabled'
end || '.' reason
, path || ':' || start_line
from
terraform_resource
where
type in ('google_container_node_pool', 'google_container_cluster');

Tags