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_disabledSnapshot and share results via Turbot Pipes:
powerpipe loginpowerpipe control run terraform_azure_compliance.control.appservice_function_app_public_access_disabled --shareSQL
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_linefrom  terraform_resourcewhere  type in ('azurerm_linux_function_app', 'azurerm_linux_function_app_slot', 'azurerm_windows_function_app', 'azurerm_windows_function_app_slot');