This rule ensures that default encryption with KMS is enabled for S3 buckets.
Rule | S3 bucket default encryption should be enabled with KMS |
Framework | NIST 800-53 Revision 5 |
Severity | ✔ Medium |
S3 Bucket Default Encryption with KMS for NIST 800-53 Revision 5
Description
Enabling default encryption for Amazon S3 buckets with AWS Key Management Service (KMS) is a crucial security measure to protect sensitive data stored in the buckets. This rule ensures that all newly created S3 buckets have encryption enabled using KMS customer master keys (CMKs) as per the NIST 800-53 Revision 5 security controls.
Troubleshooting Steps
If encryption is not enabled or misconfigured, you may encounter the following issues:
Necessary Codes
To enable default encryption with KMS for S3 buckets, the following code should be used when creating new buckets:
aws s3api create-bucket --bucket <bucket-name> --create-bucket-configuration LocationConstraint=<aws-region> --encryption BucketKeyEnabled=true,DefaultMasterKeyID=<kms-key-id>
Make sure to replace
<bucket-name>
with the desired bucket name, <aws-region>
with the AWS region where the bucket will be created, and <kms-key-id>
with the ID of the KMS customer master key to be used for encryption.Remediation Steps
Follow the steps below to remediate and enable default S3 bucket encryption using KMS:
Verification
To ensure that default encryption with KMS is enabled for an S3 bucket, perform the following steps:
By following these steps, you will successfully enable default encryption with KMS for S3 buckets, meeting the NIST 800-53 Revision 5 security control requirements.