A DevOps engineer manages a Cloud Storage bucket named `analytics-central-logs-prod` that has Uniform Bucket-Level Access (UBLA) enforced across the enterprise. A third-party security auditing application running on a Compute Engine instance uses a dedicated service account. The application requires read access strictly to log files located under the `application-a/` object prefix path (`gs://analytics-central-logs-prod/application-a/*`), but must be denied access to all other object prefixes inside the bucket. A team member proposes running a command to set fine-grained Access Control Lists (ACLs) on the object prefix, but the command fails with a 400 Bad Request error due to UBLA. Which configuration approach correctly grants the required scoped access while maintaining compliance with UBLA?
- Grant the Storage Object Viewer (`roles/storage.objectViewer`) role to the service account at the bucket level, conditioned with an IAM Condition that checks `resource.name.startsWith("projects/_/buckets/analytics-central-logs-prod/objects/application-a/")`.Cevap
- BTemporarily disable Uniform Bucket-Level Access on `analytics-central-logs-prod`, run `gcloud storage objects add-acl` to grant Reader permissions to the service account on the `application-a/` prefix, and re-enable Uniform Bucket-Level Access.
- CGrant the primitive Viewer (`roles/viewer`) role to the service account at the GCP project level, and rely on Cloud IAM implicit prefix filtering to isolate `application-a/` bucket objects.
- DGrant the Storage Object Viewer (`roles/storage.objectViewer`) role to the service account at the bucket level, and apply an explicit IAM Deny policy on the bucket for all resource names that do not match the `application-a/` prefix.