encryption-customer-key
Explanation
Encryption using AWS keys provides protection for your DocumentDB underlying storage. To increase control of the encryption and manage factors like rotation use customer managed keys.
Possible Impact
Using AWS managed keys does not allow for fine grained control
Suggested Resolution
Enable encryption using customer managed keys
Insecure Example
The following example will fail the AVD-AWS-0022 check.
---
Resources:
BadExample:
Type: "AWS::DocDB::DBCluster"
Properties:
BackupRetentionPeriod: 8
DBClusterIdentifier: sample-cluster
DBClusterParameterGroupName: default.docdb3.6
BadInstanceExample:
Type: "AWS::DocDB::DBInstance"
Properties:
AutoMinorVersionUpgrade: true
AvailabilityZone: us-east-1c
DBClusterIdentifier: sample-cluster
DBInstanceClass: db.r5.large
DBInstanceIdentifier: sample-cluster-instance-0
PreferredMaintenanceWindow: 'sat:06:54-sat:07:24'
Secure Example
The following example will pass the AVD-AWS-0022 check.
---
Resources:
GoodExample:
Type: "AWS::DocDB::DBCluster"
Properties:
BackupRetentionPeriod : 8
DBClusterIdentifier : "sample-cluster"
DBClusterParameterGroupName : "default.docdb3.6"
KmsKeyId : "your-kms-key-id"
EnableCloudwatchLogsExports:
- audit
- profiler
InstanceInstanceExample:
Type: "AWS::DocDB::DBInstance"
Properties:
AutoMinorVersionUpgrade: true
AvailabilityZone: "us-east-1c"
DBClusterIdentifier: "sample-cluster"
DBInstanceClass: "db.r5.large"
DBInstanceIdentifier: "sample-cluster-instance-0"
PreferredMaintenanceWindow: "sat:06:54-sat:07:24"