turbot/steampipe-mod-terraform-azure-compliance

Control: Diagnostic logs in App Services should be enabled

Description

Audit enabling of diagnostic 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 terraform_azure_compliance.control.appservice_web_app_diagnostic_logs_enabled

Snapshot and share results via Turbot Pipes:

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

SQL

This control uses a named query:

select
address as resource,
case
when (attributes_std -> 'logs') is null then 'alarm'
when
(attributes_std -> 'logs' ->> 'detailed_error_messages_enabled')::boolean
and (attributes_std -> 'logs' ->> 'failed_request_tracing_enabled')::boolean
and (attributes_std -> 'logs' -> 'http_logs') is not null then 'ok'
else 'alarm'
end status,
split_part(address, '.', 2) || case
when (attributes_std -> 'logs') is null then ' ''logs'' not defined'
when
(attributes_std -> 'logs' ->> 'detailed_error_messages_enabled')::boolean
and (attributes_std -> 'logs' ->> 'failed_request_tracing_enabled')::boolean
and (attributes_std -> 'logs' -> 'http_logs' -> 'file_system') is not null then ' diagnostic logs enabled'
else ' diagnostic logs disabled'
end || '.' reason
, path || ':' || start_line
from
terraform_resource
where
type = 'azurerm_app_service';

Tags