RDS DB clusters should be encrypted with CMK¶
Ensure RDS DB cluster is encrypted using CMK. The rule is non-compliant if the RDS DB cluster is not encrypted using CMK.
How to fix¶
Attribute kms_key_id of aws_rds_cluster must be non-empty.
Implementation options¶
Choose the option that matches how you manage Terraform. All options satisfy this control.
Option 1: Open source module (terraform-aws-modules)¶
If you use terraform-aws-modules/rds-aurora/aws, configure the required module inputs to satisfy this control. You can later migrate to the compliance.tf module with minimal changes because it is compatible by design.
module "rds_aurora" {
source = "terraform-aws-modules/rds-aurora/aws"
version = ">=10.0.0,<11.0.0"
engine = "aurora-postgresql"
engine_version = "16.1"
instances = {
one = {
instance_class = "db.r6g.large"
}
}
master_username = "root"
name = "abc123"
subnets = []
vpc_id = ""
}
Option 2: Terraform AWS provider resources¶
If you manage resources directly, configure the relevant Terraform AWS provider resources to meet this control. See docs for the resources involved: aws_rds_cluster.
resource "aws_rds_cluster" "this" {
backtrack_window = 72
cluster_identifier = "pofix-example-cluster"
enabled_cloudwatch_logs_exports = ["audit", "postgresql"]
engine = "aurora-mysql"
master_password = "ChangeMe123!"
master_username = "dbadmin"
kms_key_id = "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012"
}
Which option should I choose?
- Compliance.tf module (recommended): controls enforced by default and mapped to frameworks.
- Open source module (
terraform-aws-modules): compatible by design with compliance.tf. Same variable names for an easy, low-change migration path when you are ready. - Terraform AWS provider resources: manage Terraform resources directly.
Tool mappings¶
Use these identifiers to cross-reference this control across tools, reports, and evidence.
Compliance.tf (CTF) Control:
rds_db_cluster_encrypted_with_cmkCheckov Check:
CKV_AWS_327Powerpipe Control:
aws_compliance.control.rds_db_cluster_encrypted_with_cmk