Question

Difficulty: HardConfiguring Storage Access Controls and Uniform Bucket-Level Access

A cloud security engineer needs to transition a legacy Cloud Storage bucket containing audit logs from fine-grained Access Control Lists (ACLs) to Uniform Bucket-Level Access (UBLA) without disrupting active applications or causing permission denials. In what correct chronological sequence should the engineer execute the following operational steps to safely enforce bucket-level access control?

  1. 1Audit existing object-level and bucket-level ACLs to identify all unique user and service account access requirements.
  2. 2Map the discovered ACL permissions to equivalent Google Cloud Storage predefined IAM roles (such as Storage Object Viewer or Storage Object Creator).
  3. 3Apply the mapped IAM role bindings to the target bucket for all relevant service accounts and user groups.
  4. 4Enable Uniform Bucket-Level Access (UBLA) on the Cloud Storage bucket to disallow ACL checks and enforce IAM policies uniformly.

Answer

The correct operational order is: 1) Audit existing object-level and bucket-level ACLs to identify all access requirements, 2) Map discovered ACL permissions to equivalent Cloud Storage predefined IAM roles, 3) Apply the mapped IAM role bindings to the target bucket, and 4) Enable Uniform Bucket-Level Access (UBLA) on the Cloud Storage bucket.
The migration process requires discovering existing access rules, translating them into IAM role assignments, granting those IAM roles at the bucket level, and finally toggling Uniform Bucket-Level Access. This guarantees zero service interruption while enforcing uniform security governance.

Step-by-Step Solution

1
Inventory current bucket access requirements.
Identified all users, groups, and service accounts currently relying on ACL entries.
Without auditing first, enabling UBLA would immediately break access for principals who rely solely on object-level ACLs.
2
Translate object ACLs into bucket-level predefined IAM roles.
Created a deterministic mapping from legacy ACL permissions to GCP predefined storage roles.
UBLA ignores ACLs entirely, so permissions must be expressed via IAM role bindings.
3
Bind the IAM roles to the bucket's IAM policy.
Principals hold overlapping permissions via both ACLs and IAM roles.
Pre-granting IAM roles guarantees zero downtime or permission denied errors during the UBLA transition.
4
Execute command or update bucket metadata to set uniformBucketLevelAccess.enabled to true.
Bucket ACLs are ignored, and all access requests are evaluated strictly against IAM permissions.
Enabling UBLA finalizes the security posture mandate.

Key Concept

Migrating from Fine-Grained ACLs to Uniform Bucket-Level Access (UBLA)
Rate this question