BigQuery Sharing Features and Key Points to Remember

BigQuery Sharing Features and Key Points to Remember

2026.04.10

This page has been translated by machine translation. View original

Introduction

Hello, this is Kodaka from the Data Business Division.

Recently, I had the opportunity to consider the design for BigQuery data sharing across projects, so I compiled information about BigQuery Sharing (formerly known as: Analytics Hub).

The basic usage of BigQuery Sharing is introduced in a hands-on format in the article below. In this blog, I will organize the characteristics and constraints/points to note about BigQuery Sharing that emerged during actual testing, providing information that can serve as a reference for adoption decisions.

https://dev.classmethod.jp/articles/bigquery-analytics-hub/

Overview of BigQuery Sharing

BigQuery Sharing is a service that allows you to share BigQuery datasets within and outside your organization.

Screenshot 2026-04-10 16.36.44

Source: Introduction to BigQuery sharing | Google Cloud

Let me briefly organize the key terminology.

Term Description
Exchange A logical group that bundles Listings. Can be set as private/public
Listing A sharing unit that corresponds one-to-one with a shared dataset
Linked dataset A read-only dataset created in the Subscriber's project when they subscribe
Publisher The party providing the data
Subscriber The party receiving the data

The basic flow is that the Publisher registers and publishes Listings in an Exchange, and when a Subscriber subscribes, a linked dataset is automatically created in their own project. Data is not copied but directly referenced from the Publisher's side.

Characteristics of BigQuery Sharing

1. No need to grant IAM roles to the Publisher's side

One of the major features of BigQuery Sharing is that there is no need to grant BigQuery IAM roles on the Publisher's project to users on the Subscriber side.

Normally, when referencing BigQuery data across projects, you need to grant some IAM role (such as bigquery.dataViewer) to the source project. With BigQuery Sharing, sharing is completed simply by granting the subscriber permission on the Exchange/Listing, making IAM management on the Publisher side simpler.

2. Management of subscriber permissions and subscriptions

subscriber permissions

The subscriber permission for Exchange/Listing controls the ability to subscribe.

When subscriber role is granted

State where the subscriber role is granted on the Exchange permissions screen
Screenshot 2026-04-10 23.46.53
Listings are displayed in the list and subscribable
Screenshot 2026-04-10 18.06.55

When subscriber role is removed

State where the subscriber role is removed from the Exchange
Screenshot 2026-04-10 17.12.55
Screen where Listings are not displayed in the list and cannot be selected
Screenshot 2026-04-10 17.56.46

Without permission, not only can't you subscribe, but the Listing itself becomes invisible, preventing unintended exposure of information.

Subscription management

Revoking the subscriber permission prevents new subscriptions but does not stop access to already subscribed linked datasets. To stop existing access, you need to revoke the subscription from the "Subscriptions" tab in the Exchange.

Screen for revoking subscriptions from the Exchange's "Subscriptions" tab
Screenshot 2026-04-10 23.45.51

Summary

Action Effect
Revoking subscriber permission Stops new subscriptions and discovery of Listings. Access to existing linked datasets continues
Revoking subscription Stops data access to the linked dataset. The linked dataset itself remains on the Subscriber side and must be manually deleted

3. Permission control at Exchange/Listing level

The subscriber permission can be granted at both Exchange and Listing levels.

Grant level Behavior
Exchange level Allows subscription to all Listings under that Exchange
Listing level Allows subscription to specific Listings only

This allows you to use Exchanges as grouping units and control access more finely at the Listing level.

4. Automatic reflection of added tables

When tables are added to the Publisher's dataset, they are automatically reflected in the linked dataset. The same applies to schema changes and data updates.

No follow-up work is required on the Subscriber side, so there is no increase in operational load even if the number of shared tables increases.

5. Query costs are charged to the Subscriber

The cost of queries against linked datasets is charged to the Subscriber's project. There is no cost burden on the Publisher side.

There is a clear separation where storage fees are only charged to the Publisher, and query scan fees are only charged to the Subscriber.

6. Linked datasets are read-only

INSERT/UPDATE/DELETE operations on linked datasets will result in errors. There is no risk of unintended data changes, allowing data providers to publish datasets with confidence.

Constraints and points to note

1. Listing registration granularity is dataset-level only

Listings can only be registered at the dataset level. It is not possible to register and publish only specific tables or views in a Listing.

If you want to publish only specific tables, you can address this by creating a separate dataset for publication and placing views of the target tables there.

┌─── Publisher side ────────────────────────────────┐
│                                                   │
│  Original dataset (private)                       │
│  ├─ Table A                                       │
│  ├─ Table B (to be published)                     │
│  └─ Table C (to be published)                     │
│         │                                         │
│         ▼                                         │
│  Publication dataset ← Registered in Listing      │
│  ├─ View_Table B → References Table B             │
│  └─ View_Table C → References Table C             │
│                                                   │
└───────────────────────────────────────────────────┘

However, this view-based approach has caveats explained in the next section.

2. Publisher-side viewing permissions needed for view references

While tables in linked datasets can be referenced with Subscriber-side permissions only, views require Publisher-side viewing permissions for the source table's dataset.

This means that with the "place views in a publication dataset" approach mentioned earlier, you would need to grant Publisher-side viewing permissions to users on the Subscriber side. This undermines the benefit of "no need for Publisher-side IAM grants" offered by BigQuery Sharing.

This problem can be avoided by using authorized views. With authorized views, the view itself holds data access permissions, eliminating the need to grant Publisher-side viewing permissions to Subscriber-side users.

View type Publisher-side viewing permission
Regular view Viewing permission for the source table's dataset is required
Authorized view Not required

When using authorized views, you don't need to create a separate publication dataset; you can place authorized views in the original dataset and register it in a Listing.

Making a view authorized
Screenshot 2026-04-10 18.40.44

Confirming that the view exists in the linked dataset
Screenshot 2026-04-10 18.45.57

Successful SELECT statement on the authorized view
Screenshot 2026-04-10 18.42.36

3. Other limitations

Constraint Details
Maximum number of subscriptions Maximum 1,000 per Listing
IAM settings for individual tables IAM role settings for individual tables in linked datasets are not possible (dataset level only)
Table-level tag settings Tag settings for tables in linked datasets are not possible
Materialized views Materialized views referencing tables in linked datasets are not supported
Table snapshots Taking snapshots of tables in linked datasets is not possible
Irreversibility of logging settings Once enabled, subscriber email logging cannot be disabled (Exchange must be recreated)

Summary

In this article, I organized the characteristics and constraints/points to note about BigQuery Sharing. When considering adoption, I recommend organizing the granularity of sharing targets and permission design in advance.

Reference materials

https://cloud.google.com/bigquery/docs/analytics-hub-introduction
https://cloud.google.com/bigquery/docs/analytics-hub-manage-exchanges
https://cloud.google.com/bigquery/docs/analytics-hub-manage-subscriptions
https://cloud.google.com/bigquery/docs/authorized-views

Share this article