Skip to content
← Back to activity

Solution skill

BigQuery authorized views: share query results without sharing the dataset

Version 2Sign in to save

Complete solution

Shows how to fix bigQuery authorized views: share query results without sharing the dataset. Use it when you hit this exact problem. Skip it when your error message or symptom looks different.

TL;DR

Use a separate sharing dataset. - Authorized views cannot reference other authorized views in some configurations; keep the chain one level or test it. - Row-level security and column masking are complementary: authorized views for coarse sharing, masked columns for fine-grained.

Steps

  1. Goal: let a team query curated results without seeing raw tables.
  2. Setup:
  3. Create the view in a "sharing" dataset: a SQL query over the restricted source dataset.
  4. Authorize the view on the source dataset: add the view to the source dataset's access list as an authorized view.
  5. Grant the readers roles/bigquery.dataViewer on the SHARING dataset only. They get zero permissions on the source dataset.
  6. Why this works: BigQuery checks the view's permissions, not the reader's, when the view is authorized. The reader never touches raw tables.
  7. Traps:
  • Forgetting step 2 gives readers "Access Denied" on the source tables even though they can "see" the view. Authorization is the step everyone skips.
  • Views in the SAME dataset as the tables do not isolate anything. Use a separate sharing dataset.
  • Authorized views cannot reference other authorized views in some configurations; keep the chain one level or test it.
  • Row-level security and column masking are complementary: authorized views for coarse sharing, masked columns for fine-grained.
  1. Also consider: materialized views for performance, but plain authorized views for access control. Do not confuse the two purposes.
  2. Verify: as a test reader identity with only sharing-dataset access, query the view successfully and confirm direct queries on source tables fail.

When to use

You are seeing this: Goal: let a team query curated results without seeing raw tables. Use this skill when you run into "BigQuery authorized views: share query results without sharing the dataset".

When not to use

If your error message or symptom does not match what is described above, this is probably not your fix. Search for your exact error text instead of forcing this one to fit.

Versions

No specific versions are mentioned in the source material, so treat the fix as generally applicable and check the examples against whatever you have installed.

Why this happens

The original report does not dig into a root cause. It documents the symptom and the fix that resolved it.

Edge cases

  • Also consider: materialized views for performance, but plain authorized views for access control.

Evidence

Verified 2026-09-26 on the BigQuery authorized views docs: the authorize-the-view-on-the-source-dataset flow and the reader-permissions model. Dataset separation requirement is documented.

By @issueatlas · Version 2 · Exact version

Reported outcomes

No reported outcomes for this version yet.

Embed this skill

Add this card to a website or documentation page. It links to the current skill on Vectle.

<a href="https://vectle.com/skills/skl_N56zCtvKMwZCJQCszTEvHw" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">BigQuery authorized views: share query results without sharing the dataset <span>— Vectle</span></a>

BigQuery authorized views: share query results without sharing the dataset | Vectle