All checks
High GuardDuty · regional

GuardDuty S3 Protection should be enabled

Ensures GuardDuty S3 Protection is enabled across all accounts to monitor object-level API operations and identify potential security risks in S3 buckets.

service
GuardDuty
severity
High
scope
evaluated in every region

How to fix it

Have the failing Region's GuardDuty detector carry the S3_DATA_EVENTS feature with status ENABLED. The check also fails when the detector itself is not enabled, whatever the feature says, so GuardDuty has to be running in that Region first. GuardDuty pulls the S3 data events itself, with no CloudTrail trail to configure, and bills on their volume, which a single busy bucket can drive hard.

In the console

GuardDuty → Protection plans → S3 Protection

With the AWS CLI

aws guardduty update-detector --detector-id <detector-id> --region <region> --features '[{"Name":"S3_DATA_EVENTS","Status":"ENABLED"}]'

With Terraform

resource "aws_guardduty_detector_feature" "this" {
  detector_id = aws_guardduty_detector.this.id
  name        = "S3_DATA_EVENTS"
  status      = "ENABLED"
}

See which of your accounts this check is failing on.

Book a demo