Control: App Service API apps should only be accessible over HTTPS
Description
Use of HTTPS ensures server/service authentication and protects data in transit from network layer eavesdropping attacks.
Usage
Run the control in your terminal:
powerpipe control run azure_compliance.control.appservice_api_app_use_httpsSnapshot and share results via Turbot Pipes:
powerpipe loginpowerpipe control run azure_compliance.control.appservice_api_app_use_https --shareSQL
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 not https_only then 'alarm'    else 'ok'  end as status,  case    when b.id is null then a.title || ' is ' || a.kind || ' kind.'    when not https_only then a.name || ' does not redirect all HTTP traffic to HTTPS.'    else a.name || ' redirects all HTTP traffic to HTTPS.'  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  left join azure_subscription as sub on sub.subscription_id = a.subscription_id;