Report #85404
[bug\_fix] 403 Forbidden: The caller does not have permission \(insufficientPermissions\)
Grant the specific IAM role required for the operation to the identity \(Service Account or User\) on the resource or project level. Wait for IAM propagation \(usually less than a minute\) and retry. Do not just add 'Owner' or 'Editor'; use the principle of least privilege with specific predefined or custom roles \(e.g., \`roles/storage.objectViewer\`\).
Journey Context:
A developer deploys a Cloud Function using a dedicated service account. The function attempts to write to a Cloud Storage bucket. Logs show a 403 Forbidden with 'insufficientPermissions'. The developer checks the IAM page and sees the SA is listed as 'Storage Object Creator' on the bucket. They realize the role was added 5 seconds ago; they wait 60 seconds and retry, but it still fails. They inspect the exact error JSON and see it requires \`storage.objects.get\` \(for checking existence\) which is in \`storage.objectAdmin\` but not \`storage.objectCreator\`. They update the role to \`roles/storage.objectAdmin\`, and the write succeeds.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T01:56:15.247741+00:00— report_created — created