turbot/steampipe-mod-terraform-aws-compliance

Control: DLM schedule cross-region encryption with KMS CMK should be enabled

Description

This control checks whether the DLM schedule cross has cross-region encryption with KMS CMK enabled.

Usage

Run the control in your terminal:

powerpipe control run terraform_aws_compliance.control.dlm_schedule_cross_region_encrypted_with_kms_cmk

Snapshot and share results via Turbot Pipes:

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

SQL

This control uses a named query:

select
address as resource,
case
when (attributes_std -> 'policy_details' -> 'schedule' -> 'cross_region_copy_rule') is null then 'skip'
when (attributes_std -> 'policy_details' -> 'schedule' -> 'cross_region_copy_rule' ->> 'encrypted')::boolean and (attributes_std -> 'policy_details' -> 'schedule' -> 'cross_region_copy_rule' ->> 'cmk_arn') is not null then 'ok'
else 'alarm'
end status,
split_part(address, '.', 2) || case
when (attributes_std -> 'policy_details' -> 'schedule' -> 'cross_region_copy_rule') is null then ' schedule cross-region not configured'
when (attributes_std -> 'policy_details' -> 'schedule' -> 'cross_region_copy_rule' ->> 'encrypted')::boolean and (attributes_std -> 'policy_details' -> 'schedule' -> 'cross_region_copy_rule' ->> 'cmk_arn') is not null then ' schedule cross-region encrypted with KMS CMK'
else ' schedule cross-region not encrypted with KMS CMK'
end || '.' reason
, path || ':' || start_line
from
terraform_resource
where
type = 'aws_dlm_lifecycle_policy';

Tags