turbot/steampipe-mod-terraform-azure-compliance

Control: Kubernetes cluster nodes should restrict public access

Description

Ensure Kubernetes cluster node do not have public IP addresses. This control is non-compliant if Kubernetes cluster node have a public IP address assigned.

Usage

Run the control in your terminal:

powerpipe control run terraform_azure_compliance.control.kubernetes_cluster_node_restrict_public_access

Snapshot and share results via Turbot Pipes:

powerpipe login
powerpipe control run terraform_azure_compliance.control.kubernetes_cluster_node_restrict_public_access --share

SQL

This control uses a named query:

select
address as resource,
case
when (attributes_std -> 'default_node_pool' ->> 'enable_node_public_ip') = 'true' then 'alarm'
else 'ok'
end status,
split_part(address, '.', 2) || case
when (attributes_std -> 'default_node_pool' ->> 'enable_node_public_ip') = 'true' then ' has public node'
else ' has no public node'
end || '.' reason
, path || ':' || start_line
from
terraform_resource
where
type = 'azurerm_kubernetes_cluster';

Tags