turbot/steampipe-mod-azure-compliance

Control: App Service apps should have resource logs enabled

Description

Audit enabling of resource logs on the app. This enables you to recreate activity trails for investigation purposes if a security incident occurs or your network is compromised.

Usage

Run the control in your terminal:

powerpipe control run azure_compliance.control.appservice_web_app_diagnostic_logs_enabled

Snapshot and share results via Turbot Pipes:

powerpipe login
powerpipe control run azure_compliance.control.appservice_web_app_diagnostic_logs_enabled --share

SQL

This control uses a named query:

select
a.id as resource,
case
when (a.configuration-> 'properties' -> 'detailedErrorLoggingEnabled')::bool
and (a.configuration -> 'properties' -> 'httpLoggingEnabled')::bool
and (a.configuration-> 'properties' -> 'requestTracingEnabled')::bool
then 'ok'
else 'alarm'
end as status,
case
when (a.configuration-> 'properties' -> 'detailedErrorLoggingEnabled')::bool
and (a.configuration -> 'properties' -> 'httpLoggingEnabled')::bool
and (a.configuration-> 'properties' -> 'requestTracingEnabled')::bool
then a.name || ' diagnostic logs enabled.'
else a.title || ' diagnostic logs disabled.'
-- concat_ws(', ',
-- case when not ((a.configuration-> 'properties' -> 'detailedErrorLoggingEnabled')::bool) then 'detailed_Error_Logging_Enabled' end,
-- case when not ((a.configuration -> 'properties' -> 'httpLoggingEnabled')::bool) then 'http_logging_enabled' end,
-- case when not ((a.configuration-> 'properties' -> 'requestTracingEnabled')::bool) then 'request_tracing_enabled' end
-- ) || '.'
end as reason
, a.resource_group as resource_group
, sub.display_name as subscription
from
azure_app_service_web_app as a,
azure_subscription as sub
where
sub.subscription_id = a.subscription_id;

Tags