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
- 1Check the exact error message for the project, dataset, and table that access was denied to.
- 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.
- 3For dataset-level access, check the dataset's Access Controls in BigQuery (not project-level IAM) and add the service account if missing.
- 4For cross-project access, grant the dbt service account the necessary roles in the source project.
- 5Run `bq show --format=prettyjson <project>:<dataset>` to inspect dataset-level ACLs.
- 6Verify the dbt profile is using the correct service account JSON key file or workload identity.
Frequently asked questions
Official documentation: dbt-docs