Check ID:
Provider: AWS
Service:
Severity: MEDIUM
Categories:
Resource type:
s3_bucket_object_versioningProvider: AWS
Service:
s3Severity: MEDIUM
Categories:
resilienceResource type:
AwsS3BucketWhat this check verifies
Amazon S3 buckets are evaluated for object versioning beingEnabled, which maintains multiple versions of the same object key for historical state retention
Risk
Without versioning, deletions and overwrites remove the only copy, undermining availability and integrity.- Compromised identities or buggy apps can mass-delete/corrupt data
- No historical versions means limited rollback and irrecoverable loss
Recommendation
Enable S3 versioning for buckets holding important or shared data.- Enforce least privilege to limit delete/overwrite
- Use Object Lock and/or MFA Delete for stronger protection
- Apply lifecycle rules to manage noncurrent versions and costs
- Layer with backups/replication for defense in depth
Remediation
- CLI
- Terraform
- Native IaC
- Dashboard steps
References
Where this check fires
This check runs on every scheduled scan against your AWS account. Findings appear at Cloud Security → Findings filterable byCheck ID = s3_bucket_object_versioning. 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