Amazon EFS file systems must have encryption enabled to protect data at rest. Without encryption, file data, backups, and snapshots can be exposed if storage media or underlying infrastructure is compromised.
For AWS::EFS::FileSystem resources, the Properties.Encrypted property must be set to true. This rule flags resources with Encrypted set to false. To ensure encryption is always applied, explicitly set Encrypted to true and optionally specify KmsKeyId to use a customer-managed AWS KMS key.
AWSTemplateFormatVersion:"2010-09-09"Description:"Create EFS system and Mount Targets for test VPC"Parameters:VPC:Type:StringDescription:The VPC identityDefault:vpc-IDSubnetID1:Type:StringDescription:The subnet where to launch the serviceDefault:subnet-IDSubnetID2:Type:StringDescription:the subnet where to Launch the serviceDefault:subnet-IDSubnetID3:Type:StringDescription:The subnet where to launch the serviceDefault:subnet-IDSubnetID4:Type:StringDescription:the subnet where to Launch the serviceDefault:subnet-IDResources:EFSSecurityGroup:Type:"AWS::EC2::SecurityGroup"Properties:GroupDescription:"security group for the prod EFS"GroupName:"test-EFS-SG"VpcId:!Ref VPCSecurityGroupIngress:- SourceSecurityGroupId:sg-IDDescription:"servers to connect to efs"FromPort:2049IpProtocol:"tcp"ToPort:2049Tags:- Key:EnvironmentValue:prod- Key:NameValue:test-VPC-EFS-SG- Key:ProjectValue:ITEngineeringEFSFileSystem:Type:AWS::EFS::FileSystemProperties:BackupPolicy:Status:ENABLEDEncrypted:trueLifecyclePolicies:- TransitionToIA:AFTER_60_DAYSPerformanceMode:generalPurposeThroughputMode:burstingFileSystemTags:- Key:EnvironmentValue:prod- Key:NameValue:test-VPC-EFS- Key:ProjectValue:ITEngineeringMountTarget1:Type:AWS::EFS::MountTargetProperties:FileSystemId:!Ref EFSFileSystemIpAddress:"*.*.*.*"SecurityGroups:- !Ref EFSSecurityGroupSubnetId:!Ref SubnetID1MountTarget2:Type:AWS::EFS::MountTargetProperties:FileSystemId:!Ref EFSFileSystemIpAddress:"*.*.*.*"SecurityGroups:- !Ref EFSSecurityGroupSubnetId:!Ref SubnetID2MountTarget3:Type:AWS::EFS::MountTargetProperties:FileSystemId:!Ref EFSFileSystemIpAddress:"*.*.*.*"SecurityGroups:- !Ref EFSSecurityGroupSubnetId:!Ref SubnetID3MountTarget4:Type:AWS::EFS::MountTargetProperties:FileSystemId:!Ref EFSFileSystemIpAddress:"*.*.*.*"SecurityGroups:- !Ref EFSSecurityGroupSubnetId:!Ref SubnetID4Outputs:EFS:Description:The created EFSValue:!Ref EFSFileSystemEFSMountTarget1:Description:The EFS MountTarget1Value:!Ref MountTarget1EFSMountTarget2:Description:The EFS MountTarget2Value:!Ref MountTarget2EFSMountTarget3:Description:The EFS MountTarget3Value:!Ref MountTarget3EFSMountTarget4:Description:The EFS MountTarget4Value:!Ref MountTarget4
Non-Compliant Code Examples
AWSTemplateFormatVersion:"2010-09-09"Description:"Create EFS system and Mount Targets for test VPC"Parameters:VPC:Type:StringDescription:The VPC identityDefault:vpc-IDSubnetID1:Type:StringDescription:The subnet where to launch the serviceDefault:subnet-IDSubnetID2:Type:StringDescription:the subnet where to Launch the serviceDefault:subnet-IDSubnetID3:Type:StringDescription:The subnet where to launch the serviceDefault:subnet-IDSubnetID4:Type:StringDescription:the subnet where to Launch the serviceDefault:subnet-IDResources:EFSSecurityGroup:Type:"AWS::EC2::SecurityGroup"Properties:GroupDescription:"security group for the prod EFS"GroupName:"test-EFS-SG"VpcId:!Ref VPCSecurityGroupIngress:- SourceSecurityGroupId:sg-IDDescription:"servers to connect to efs"FromPort:2049IpProtocol:"tcp"ToPort:2049Tags:- Key:EnvironmentValue:prod- Key:NameValue:test-VPC-EFS-SG- Key:ProjectValue:ITEngineeringEFSFileSystem01:Type:AWS::EFS::FileSystemProperties:BackupPolicy:Status:ENABLEDEncrypted:falseLifecyclePolicies:- TransitionToIA:AFTER_60_DAYSPerformanceMode:generalPurposeThroughputMode:burstingFileSystemTags:- Key:EnvironmentValue:prod- Key:NameValue:test-VPC-EFS- Key:ProjectValue:ITEngineeringMountTarget1:Type:AWS::EFS::MountTargetProperties:FileSystemId:!Ref EFSFileSystem01IpAddress:"*.*.*.*"SecurityGroups:- !Ref EFSSecurityGroupSubnetId:!Ref SubnetID1MountTarget2:Type:AWS::EFS::MountTargetProperties:FileSystemId:!Ref EFSFileSystem01IpAddress:"*.*.*.*"SecurityGroups:- !Ref EFSSecurityGroupSubnetId:!Ref SubnetID2MountTarget3:Type:AWS::EFS::MountTargetProperties:FileSystemId:!Ref EFSFileSystem01IpAddress:"*.*.*.*"SecurityGroups:- !Ref EFSSecurityGroupSubnetId:!Ref SubnetID3MountTarget4:Type:AWS::EFS::MountTargetProperties:FileSystemId:!Ref EFSFileSystem01IpAddress:"*.*.*.*"SecurityGroups:- !Ref EFSSecurityGroupSubnetId:!Ref SubnetID4Outputs:EFS:Description:The created EFSValue:!Ref EFSFileSystem01EFSMountTarget1:Description:The EFS MountTarget1Value:!Ref MountTarget1EFSMountTarget2:Description:The EFS MountTarget2Value:!Ref MountTarget2EFSMountTarget3:Description:The EFS MountTarget3Value:!Ref MountTarget3EFSMountTarget4:Description:The EFS MountTarget4Value:!Ref MountTarget4
1
2
rulesets:- CloudFormation / AWS # Rules to enforce / AWS.
Request a personalized demo
Get Started with Datadog
Ask AI
AI-generated responses may be inaccurate. Verify important info.