BigQuery: Access Denied: Project: User does not have bigquery.jobs.create permission Google Cloud / Firebase Origin: Platform & cloud OSI layer 7 · Application Last updated 4 Nov 2026

BigQuery: Access Denied: Project my-project: User does not have bigquery.jobs.create permission in project my-project

The principal can read data but is not allowed to run query jobs in the project used for billing.

Exact message you may see Access Denied: Project: User does not have bigquery.jobs.create permission in projectUser does not have bigquery.jobs.create permissionAccess Denied: Table: User does not have permission to query tableAccess Denied: Dataset: Permission bigquery.datasets.get deniedBigQuery: Access Denied
Seen on: Google Cloud SQL

Meaning

Query jobs run in a project (the billing/job project), separate from the data project. Grant roles/bigquery.jobUser on the job project, plus roles/bigquery.dataViewer on the datasets. Set the correct project in your client (client = bigquery.Client(project=...)).

Common causes

  • Missing bigquery.jobUser role
  • Client using the data project as job project without rights
  • Service account lacking dataViewer on the dataset
  • Wrong default project in gcloud/bq
  • VPC Service Controls blocking

⚡ Quick fix

  1. Grant roles/bigquery.jobUser in the job project
  2. Grant roles/bigquery.dataViewer on the dataset
  3. Specify --project_id for bq or the client

Detailed fix by platform

bq

  1. gcloud projects add-iam-policy-binding PROJECT --member=user:you@example.com --role=roles/bigquery.jobUser

How to diagnose

  1. Job project — Which one?
  2. Roles — jobUser and dataViewer?
  3. Client — Project set?

🔧 Still not fixed?

Many errors look alike. If the steps above didn’t solve it, one of these is probably what you’re facing:

Where this error sits

Origin: Platform & cloud. Errors that are often confused with or caused by this one (click to open):

403: does not have storage.objects.get access — Cloud Storage: 403 Forbidden — user@example.com does not have storage.objects.get access to the Google Cloud Storage object (Google Cloud / Firebase)403: does not have st…409: The resource already exists — Compute Engine: ERROR: (gcloud.compute.instances.create) Could not fetch resource: The resource 'projects/p/zones/z/instances/vm-1' already exists (Google Cloud / Firebase)409: The resource alr…502 Bad Gateway: failed_to_connect_to_backend — Google Cloud Load Balancing: 502 Bad Gateway — jsonPayload.statusDetails: failed_to_connect_to_backend / backend_connection_closed_before_data_sent_to_client (Google Cloud / Firebase)502 Bad Gateway: fail…API has not been used in project before or it is disabled — Google Cloud: 403 SERVICE_DISABLED — Cloud Resource Manager API has not been used in project 123456 before or it is disabled. Enable it by visiting (Google Cloud / Firebase)API has not been used…Artifact Registry: Permission artifactregistry.repositories.uploadArtifacts denied — Docker push: denied: Permission "artifactregistry.repositories.uploadArtifacts" denied on resource "projects/p/locations/l/repositories/r" (Google Cloud / Firebase)Artifact Registry: Pe…BigQuery: Not found: Dataset was not found in location — BigQuery: Not found: Dataset my-project:analytics was not found in location EU (Google Cloud / Firebase)BigQuery: Not found: …BigQuery: Quota exceeded: Your project exceeded quota for free query bytes scanned — BigQuery: Quota exceeded: Your project exceeded quota for free query bytes scanned. Consider enabling billing (Google Cloud / Firebase)BigQuery: Quota excee…BigQuery: Unrecognized name — BigQuery: Syntax error / Unrecognized name: customer_id at [3:8] (Did you mean customerId?) (Google Cloud / Firebase)BigQuery: Unrecognize…BigQuery:…

Explore the map of this error Full error map →

🧠 Still stuck? Analyze your error

Paste the full message, response headers or stack trace — we'll detect the platform and point to the most likely cause.

💬 What worked for others

No tips yet — did something else fix this for you?

Share what worked for you

Tips are checked by an editor before they appear. Links are removed.