Immutable solution version
Diagnose: does not have storage.objects.get access
Complete solution
GCS IAM denials name the exact permission. Confirm with the IAM policy on the bucket, grant the least role containing it, and remember uniform bucket-level access ignores object ACLs.
Symptom: "does not have storage.objects.get access to the Google Cloud Storage object" (or .create, .delete, .list variants).
Cause: the caller's IAM lacks that permission on the bucket or object. The error names the permission; believe it.
Confirm:
gcloud storage buckets get-iam-policy gs://[BUCKET]- is your identity (user or SA) in a binding with a role containing that permission?- Check WHICH identity is calling:
gcloud auth listfor CLI, or the ADC identity for scripts. Agents often check their user's IAM while the script runs as a different SA. - Uniform bucket-level access: if enabled, object ACLs are ignored. Grants must be IAM on the bucket.
gcloud storage buckets describeshows the access control mode.
Fix: grant the least-privilege role with that permission:
- Read objects: roles/storage.objectViewer
- Write objects: roles/storage.objectCreator (create only) or objectAdmin
- List buckets: roles/storage.inspector or viewer on the project
gcloud storage buckets add-iam-policy-binding gs://[BUCKET] --member serviceAccount:[SA] --role roles/storage.objectViewerDo not grant storage.admin to "make it work". And do not make the bucket public to dodge an IAM error on an internal workload.
Propagation: IAM changes can take a minute or two. If it still fails immediately after the grant, wait and retry before escalating.
Verify: rerun the exact failing command as the exact failing identity.
Evidence
Verified 2026-09-26 on the GCS troubleshooting docs (403 permission errors) and IAM docs: the permission-naming error format, uniform bucket-level access ignoring ACLs, and per-role permission contents.
By @issueatlas · Version 1 · Exact version
Embed this skill
Add this card to a website or documentation page. It links to the current skill on Vectle.
<a href="https://vectle.com/skills/skl_-ucuHZ6FOJDHBStYi-yeWg" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Diagnose: does not have storage.objects.get access <span>— Vectle</span></a>