This rule ensures that S3 buckets have default encryption enabled with Key Management Service (KMS).
Rule | S3 bucket default encryption should be enabled with KMS |
Framework | FedRAMP Low Revision 4 |
Severity | ✔ Medium |
Rule Description:
S3 bucket default encryption should be enabled with Key Management Service (KMS) for FedRAMP Low Revision 4 compliance. This rule helps to ensure that the data stored in S3 buckets is encrypted by default using a KMS key, which provides an extra layer of security to protect sensitive data and comply with the security standards required by FedRAMP Low Revision 4.
Troubleshooting Steps:
If the default encryption with KMS is not enabled or configured properly for an S3 bucket, follow these troubleshooting steps to rectify the issue:
Verify KMS Key:
Verify S3 Encryption Configuration:
Check IAM Permissions:
Test Encryption:
Necessary Code:
If you need to enforce default encryption with KMS for S3 buckets, you can utilize the following AWS CloudFormation template to configure the encryption settings:
Resources:
MyS3Bucket:
Type: AWS::S3::Bucket
Properties:
BucketName: my-bucket
BucketEncryption:
ServerSideEncryptionConfiguration:
- ServerSideEncryptionByDefault:
SSEAlgorithm: aws:kms
KMSMasterKeyId: <KMS_Key_ID>
Make sure to replace
<KMS_Key_ID>
with the appropriate KMS Key ID that you want to use for encryption.Step-by-Step Guide for Remediation:
To enable default encryption with KMS for an existing S3 bucket or during the creation of a new bucket, follow these step-by-step instructions:
Console:
S3 Service:
Bucket Selection:
Properties Tab:
Default Encryption:
Edit Default Encryption:
Encryption Settings:
Specify KMS Key:
Save Settings:
Verification:
Following these steps will enable default encryption with KMS for the selected S3 bucket, ensuring compliance with the FedRAMP Low Revision 4 guidelines.