Control: FTPS only should be required in your API App
Description
Enable FTPS enforcement for enhanced security.
Usage
Run the control in your terminal:
powerpipe control run azure_compliance.control.appservice_api_app_ftps_enabled
Snapshot and share results via Turbot Pipes:
powerpipe loginpowerpipe control run azure_compliance.control.appservice_api_app_ftps_enabled --share
SQL
This control uses a named query:
with all_api_app as ( select id from azure_app_service_web_app where exists ( select from unnest(regexp_split_to_array(kind, ',')) elem where elem like '%api' ))select a.id as resource, case when b.id is null then 'skip' when configuration -> 'properties' ->> 'ftpsState' = 'AllAllowed' then 'alarm' else 'ok' end as status, case when b.id is null then a.title || ' is ' || a.kind || ' kind.' when configuration -> 'properties' ->> 'ftpsState' = 'AllAllowed' then a.name || ' FTPS disabled.' else a.name || ' FTPS enabled.' end as reason , a.resource_group as resource_group , sub.display_name as subscriptionfrom azure_app_service_web_app as a left join all_api_app as b on a.id = b.id, azure_subscription as subwhere sub.subscription_id = a.subscription_id;