turbot/steampipe-mod-terraform-aws-compliance

Control: RDS Global Cluster (MySQl & PostgreSQL) should have encryption enabled

Description

This control checks whether RDS Global Cluster (MySQl & PostgreSQL) encryption is enabled.

Usage

Run the control in your terminal:

powerpipe control run terraform_aws_compliance.control.rds_global_cluster_encryption_enabled

Snapshot and share results via Turbot Pipes:

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

SQL

This control uses a named query:

select
address as resource,
case
when (attributes_std ->> 'storage_encrypted')::boolean then 'ok'
when (attributes_std ->> 'source_db_cluster_identifier') is null then 'info'
when (attributes_std ->> 'storage_encrypted')::boolean and (attributes_std ->> 'source_db_cluster_identifier') is not null then 'ok'
else 'alarm'
end status,
split_part(address, '.', 2) || case
when (attributes_std ->> 'storage_encrypted')::boolean then ' enccryption enabled'
when (attributes_std ->> 'source_db_cluster_identifier') is null then ' DB cluster identifier is not provided of the primary global cluster creation'
when (attributes_std ->> 'storage_encrypted')::boolean and (attributes_std ->> 'source_db_cluster_identifier') is not null then ' enccryption enabled'
else ' enccryption disabled'
end || '.' reason
, path || ':' || start_line
from
terraform_resource
where
type = 'aws_rds_global_cluster';

Tags