Check ID: s3_bucket_object_lock
Provider: AWS
Service: s3
Severity: LOW
Categories: resilience
Resource type: AwsS3Bucket

What this check verifies

Amazon S3 buckets have Object Lock enabled at the bucket level, applying WORM controls to object versions

Risk

Without Object Lock, object versions can be deleted or overwritten, undermining data integrity and availability. Threats include ransomware erasing backups, insider or mistaken deletions, and tampering that defeats recovery. Inability to enforce retention or legal holds increases exposure to data loss and compliance gaps.

Recommendation

Enable Object Lock for critical data and set appropriate default retention in GOVERNANCE or COMPLIANCE mode. Apply immutability and least privilege by restricting permissions that bypass retention, and use legal holds when you need indefinite protection for investigations or regulatory requirements.

Remediation

aws s3api put-object-lock-configuration --bucket <BUCKET_NAME> --object-lock-configuration '{"ObjectLockEnabled":"Enabled","Rule":{"DefaultRetention":{"Mode":"GOVERNANCE","Days":1}}}'

References

Where this check fires

This check runs on every scheduled scan against your AWS account. Findings appear at Cloud Security → Findings filterable by Check ID = s3_bucket_object_lock. To re-evaluate after a fix, hit Run now on the account’s schedule under Cloud Security → Schedules — the next scan re-checks this control and marks the finding fixed or keeps it persistent.
← Back to AWS checks