MetricSign
EN|NLRequest Access
High severitydbt

Power BI Refresh Error:
Database Error: Access Denied: BigQuery

What does this error mean?

dbt received 'Access Denied' from BigQuery — the service account lacks permissions to read from a source table, write to a destination dataset, or execute a query.

Common causes

  • 1The dbt service account lacks BigQuery Data Editor role on the target dataset
  • 2The service account has project-level permissions but the specific dataset has a stricter access policy that overrides them
  • 3A new BigQuery dataset was created without granting the dbt service account access
  • 4The dbt profile is using a personal user credential that has less access than the service account should have
  • 5Cross-project references — a model queries a table in a different GCP project and the service account isn't granted access there

How to fix it

  1. 1Check the exact error message for the project, dataset, and table that access was denied to.
  2. 2In the GCP IAM console, verify that the dbt service account has at minimum BigQuery Data Editor on the target dataset and BigQuery Job User on the project.
  3. 3For dataset-level access, check the dataset's Access Controls in BigQuery (not project-level IAM) and add the service account if missing.
  4. 4For cross-project access, grant the dbt service account the necessary roles in the source project.
  5. 5Run `bq show --format=prettyjson <project>:<dataset>` to inspect dataset-level ACLs.
  6. 6Verify the dbt profile is using the correct service account JSON key file or workload identity.

Frequently asked questions

Why do project-level BigQuery roles not give access to a specific dataset?

BigQuery supports dataset-level ACLs that can be more restrictive than project-level IAM. Check both the project IAM policy and the dataset's Access settings in the BigQuery console.

Official documentation: dbt-docs

Other dbt errors