turbot/steampipe-mod-terraform-azure-compliance

Control: IoT Hubs should disable public network access

Description

Disabling public network access improves security by ensuring that IoT Hub isn't exposed on the public internet. Creating private endpoints can limit exposure of IoT Hub.

Usage

Run the control in your terminal:

powerpipe control run terraform_azure_compliance.control.iot_hub_restrict_public_access

Snapshot and share results via Turbot Pipes:

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

SQL

This control uses a named query:

select
address as resource,
case
when (attributes_std -> 'public_network_access_enabled') is null then 'alarm'
when (attributes_std ->> 'public_network_access_enabled') = 'true' then 'alarm'
else 'ok'
end status,
split_part(address, '.', 2) || case
when (attributes_std -> 'public_network_access_enabled') is null then ' public network access not defined'
when (attributes_std ->> 'public_network_access_enabled') = 'true' then ' publicly accessible'
else ' not publicly accessible'
end || '.' reason
, path || ':' || start_line
from
terraform_resource
where
type = 'azurerm_iothub';

Tags