turbot/steampipe-mod-azure-compliance

Control: Ensure that 'Auditing' Retention is 'greater than 90 days'

Description

SQL Server Audit Retention should be configured to be greater than 90 days.

Usage

Run the control in your terminal:

powerpipe control run azure_compliance.control.sql_server_auditing_retention_period_90

Snapshot and share results via Turbot Pipes:

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

SQL

This control uses a named query:

select
s.id as resource,
case
when (audit -> 'properties' ->> 'retentionDays')::integer = 0 then 'ok'
when (audit -> 'properties' ->> 'retentionDays')::integer >= 90 then 'ok'
else 'alarm'
end as status,
case
when (audit -> 'properties' ->> 'retentionDays')::integer = 0 then name || ' audit retention set to unlimited days.'
when (audit -> 'properties' ->> 'retentionDays')::integer >= 90 then name || ' audit retention greater than 90 days.'
else name || ' audit retention less than 90 days.'
end as reason
, s.resource_group as resource_group
, sub.display_name as subscription
from
azure_sql_server s,
jsonb_array_elements(server_audit_policy) audit,
azure_subscription sub
where
sub.subscription_id = s.subscription_id;

Tags