Join our Newsletter — 33% off our NHI Course

How do you log S3 object-level data events in AWS CloudTrail?

Turn on CloudTrail data event logging for the S3 buckets or prefixes you need to monitor. Object-level events are not captured by default, so you must explicitly select them for the relevant buckets. Review cost and volume before enabling broad coverage, and confirm the trail delivers the data events to your log destination.

Why S3 Data Events Need Explicit CloudTrail Selection

CloudTrail distinguishes between management events and data events, and S3 object-level activity falls into the latter group. That means reads, writes, deletes, and similar object operations are not automatically recorded when you enable a trail. To log them, you must explicitly add the buckets or prefixes you care about and confirm the trail is delivering those events to the destination you expect.

Object-level logging is most useful when you need visibility into sensitive data access, unusual bulk reads, deletion activity, or changes to objects that should leave an audit trail. The practical trade-off is that broader coverage creates more log volume and cost, so the scope should match the data you actually need to monitor.

For a broader cloud logging baseline, the Cloud Logging and Audit Trail Guide is useful when you are deciding how object-level audit coverage fits into a wider logging strategy.

How to Configure the Trail for the Buckets You Need

In CloudTrail, enable data event logging for S3 and then scope it to the relevant buckets or prefixes rather than turning on every possible object event everywhere. That keeps the signal aligned to the business data set you actually want to watch. If you use multiple accounts or a centralized logging model, make sure the trail configuration still covers the bucket locations where the data events originate.

For AWS environments, the AWS Security Guide gives the surrounding context for CloudTrail, S3, and account-level logging decisions, while the Cloud Security Guide helps place audit logging inside a broader cloud control baseline.

When selecting scope, favor explicit prefixes for high-value paths instead of vague wildcard coverage. That reduces noisy logging and makes it easier to explain why specific object events are being collected. If the workload stores regulated, sensitive, or business-critical data, the audit scope should be reviewed as part of the workload’s control design rather than treated as a one-time checkbox.

What to Validate After You Turn It On

After enabling data event logging, test that an actual object read, write, or delete shows up in the expected log destination. Do not assume the configuration is correct just because the trail exists. Confirm the destination, delivery path, and retention posture, then validate that the event detail is sufficient for investigation, including the bucket name, object key, and the identity or role involved where available.

The Log Management and Retention Guide is the most relevant internal reference when you need to decide how long these events should be kept and how to manage volume without losing investigative value.

If the same bucket also holds high-value backups or recovery material, the Backup Security and Immutable Backup Guide is a good companion because object-level logging becomes more important when deletion or tampering would directly affect recovery.

Risk and Threat Considerations

S3 object-level events are often the audit layer that shows whether data was enumerated, exfiltrated, altered, or deleted. If you leave them uncollected, you may still have infrastructure logs, but you lose the object-level evidence needed to reconstruct what happened in a bucket after a compromise or misconfiguration.

Failure mechanism: Broad S3 access can be abused quietly if object reads and deletes are not logged, and mis-scoped trails can create false confidence by leaving the critical prefixes unmonitored.

Impact: Investigations become slower and less certain, and sensitive data access can go unnoticed until the loss, tampering, or deletion is already operationally expensive.

Where object events are central to detecting credential abuse or unauthorized access, the 230M AWS environment compromise and TruffleNet stolen AWS keys campaign 2025 show why object-level visibility matters when AWS credentials are already in hostile hands.

Standards & Framework Alignment

This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.

CIS Controls v8, NIST SP 800-53 Rev 5 and NIST CSF 2.0 set the governance and control requirements practitioners need to meet.

Framework Control / Reference Relevance
CIS Controls v8 CIS-8 — Audit Log Management S3 object events are audit records that must be collected and retained.
Recommendation — Define and retain S3 object-event logs for the buckets that matter most.
NIST SP 800-53 Rev 5 AU-2 — Event Logging CloudTrail data events are a logging scope decision for object activity.
AU-6 — Audit Record Review, Analysis, and Reporting Captured S3 data events must be reviewable for suspicious access or deletion.
AU-11 — Audit Record Retention Object-level audit evidence is only useful if it is kept long enough for response.
Recommendation — Enable logging for the S3 object events needed for monitoring and investigation. Review S3 data events for anomalous reads, writes, and deletes. Retain S3 object-event logs long enough to support investigation and response.
NIST CSF 2.0 DE.CM-01 — Networks and network services are monitored to detect potential cybersecurity events CloudTrail data events extend monitoring coverage to S3 object activity.
Recommendation — Add S3 object activity to your monitoring coverage for detectability.

Practitioner Guidance

What to verify: Check that the trail is actually collecting the intended buckets or prefixes and that object-level events appear in the destination you monitor. A configured trail that never captures the relevant object activity is not operationally useful.

What to prioritise: Start with the buckets that hold sensitive data, production artifacts, or recovery-critical objects, then expand only if the monitoring value justifies the added log volume and cost.

Practitioner takeaway: The real control is not “CloudTrail is enabled,” it is “the exact S3 object activity that matters is being captured, delivered, and retained where responders can use it.”