turbot/steampipe-mod-azure-compliance

Control: Azure Monitor should collect activity logs from all regions

Description

This policy audits the Azure Monitor log profile which does not export activities from all Azure supported regions including global.

Usage

Run the control in your terminal:

powerpipe control run azure_compliance.control.monitor_log_profile_enabled_for_all_regions

Snapshot and share results via Turbot Pipes:

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

SQL

This control uses a named query:

select
p.id as resource,
case
when p.log_event_location @> '["global", "australiacentral", "australiacentral2", "australiaeast", "australiasoutheast", "brazilsouth", "brazilsoutheast", "canadacentral", "canadaeast", "centralindia", "centralus", "eastasia", "eastus", "eastus2", "francecentral", "francesouth","germanynorth", "germanywestcentral", "japaneast", "japanwest", "jioindiawest", "koreacentral", "koreasouth", "northcentralus", "northeurope",
"norwayeast", "norwaywest", "southafricanorth", "southafricawest", "southcentralus", "southeastasia", "southindia", "switzerlandnorth", "switzerlandwest", "uaecentral", "uaenorth", "uksouth", "ukwest", "westcentralus", "westeurope", "westindia", "westus", "westus2", "westus3"]' then 'ok'
else 'alarm'
end as status,
case
when p.log_event_location @> '["global", "australiacentral", "australiacentral2", "australiaeast", "australiasoutheast", "brazilsouth", "brazilsoutheast", "canadacentral", "canadaeast", "centralindia", "centralus", "eastasia", "eastus", "eastus2", "francecentral", "francesouth","germanynorth", "germanywestcentral", "japaneast", "japanwest", "jioindiawest", "koreacentral", "koreasouth", "northcentralus", "northeurope",
"norwayeast", "norwaywest", "southafricanorth", "southafricawest", "southcentralus", "southeastasia", "southindia", "switzerlandnorth", "switzerlandwest", "uaecentral", "uaenorth", "uksouth", "ukwest", "westcentralus", "westeurope", "westindia", "westus", "westus2", "westus3"]' then p.name || ' collect activity logs from all regions.'
else p.name || ' not collect activity logs from all regions.'
end as reason
, p.resource_group as resource_group
, sub.display_name as subscription
from
azure_log_profile as p
left join azure_subscription sub on sub.subscription_id = p.subscription_id;

Tags