turbot/steampipe-mod-terraform-aws-compliance

Control: IAM authentication should be configured for RDS clusters

Description

This control checks whether an RDS DB cluster has IAM database authentication enabled. IAM database authentication allows for password-free authentication to database instances. The authentication uses an authentication token. Network traffic to and from the database is encrypted using SSL.

Usage

Run the control in your terminal:

powerpipe control run terraform_aws_compliance.control.rds_db_cluster_iam_authentication_enabled

Snapshot and share results via Turbot Pipes:

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

SQL

This control uses a named query:

select
address as resource,
case
when (attributes_std -> 'iam_database_authentication_enabled') is null then 'alarm'
when (attributes_std -> 'iam_database_authentication_enabled')::bool then 'ok'
else 'alarm'
end status,
split_part(address, '.', 2) || case
when (attributes_std -> 'iam_database_authentication_enabled') is null then ' ''iam_database_authentication_enabled'' disabled'
when (attributes_std -> 'iam_database_authentication_enabled')::bool then ' ''iam_database_authentication_enabled'' enabled'
else ' ''iam_database_authentication_enabled'' disabled'
end || '.' as reason
, path || ':' || start_line
from
terraform_resource
where
type = 'aws_rds_cluster';

Tags