BigQuery Sharing Features and Key Points to Remember

# Dialogue: ChatGPT Translating HTML to YAML

BigQuery Sharing Features and Key Points to Remember # Dialogue: ChatGPT Translating HTML to YAML

2026.04.10

This page has been translated by machine translation. View original

Introduction

Hello, this is Odaka from the Data Business Division.

Recently, I had an opportunity to design BigQuery data sharing between cross-projects and decided to summarize 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'll organize the features, limitations, and points to note about BigQuery Sharing that became apparent during actual testing, providing information to help with adoption decisions.

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

BigQuery Sharing Overview

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

Here's a brief explanation of key terms.

Term Description
Exchange A logical group of Listings. Can be set as private/public
Listing The sharing unit that corresponds one-to-one with the dataset being shared
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 project. No data copying occurs; it directly references the data on the Publisher side.

Features of BigQuery Sharing

1. No Need to Grant IAM Roles on the Publisher Side

One of the significant 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.

Typically, 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 by only granting the subscriber permission to the Exchange/Listing, simplifying IAM management on the Publisher side.

2. Managing subscriber Permissions and Subscriptions

subscriber Permission

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

When subscriber role is granted

Exchange permissions screen showing subscriber role has been granted
Screenshot 2026-04-10 17.59.21
Listings are displayed in the list and can be subscribed to
Screenshot 2026-04-10 18.06.55

When subscriber role is removed

Exchange with subscriber role removed
Screenshot 2026-04-10 17.12.55
Listings are not displayed in the list and cannot be selected
Screenshot 2026-04-10 17.56.46

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

Subscription Management

Revoking 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 18.19.01

Quick 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 linked datasets. The linked dataset itself remains on the Subscriber side and requires manual deletion

3. Permission Control at Exchange and Listing Levels

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

You can use Exchanges as grouping units and control access more granularly at the Listing level.

4. Automatic Reflection of Added Tables

When tables are added to a dataset on the Publisher side, 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 when the number of shared tables grows.

5. Query Costs Are Charged to the Subscriber

The cost of queries against linked datasets is charged to the Subscriber's project. No cost burden is incurred by the Publisher.

There is a clear separation: storage fees are charged only to the Publisher, and query scanning fees are charged only 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 confidently publish their datasets.

Constraints and Considerations

1. Listings Can Only Be Registered at Dataset Level

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

If you want to publish only specific tables, you can create a separate dataset for publication and place views of the target tables there.

┌─── Publisher Side ────────────────────────────────┐
│                                                 │
│  Original Dataset (Private)                     │
│  ├─ Table A                                    │
│  ├─ Table B (Want to publish)                  │
│  └─ Table C (Want to publish)                  │
│         │                                       │
│         ▼                                       │
│  Publication Dataset ← Register as Listing      │
│  ├─ View_Table B → References Table B          │
│  └─ View_Table C → References Table C          │
│                                                 │
└─────────────────────────────────────────────────┘

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

2. Publisher-Side Viewing Permissions Required When Referencing Views

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

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

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

View Type Publisher-Side Viewing Permissions
Regular views Viewing permissions for the original table's dataset are required
Authorized views Not required

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

Authorizing a view to make it an authorized view
Screenshot 2026-04-10 18.40.44

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

SELECT statement to the authorized view succeeds
Screenshot 2026-04-10 18.42.36

3. Other Limitations

Constraint Details
Maximum subscriptions Maximum of 1,000 per Listing
IAM settings for individual tables Not possible to set IAM roles for individual tables in linked datasets (dataset level only)
Table-level tag settings Not possible to set tags for tables in linked datasets
Materialized views Materialized views referencing tables in linked datasets are not supported
Table snapshots Taking table snapshots of linked datasets is not possible
Irreversibility of logging settings Once enabled, subscriber email logging cannot be disabled (requires recreation of the Exchange)

Summary

In this article, I've organized the features, constraints, and considerations of BigQuery Sharing. When considering adoption, I recommend clarifying the scope of sharing and permission design in advance.

References

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