turbot/steampipe-mod-terraform-aws-compliance

Control: Log group retention period should be at least 365 days

Description

Ensure a minimum duration of event log data is retained for your log groups to help with troubleshooting and forensics investigations.

Usage

Run the control in your terminal:

powerpipe control run terraform_aws_compliance.control.cloudwatch_log_group_retention_period_365

Snapshot and share results via Turbot Pipes:

powerpipe login
powerpipe control run terraform_aws_compliance.control.cloudwatch_log_group_retention_period_365 --share

SQL

This control uses a named query:

select
address as resource,
case
when (attributes_std -> 'retention_in_days') is null or (attributes_std -> 'retention_in_days')::int < 365 then 'alarm'
else 'ok'
end status,
split_part(address, '.', 2) || case
when (attributes_std -> 'retention_in_days') is null then ' retention period not set'
when (attributes_std -> 'retention_in_days')::int < 365 then ' retention period less than 365 days'
else ' retention period 365 days or above'
end || '.' reason
, path || ':' || start_line
from
terraform_resource
where
type = 'aws_cloudwatch_log_group';

Tags