Check ID:
Provider: AWS
Service:
Severity: LOW
Categories:
Resource type:
s3_bucket_event_notifications_enabledProvider: AWS
Service:
s3Severity: LOW
Categories:
loggingResource type:
AwsS3BucketWhat this check verifies
Amazon S3 buckets define a notification configuration that publishes bucket events (for examples3:ObjectCreated:*, s3:ObjectRemoved:*) to a destination. The evaluation identifies buckets that lack any notification setup.
Risk
Missing notifications leaves object and bucket changes unseen, weakening integrity and availability oversight. Undetected deletions, policy drift, or replication issues can stall data pipelines (S3 to Lambda/SQS), slow incident response, and allow tampering or exfiltration to persist longer.Recommendation
Enable S3 event notifications for relevant events (e.g.,s3:ObjectCreated:*, s3:ObjectRemoved:*) and route to controlled destinations (SNS, SQS, Lambda, EventBridge).
Use prefix/suffix filters, avoid recursive triggers, and enforce least privilege on targets. Pair with object-level logging for defense in depth.
Remediation
- CLI
- Terraform
- Native IaC
- Dashboard steps
References
- https://docs.aws.amazon.com/securityhub/latest/userguide/s3-controls.html#s3-11
- https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-event-notifications.html
- https://docs.aws.amazon.com/AmazonS3/latest/userguide/EventNotifications.html
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_event_notifications_enabled. 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