I've been reviewing several AWS security scanners while building one myself, and I noticed that many check public access settings, encryption, and bucket policies but don't appear to check S3 server access logging. Is this usually treated as a lower-priority control, or is the API and configuration more complicated than it seems? I initially thought a missing result in my own scanner was caused by a regional issue, but the logging check simply hadn't been implemented. I'm curious whether others have found similar gaps in commonly used cloud-security tools, and how they decide which controls are worth flagging.
3 Answers
For some environments, this is an intentional tradeoff rather than a missing security control. S3 server access logging can generate a large amount of data and expense, especially when many compute nodes constantly access petabytes of storage. If access is already tightly restricted through private networking, endpoint policies, IAM, and other monitoring systems, an organization may reasonably decide that the value of detailed S3 request logs doesn’t justify the cost. A scanner should probably treat logging as context-dependent instead of automatically reporting every bucket without it as a vulnerability.
The S3 logging configuration itself is not necessarily impossible to inspect, so a missing check may simply be an implementation gap. Still, reporting it as a universal security failure would be misleading. A useful scanner could check whether logging is enabled, identify the destination and permissions, and then allow exceptions based on data sensitivity, access patterns, private endpoint restrictions, existing audit systems, and the expected logging cost.
Exactly. The best result would probably be a configurable recommendation with severity based on the workload, rather than a mandatory pass-or-fail rule.
A lot of tools prioritize controls that are easy to explain and broadly applicable, such as public exposure, encryption, and overly permissive policies. Access logging is less flashy and often requires more environmental context, so it may be omitted or left for a separate compliance check. It’s easy to overlook until an incident happens and someone needs a detailed record of bucket access.
The important part is being explicit about what the scanner actually checks. If a tool claims comprehensive S3 coverage but never inspects the bucket logging configuration, that gap should be documented even if the organization ultimately accepts the risk.

That makes sense for large, tightly controlled environments, but it can still be useful to distinguish between “logging disabled” and “logging intentionally not required.” The finding needs enough context to avoid turning an accepted-risk decision into a false positive.