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 loginpowerpipe 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_linefrom terraform_resourcewhere type = 'aws_dlm_lifecycle_policy';