turbot/steampipe-mod-terraform-azure-compliance

Control: Function apps should restrict public network access

Description

This control checks whether Function apps are not publicly accessible.

Usage

Run the control in your terminal:

powerpipe control run terraform_azure_compliance.control.appservice_function_app_public_access_disabled

Snapshot and share results via Turbot Pipes:

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

SQL

This control uses a named query:

select
address as resource,
case
when (attributes_std -> 'public_network_access_enabled') is null
or (attributes_std ->> 'public_network_access_enabled') :: bool then 'alarm'
else 'ok'
end status,
split_part(address, '.', 2) || case
when (attributes_std -> 'public_network_access_enabled') is null
or (attributes_std ->> 'public_network_access_enabled') :: bool then ' publicly accessible'
else ' not publicly accessible'
end || '.' reason,
path || ':' || start_line
from
terraform_resource
where
type in (
'azurerm_linux_function_app',
'azurerm_linux_function_app_slot',
'azurerm_windows_function_app',
'azurerm_windows_function_app_slot'
);

Tags