Public Access Prevention and Legacy ACL Evaluation Order
0 reputation · 18 Aug 2024, 14:42 UTC
Google Cloud Storage's Public Access Prevention feature is designed to block all public ingress to a bucket and its objects when activated. The service documentation confirms that the flag blocks public access via IAM and ACLs, but it does not specify the evaluation sequence when both the bucket-level prevention flag and legacy ACL entries granting the AllUsers group read permission are present. This creates uncertainty about whether existing ACL entries are automatically overridden, ignored, or remain potentially effective during runtime access checks, particularly for object-level requests.
Administrators relying solely on Public Access Prevention for strict access control may inadvertently leave exposure paths if legacy ACLs are not addressed, especially during bucket migration or policy revisions.
- When a bucket has Public Access Prevention enabled and contains an AllUsers ACL entry, which mechanism is consulted first during runtime access checks?
- Does enabling Public Access Prevention automatically neutralize or ignore existing AllUsers ACL entries, or must those entries be manually removed to ensure complete public access restriction?
- What is the runtime access behavior that definitively confirms public access is blocked regardless of coexisting legacy ACL configurations?