Control: Secrets Manager secrets should be encrypted with KMS CMK
Description
Ensure Secrets Manager secrets are encrypted at rest with KMS CMK.
Usage
Run the control in your terminal:
powerpipe control run terraform_aws_compliance.control.secretsmanager_secret_encrypted_with_kms_cmk
Snapshot and share results via Turbot Pipes:
powerpipe loginpowerpipe control run terraform_aws_compliance.control.secretsmanager_secret_encrypted_with_kms_cmk --share
SQL
This control uses a named query:
select address as resource, case when coalesce(trim((attributes_std ->> 'kms_key_id')), '') = '' or (attributes_std ->> 'kms_key_id') = 'aws/secretsmanager' then 'alarm' else 'ok' end as status, split_part(address, '.', 2) || case when coalesce(trim((attributes_std ->> 'kms_key_id')), '') = '' or (attributes_std ->> 'kms_key_id') = 'aws/secretsmanager' then ' is encrypted at rest default KMS key' else ' is encrypted at rest using KMS CMK' end || '.' as reason , path || ':' || start_linefrom terraform_resourcewhere type = 'aws_secretsmanager_secret';