turbot/azure_compliance

Query: appservice_web_app_latest_dotnet_framework_version

Usage

powerpipe query azure_compliance.query.appservice_web_app_latest_dotnet_framework_version

SQL

with all_linux_web_app as (
select
id
from
azure_app_service_web_app
where
exists (
select
from
unnest(regexp_split_to_array(kind, ',')) elem
where
elem = 'linux'
)
)
select
a.id as resource,
case
when b.id is null and configuration -> 'properties' ->> 'netFrameworkVersion' in ('v6.0', 'v7.0') then 'ok'
when b.id is not null and configuration -> 'properties' ->> 'linuxFxVersion' not like 'DOTNETCORE|%' then 'ok'
when b.id is not null and configuration -> 'properties' ->> 'linuxFxVersion' in ('DOTNETCORE|6.0', 'DOTNETCORE|7.0') then 'ok'
else 'alarm'
end as status,
case
when b.id is null and configuration -> 'properties' ->> 'netFrameworkVersion' in ('v6.0', 'v7.0') then a.name || ' using latest dotnet framework version.'
when b.id is not null and configuration -> 'properties' ->> 'linuxFxVersion' not like 'DOTNETCORE|%' then a.name || ' not using dotnet framework.'
when b.id is not null and configuration -> 'properties' ->> 'linuxFxVersion' in ('DOTNETCORE|6.0', 'DOTNETCORE|7.0') then a.name || ' using latest dotnet vframework ersion.'
else a.name || ' not using latest dotnet framework version.'
end as reason
, a.resource_group as resource_group
, sub.display_name as subscription
from
azure_app_service_web_app as a
left join all_linux_web_app as b on a.id = b.id,
azure_subscription as sub
where
sub.subscription_id = a.subscription_id;

Controls

The query is being used by the following controls: