turbot/steampipe-mod-terraform-aws-compliance

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 login
powerpipe 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_line
from
terraform_resource
where
type = 'aws_secretsmanager_secret';

Tags