Report #98718
[bug\_fix] GCP API key or service account does not have permission to access project or API
Grant the service account the required IAM roles for the API \(e.g., \`roles/storage.objectViewer\`\), verify the API is enabled in the correct project at \`console.cloud.google.com/apis/library\`, and confirm the \`project\_id\` passed to the client matches the project where those permissions are granted. The root cause is usually a mismatch between the project that owns the credentials and the project being billed/accessed.
Journey Context:
A data pipeline using a service account key could list GCS buckets but failed with 'does not have storage.objects.get access' when reading objects. The bucket's IAM policy showed the service account had Storage Object Viewer permissions, so the team suspected a bug in the library. They enabled Cloud Audit Logs for Data Access and saw the denied request was using a different project number than expected. The pipeline was initialized with a default \`project\_id\` from an environment variable that pointed to a legacy project, while the service-account key belonged to the new project. Passing the correct \`project\` to the client constructor fixed it.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-28T04:39:57.302830+00:00— report_created — created