7 of 29 in All Controls
aws

Enforce S3 Block Public Access at Organization Level

IDAWS-DATA-001
Severity
critical
Automation
Auto
Category
data-protection
Enforcementmandatory
Complexity / Impact
low(disruptive impact)
Cloud Scopeaws:root
Environments
all
Target Resources
S3
Services
s3aws-organizationsservice-control-policiesconfig
Tags
data-protections3storagepreventativelanding-zone
Frameworks
CIS AWSNIST 800-53SOC 2PCI DSS
Governance
(quarterly)
Audit Dates
2026-05-03 • 2026-05-30

Specification & Description

Enforce S3 Block Public Access across all Landing Zone accounts using a multi-layered governance strategy: the primary control utilizes the native AWS Organizations S3 Policy type applied globally from the Management account, backed by an SCP to prevent local tampering of bucket/account settings, and continuous AWS Config tracking.

Technical Specifications

S3 Block Public Access operates across three distinct governance layers that must be aligned:

1. Organizations-level S3 Policy Type (Primary Control)

AWS Organizations supports a dedicated "S3 Policy" resource type. When enabled and configured on the Organization Root via the Management account, it globally overrides and enforces S3 Block Public Access across all underlying member accounts, buckets, and objects natively.

The four settings and what each prevents:

SettingEffect
BlockPublicAclsRejects PUT requests that include a public ACL; ignores public ACLs on existing objects
IgnorePublicAclsIgnores all public ACLs on buckets and objects, even if already set
BlockPublicPolicyRejects bucket policies that grant public access
RestrictPublicBucketsRestricts access to buckets with public policies to only AWS services and authorized users

All four must be enabled. Enabling only a subset leaves exploitable gaps - for example, enabling BlockPublicPolicy without IgnorePublicAcls still allows public access via legacy ACLs.

2. SCP Guardrail - Prevent Local Bypass (Defense in Depth)

While the Organizations S3 Policy type acts as an absolute override, an SCP is applied to member accounts to block unauthorized local attempts to drop account-level or bucket-level configurations, preventing intentional or accidental local drift.

3. AWS Config - Continuous Drift Detection

The s3-account-level-public-access-blocks-periodic managed Config rule evaluates member accounts on a periodic schedule, ensuring local resource structures remain aligned and visible to compliance frameworks.

Security Rationale

Publicly exposed S3 storage is a primary vehicle for enterprise data breaches. Relying on individual account administrators to maintain local S3 blocks creates scaling risks. Utilizing the native AWS Organizations S3 Policy type provides an absolute central override that cannot be altered or bypassed at the individual member account or bucket level, while an SCP prevents local state changes.

We value your privacy

We use analytics cookies to understand how visitors interact with our site and to improve the user experience. You can choose to accept or decline these cookies.